Edict treats tests and fixtures as contract evidence. Before changing behavior, public APIs, schemas, release workflow, validation rules, compiler stages, or other durable project contracts, read the testing workflow topic:
Documentation changes follow the same contract-oriented model. Before adding or rewriting docs, read the documentation workflow topic:
Rust changes must preserve the project safety and determinism contract. Before changing public Rust APIs, validation behavior, compiler paths, dependencies, or generated artifacts, read:
Release-prep work follows the repo-local release process, not a generic tag flow. Before preparing a release branch, read:
Pull request review follows the repo-local review-bot fallback policy:
The short rule is RED/GREEN:
- Add or update the relevant topic-shelf
test-plan.mdfirst. - Write the deterministic test or fixture that describes the intended contract.
- Run the narrowest command and observe it fail.
- Implement the smallest coherent change that makes the test pass.
- Run the narrow test again, then
cargo xtask verifybefore claiming the branch is ready.
The short documentation rule is reader-task first:
- Decide whether the page is a tutorial, how-to, reference, explanation, troubleshooting guide, or contributor guide.
- Keep that primary job intact instead of making one page serve every reader.
- Use runnable, illustrative, or abridged examples honestly and label the difference when it matters.
- Update affected docs with behavior changes, or state
docs-impact: nonewith a concise rationale.
Pull request bodies for issue work must include GitHub auto-close text such as
Closes #123 for every issue the PR is intended to close.
The local verification gate is:
cargo xtask verify