Checklists
requirements.md
Specification Quality Checklist: Mission lifecycle, dispatch & DRG closeout
Purpose: Validate specification completeness and quality before proceeding to planning Created: 2026-06-13 Mission: spec.md
Content Quality
- ✅ No implementation details (languages, frameworks, APIs) — spec states WHAT (dispatch mechanism, lifecycle surface, curation) not HOW
- ✅ Focused on user/maintainer value and ticket closure
- ✅ Written for stakeholders (ties each workstream to a closeable ticket)
- ✅ All mandatory sections completed
Requirement Completeness
- ✅ No [NEEDS CLARIFICATION] markers remain (3 scope decisions resolved in discovery: #1802 deliver, #1810 implement, #1863 fix-stale+document)
- ✅ Requirements are testable and unambiguous
- ✅ Requirement types are separated (FR / NFR / C)
- ✅ IDs are unique across FR-### / NFR-### / C-###
- ✅ All requirement rows include a Status value
- ✅ Non-functional requirements include measurable/verifiable thresholds (byte/contract-identical aliases; deterministic regen; zero-new ruff/mypy)
- ✅ Success criteria are measurable (each = a specific ticket closing)
- ✅ Success criteria are technology-agnostic (ticket-closure + behavior outcomes)
- ✅ All acceptance scenarios are defined (follow-up, re-open, dispatch, curation)
- ✅ Edge cases identified (deleted branch on re-open; alias Op-identity parity; dangling orphan)
- ✅ Scope is clearly bounded (C-005 names explicit out-of-scope: #1913/#1914, #1916, #1907, #1010)
- ✅ Dependencies and assumptions identified
Mission Readiness
- ✅ All functional requirements have clear acceptance criteria (via SC-1..SC-4 ticket closures)
- ✅ User scenarios cover primary flows (all three workstreams)
- ✅ Mission meets measurable outcomes (ticket closure = SC)
- ✅ No implementation details leak into specification
Notes
- C-002 (dispatch back-compat) is BINDING and safety-critical: this very workflow runs governed Ops via
spec-kitty do --profile …; the collapse must never break the trio. Carried into plan as a hard sequencing constraint (aliases land with the unified mechanism, atomically). - #1810 is additive (new canonical
dispatch+ retained verb aliases), NOT a rename → not a bulk-edit/occurrence-map mission. - All four addressed issues (#1802/#1804/#1810/#1863) are in issue-matrix.md, claimed (assigned), and commented on the tracker.