Checklists

requirements.md

Specification Quality Checklist: Coord Commit-Surface Authority

Purpose: Validate specification completeness and quality before proceeding to planning Created: 2026-09-03 Feature: spec.md

Content Quality

  • ✅ No implementation details (languages, frameworks, APIs) — module names appear only as constraints/entities to bound scope, not as prescribed implementation
  • ✅ Focused on user value and business needs
  • ✅ Written for non-technical stakeholders — framed around operator-visible outcomes (split-brain, exit codes, data loss)
  • ✅ All mandatory sections completed

Requirement Completeness

  • ✅ No [NEEDS CLARIFICATION] markers remain — the load-bearing design decision is an explicit research deliverable (FR-001/FR-002), not an unresolved marker
  • ✅ Requirements are testable and unambiguous
  • ✅ Requirement types are separated (Functional / Non-Functional / Constraints)
  • ✅ IDs are unique across FR-###, NFR-###, and C-### entries
  • ✅ All requirement rows include a non-empty Status value
  • ✅ Non-functional requirements include measurable thresholds
  • ✅ Success criteria are measurable
  • ✅ Success criteria are technology-agnostic
  • ✅ All acceptance scenarios are defined
  • ✅ Edge cases are identified
  • ✅ Scope is clearly bounded — in-scope: three seams; out-of-scope: shipped #2739 sub-issues, broader #2160 loop authority
  • ✅ Dependencies and assumptions identified — depends on #2116 pure-core extraction (C-001); B16-c2 gated on reproduction (C-004)

Feature Readiness

  • ✅ All functional requirements have clear acceptance criteria
  • ✅ User scenarios cover primary flows
  • ✅ Feature meets measurable outcomes defined in Success Criteria
  • ✅ No implementation details leak into specification

Notes

  • Research-first mission. FR-003 (reproduce/disprove B16-clause-2) and FR-001/FR-002 (author the authority rule + skip-vs-refuse decision) are settled in the research phase before fix WPs are sliced. FR-006 is conditional on FR-003 reproducing.
  • User Story 2 is research-gated — it is dropped (documented-out) if B16-clause-2 does not reproduce on the current build.
  • Behavior changes (#2300) are governed by characterize-then-diff (C-003 / NFR-001).