Checklists

requirements.md

Specification Quality Checklist: Fix plan-mission guard/manifest artifact-vocabulary mismatch

Purpose: Validate specification completeness and quality before proceeding to planning Created: 2026-10-18 Mission: spec.md

Content Quality

  • ✅ No implementation details leak into requirements (surfaces named only as grounding context)
  • ✅ Focused on user/operator value (plan mission can advance; diagnosable blocks)
  • ✅ Written for non-technical stakeholders (user stories in plain language; mechanism isolated to Context)
  • ✅ All mandatory sections completed

Requirement Completeness

  • ✅ No [NEEDS CLARIFICATION] markers remain (design settled by grounding squad)
  • ✅ Requirements are testable and unambiguous
  • ✅ Requirement types separated (Functional / Non-Functional / Constraints)
  • ✅ IDs unique across FR/NFR/C/SC and match the grammar
  • ✅ All requirement rows have a non-empty Status
  • ✅ NFRs include measurable thresholds (byte-identical non-plan sets; schema-valid)
  • ✅ Every FR row and success criterion carries a delivery label + no-op mark
  • ✅ Success criteria measurable and technology-agnostic
  • ✅ Acceptance scenarios defined
  • ✅ Edge cases identified (other-family regression, schema, MISSION_GOALS, defect #2, orphan keys)
  • ✅ Scope clearly bounded (Out of Scope)
  • ✅ Dependencies and assumptions identified

Mission Readiness

  • ✅ All FRs have clear acceptance criteria
  • ✅ User scenarios cover primary flows (advance, diagnosability, hardening)
  • ✅ Mission meets measurable outcomes in Success Criteria
  • ✅ No implementation details leak into requirement statements

Notes

not synthetic present_artifacts=, because synthetic injection is exactly why the bug passed every existing plan test. The red-first proof (red pre-fix, green post-fix) is the non-vacuity control.

grounding squad (architect + paula-patterns), not deferred.

  • FR-004 non-vacuity is load-bearing: the parity test MUST go through the real gather_artifact_presence,
  • Reconciliation direction (Option A, manifest-side) and canonical-vocabulary choice are settled by the