These rules are guardrails: they are not "advice"; they are operating conditions.
"Should compile" is not accepted. The AI MUST run the compiler and fix until green. Closing a task without execution evidence is prohibited.
- Brief specification (inputs/outputs, invariants, edge cases).
- Incremental implementation (small steps).
./tools/verify.sh(or--fastduring iteration).- Record new patterns in
ERROR_PATTERNS.md.
Clippy with warnings as errors. fmt validated with --check.
No unsafe without justification + test. Avoid unwrap()/expect() in production.
Avoid direct indexing if there is risk of out-of-range.
Changes in conventions and exceptions are recorded in DECISIONS.md / EXCEPTIONS.md.
Skills are "operation modules" to reduce ambiguity:
rust-compile-loop: incremental implementation + how to use the compiler.rust-error-triage: systematic diagnosis of rustc/clippy errors.rust-refactor-safely: test-guided refactors.rust-kata-coach: training withtraining/kata_suite.
Principle: the AI does not improvise the process; it selects a Skill and executes its checklist.
Workflows = active sequences:
/verify: executes verification and produces a report./kata: picks an exercise, runs tests, and evaluates./log-decision: adds an entry inDECISIONS.md.
CI must call ./tools/verify.sh. Merge is blocked if it fails.
Bypass is allowed only if:
- it is documented with reason, scope, expiry, and human approver.
- it does not break CI (or CI is explicitly adjusted with a recorded decision).