1.3 KiB
1.3 KiB
AGENTS.md
Read first
- Read
PRD.md,CONTEXT.md, and applicable ADRs before changing behavior. - Keep the Rust harness synchronous and the Ghidra worker capability-sandboxed.
- Treat JSON schemas, error codes, ordering, and exit statuses as public API.
Change rules
- Add a regression test for every bug fix.
- Never change golden files or schemas implicitly.
- Keep the Rust operation registry, Java dispatch, schemas, and goldens in exact parity.
- Preserve strict stdout/stderr framing.
- Preserve the worker's no-network and no-default-data-egress boundary.
- Do not add
unsafe, an async runtime, database, daemon, or dependency without an accepted design change. - Do not weaken bounds, validation, sandboxing, or atomic store behavior.
Required checks
cargo fmt --checkcargo clippy --all-targets --all-features -- -D warningscargo test --all-targetscargo deny checknix flake check
Source control
- Use Jujutsu for normal local change management.
- Use
jj status,jj diff,jj log,jj describe, andjj new. - Push Forgejo bookmarks through
jj git push. - Keep changes focused and preserve unrelated user work.
- Use direct Git commands only for interop or recovery that Jujutsu cannot perform.
- Never run
git clean -xdf; it can delete colocated.jj/metadata.