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 socketpam(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)axum0.8 (web framework)sqlx0.8 (PostgreSQL library)clap4.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.