shared/phase-discipline
Phase discipline
Section titled “Phase discipline”Phases are the unit of progress. Acceptance-gated; closed only when their
gates pass. This file codifies the rules that the phase prompts
(01-phase-open, 02-phase-close, 03-verification-round) operationalise.
1. Acceptance gates close phases. Nothing else does.
Section titled “1. Acceptance gates close phases. Nothing else does.”A phase is closed when its declared acceptance gate (in MILESTONES.md)
passes — every claim has evidence in docs/verification/ and a paired
decision doc in docs/decisions/YYYY-MM-DD-phase-{N}-close.md. A phase
is not closed by elapsed time, vibes, or external pressure.
2. The verification round is mandatory at phase close (MR-10).
Section titled “2. The verification round is mandatory at phase close (MR-10).”Even smooth phases run one. The point of the round isn’t to find problems; the point is to surface what’s been collected without flinching from it. A phase whose verification round was skipped is open regardless of what its decision doc says.
3. Friction surfaced in phase N’s verification round becomes phase
Section titled “3. Friction surfaced in phase N’s verification round becomes phase”N+1’s input. Never a retrofit.
This is the rule the source project paid the most to discover. Mechanical now:
- closed — only for trivial follow-ups (typo, broken link, single- line bug). Closes inside the same round.
- in-budget — the friction is small enough to land in phase N’s remaining budget without re-opening it. Documented in the round’s decision doc, executed before the close-out doc.
- deferred — anything bigger. Goes into
MILESTONES.mdas a phase N+1 milestone (M{N+1}.x.y). Never asM{N}.xextension.
The temptation to “just patch this in phase N because we’re already here” is exactly the drift this rule prevents. Resist it.
4. Closed phases are not retrofitted.
Section titled “4. Closed phases are not retrofitted.”Once a phase-N-close decision doc is signed off, phase N’s content is
frozen. New work that bears on phase N’s surface area opens a new
decision doc and proceeds in phase N+1 (or later). The original decision
doc stays accurate as a snapshot of what was true at close.
5. Phase IDs are sequential. Subphases are dotted.
Section titled “5. Phase IDs are sequential. Subphases are dotted.”Phase 6 precedes Phase 7. Within a phase, milestones are
M{N}.{n}.{m} (e.g. M3.2.1). Cross-phase references use the full
milestone ID. Never reuse an ID, even for cancelled work.
Sign-off
Section titled “Sign-off”Every phase-close decision doc has a sign-off block. The block is the
gate, not a formality. Subagents draft; humans countersign. A phase-
close doc without human countersign is open, not closed.