Appendix E · Checklists¶
← Appendix D Worked example · Contents · Next: Appendix G References →
Every exit check in the book, collected for quick use. Print this page.
Each list is the one from its chapter — 03 Direction, 04 Build, 05 Verify, 06 The loop. Where a line is something the engine refuses, it says so; everything else is discipline the engine cannot see for you.
Setup (once per project)¶
- [ ] The pipeline runs and is green on the empty skeleton.
- [ ]
add inithas run;.add/holds the five living specs andadd statusanswers. - [ ] The model behind the work is recorded.
- [ ]
sensitive_paths:in.add/index.mdnames the paths that must floor to a human. - [ ] At least one persona is seeded for the domain, so a sensitive task has a lens to route to.
Direction¶
- [ ] Every required behavior is a Must; every rejection is a named error code; the success state-change is stated.
- [ ] The assumptions are ordered lowest-confidence first, with the one
⚠flag carrying why + cost — or, for trivial scope, an honest "none material" that still names the single biggest risk. - [ ] "Existing behavior" assumptions carry grep/line citations; wiring claims name the production caller chain.
- [ ] The contract shape is authored into
gives:, versioned in intent, and every rejection has a contracted response. - [ ]
scope:lists the files or directories the build may touch. - [ ] There is one check per Must, per Reject, and per behavior-changing edge — each with a
covers:referent. (Engine: an uncovered rule or edge blocks the gate.) - [ ] The suite (or the acceptance list) runs in the pipeline and is red for the right reason — no lying reds; an unimplemented path fails because it is unimplemented.
- [ ] Checks assert observable behavior, not internals.
- [ ] Collateral checks for globally-enumerated things are listed by exact name.
- [ ] Arithmetic is checked: fixtures can actually reach green against the frozen constants.
- [ ] A person froze the node. (This is the single human decision that opens Build.)
Build¶
- [ ] Every red check is now green.
- [ ] No check and no frozen contract was modified by the AI.
- [ ] Every edit stayed inside the node's
scope:. - [ ] The change is small enough to review in full.
Verify¶
- [ ] The receipt is fresh (every in-
scope:file unchanged since the run) and bound (every check the rulescovers:passed). (Engine: no receipt, a stale receipt, or a receipt whose exit code is non-zero is refused.) - [ ] No check or frozen contract was altered during the build.
- [ ] Concurrency/timing of the risky operation is safe.
- [ ] No exposed secrets, injection openings, or unexpected dependencies.
- [ ] Layering and dependency boundaries are respected.
- [ ] Deep check: for code, every new symbol is referenced (wiring) and no new dead code was introduced; for prose, a semantic read is recorded.
- [ ] A security finding was escalated, not waved through. (Engine: a security-floored node cannot record
RISK-ACCEPTED, and itsPASSneeds a named lens.) - [ ] Exactly one outcome is recorded —
PASS/RISK-ACCEPTED/HARD-STOP— with an accountable owner.
The loop¶
- [ ] Released behind a flag or gradual rollout.
- [ ] Checks reused as production monitors.
- [ ] What was learned is recorded with
add learn, against evidence. - [ ] Confirmed lessons are folded into the living specs (
add fold). - [ ] The milestone stays open until its exit criteria are met; anything reopened went back through the loop, not around it.
Master shippable checklist¶
A change is shippable only when all are true:
- [ ] Direction complete: behavior stated, rejections named, assumptions ranked lowest-confidence first with the biggest risk flagged.
- [ ] Wiring and "existing behavior" assumptions carry grep/line citations; wiring claims name the production caller chain.
- [ ] Every rule and every behavior-changing edge has a check bound to it by
covers:. - [ ] The contract shape is authored and the node was frozen by a person.
- [ ] The suite was red before the build, for the right reason.
- [ ] Collateral checks listed by exact name; arithmetic checked against the frozen constants.
- [ ] All checks green; no check and no frozen contract touched by the AI; every edit inside
scope:. - [ ] The receipt is fresh and bound — the gate is reading evidence, not a plausible diff.
- [ ] Wiring trace recorded: every new symbol reachable from the production entry point.
- [ ] Concurrency, security, and architecture checked by a person; any security finding escalated.
- [ ] Gate outcome recorded with an accountable owner.
- [ ] Released behind a flag, with monitors in place.