Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Domain Rules

Project scope and domain-specific rules (including safety boundaries) for the project-agent-manager (pam) repository.

Project Scope

  • pam (project-agent-manager): Hierarchical project/task management plus AI task orchestration that drives subscription LLM CLIs (claude/codex/grok/gemini) inside long-lived tmux sessions on the dedicated socket pam (one tmux server per worker host), observable from a web dashboard.
  • Multi-host topology (ADR-012): A central orchestrator (pam serve — axum REST + embedded SPA, PostgreSQL as the single source of truth) dispatches runs to per-host workers (pam worker, outbound-only connections, no DB credentials). Single-machine deployment = running serve + worker on one host.
  • Worker Host Targets: macOS (primary) and Linux (secondary) — Windows and mobile are out of scope (ADR-011/ADR-012 in docs/003-architecture-decisions.md).
  • Tech Stack:
    • Rust 2024 edition
    • tokio (asynchronous runtime)
    • axum 0.8 (web framework)
    • sqlx 0.8 (PostgreSQL library)
    • clap 4.5 (CLI parser)
    • rust-embed (embedding asset in binary)
  • Canonical Architecture Index: docs/README.md.

tmux Safety

  • Dedicated Socket Constraint: Only ever talk to the dedicated socket: tmux -L pam ....
  • Destructive Command Ban: NEVER run kill-server (or any other destructive commands) on the default socket.
  • Session Naming: Only sessions whose names match ^pam-[0-9a-f]{8}$ may be managed.
  • Protocol Independence: Pane text is display-only — never parse pane output as a protocol.