docs: define v0.1 product and architecture contract
This commit is contained in:
parent
57597e7d6d
commit
c4fb0c6a01
12 changed files with 2130 additions and 64 deletions
38
AGENTS.md
Normal file
38
AGENTS.md
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
# 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 --check`
|
||||
- `cargo clippy --all-targets --all-features -- -D warnings`
|
||||
- `cargo test --all-targets`
|
||||
- `cargo deny check`
|
||||
- `nix flake check`
|
||||
|
||||
## Source control
|
||||
|
||||
- Use Jujutsu for normal local change management.
|
||||
- Use `jj status`, `jj diff`, `jj log`, `jj describe`, and `jj 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.
|
||||
Loading…
Add table
Add a link
Reference in a new issue