- What the project is and promises, and the crate layout: README.md
- Disclosure policy — read before anything ships: PUBLIC_DEVELOPMENT.md
- Issue, branch, commit and PR conventions: CONTRIBUTING.md
- Security reports: SECURITY.md
- Documentation lives in RustDoc only (
cargo doc), with nodocs/directory: concepts, design, flow diagrams, configuration and file formats, command usage and known limits are in the crate and module docs. Code documentation outranks stale issue text. CONTRIBUTING.md says what goes where. - Layers:
retarget-coreholdsdomain(pure) andapp(use cases and ports) and has no I/O dependency; the adapters arecrates/retarget/src/infra.arch-lint.tomlandcrates/retarget-core/tests/dependencies.rsenforce it. A new adapter, store or harness goes in the umbrella crate, never in the core. - A verdict is decided by the cost per successful session within one task
class, against a threshold fixed before the change. Token counts and cache
rates
31D3
explain a verdict and never decide it. The crate doc of
retarget_core::domainhas the reasoning. - An adapter writes only the harness's project-scoped settings. The user's own settings, permissions and credentials are shown to the user, never written.
- Telemetry captured from a real session carries account and session identifiers. Anonymise it before it becomes a test fixture (PUBLIC_DEVELOPMENT.md).
- Never work on
main; one branch per issue, cut fromorigin/mainafter a fetch.just worktree-new <type> <slug>from the main checkout does that and runsjust branch-check. just checkis green. CONTRIBUTING.md says what it covers.- Review a change locally before it goes up — by a person or an AI agent — and say in the PR body who or what reviewed it. CONTRIBUTING.md lists the questions a review answers.