1.9 KiB
1.9 KiB
pmacs agent instructions
Start here: read docs/agent-handoff.md, then
docs/active-work.md, before taking on any work. The handoff carries
durable project state, working method, substrate invariants, and the
standing backlog. The active-work ledger carries volatile branches,
checkpoints, verification, and exact cross-machine recovery commands.
Keep both updated according to their own update protocols.
Always true, independent of the handoff:
- Rust core + Lua runtime (
builtin/runtime/*.lua), TUI + GPU (pmacs-gpu) frontends over a versioned semantic protocol (pmacs-protocol).#![forbid(unsafe_code)]. - Workflow: framing doc in
docs/-> user approval -> branch -> implement -> full gate suite -> PR -> user review rounds -> user says when to merge. Never merge unprompted. One feature, one branch, one PR. - Gates before any PR:
cargo fmt --check;cargo clippy --workspace --all-targets -- -D warnings(as its own step);cargo test --lib;cargo test --lib --features crdt; the touched acceptance suites;cargo test --test m4_acceptance -- --skip basedpyright;PMACS_REQUIRE_GPU=1 cargo test -p pmacs-gpu;git diff --check. - The checkout may be shared with the user: check
git statusfor foreign uncommitted work before stash, checkout, or branch operations, and never delete untracked files you did not create. - The canonical development URL is
https://github.com/levineuwirth/pmacs.git; recovery docs normalize it to the local aliasgithubsucks. Remote names such asoriginare machine-local and carry no authority by themselves. Bootstrap/verify the alias viadocs/active-work.mdbefore basing new work. - Work is portable only after it is committed and pushed. Uncommitted
worktree changes, untracked files, and
/tmpdependencies do not travel to another machine. - Write commit messages with
git commit -F <file>. Never usegit add ..