Checklists
requirements.md
Specification Quality Checklist: Fix charter preflight blocking next on a fresh checkout
Purpose: Validate specification completeness and quality before proceeding to planning Created: 2026-10-18 Mission: spec.md
Content Quality
- ✅ No implementation details (languages, frameworks, APIs) — surfaces named only as grounding context, requirements stay behavioural
- ✅ Focused on user value and business needs (golden-path operator unblocked; release blocker)
- ✅ Written for non-technical stakeholders (user stories in plain language; mechanism isolated to the Context section)
- ✅ All mandatory sections completed
Requirement Completeness
- ✅ No [NEEDS CLARIFICATION] markers remain (both Decision Moments resolved)
- ✅ Requirements are testable and unambiguous
- ✅ Requirement types are separated (Functional / Non-Functional / Constraints)
- ✅ IDs are unique across FR-###, NFR-###, C-### and SC-### entries, and match the requirement-ID grammar
- ✅ All requirement rows include a non-empty Status value
- ✅ Non-functional requirements include measurable thresholds (< 300 ms warm, < 1 s heal; idempotent/convergent)
- ✅ Every FR row and success criterion carries a delivery label and no-op mark
- ✅ Success criteria are measurable
- ✅ Success criteria are technology-agnostic
- ✅ All acceptance scenarios are defined
- ✅ Edge cases are identified
- ✅ Scope is clearly bounded (Out of Scope section)
- ✅ Dependencies and assumptions identified (Assumptions section)
Mission Readiness
- ✅ All functional requirements have clear acceptance criteria
- ✅ User scenarios cover primary flows (golden-path operator, doctrine author, maintainer)
- ✅ Mission meets measurable outcomes defined in Success Criteria
- ✅ No implementation details leak into specification requirements
Notes
must prove the probe can observe a genuine block, and the "never silently healed" row is proven against a genuinely-inconsistent fixture.
committed-data re-stamp settled yes (DM 01M56P2ZKF2JAZV1GY7K4ZNM27).
- FR-007 and FR-003 are explicitly paired with same-fixture positive controls (non-vacuity): the twin
- The (a) write-side parity vs (b) auto-heal decision is settled as both (DM 01M56P2XQJVJB43TQBGQGCTY9D);