Checklists

requirements.md

Specification Quality Checklist: Harden the Dead-Symbol Gate

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

Content Quality

  • ✅ Focused on maintainer value (gate sees all symbols, no false flags, no ratchet growth)
  • ✅ Written so a reviewer can follow each disposition to its evidence
  • ✅ All mandatory sections completed
  • ✅ Named artifacts are the subject of the work

Requirement Completeness

  • ✅ No [NEEDS CLARIFICATION] markers remain (auth-trio + strategy decisions resolved up front)
  • ✅ Requirements testable and unambiguous (each names the exact symbol/pattern/file)
  • ✅ Requirement types separated (FR / NFR / C)
  • ✅ IDs unique across FR-### / NFR-### / C-###
  • ✅ All requirement rows have a Status value
  • ✅ Non-functional requirements include measurable thresholds (esp. NFR-001 no-false-negative, NFR-003 no-growth)
  • ✅ Success criteria measurable and verifiable
  • ✅ Acceptance scenarios defined (incl. the no-false-negative guard)
  • ✅ Edge cases identified (precision of matcher, baseline re-confirm, deferred auth trio)
  • ✅ Scope bounded (Out of Scope excludes the big-category burn-down, category_4, and the SaaS wiring)
  • ✅ Dependencies/assumptions identified (squad classification; #2159/#2152 merge state)

Feature Readiness

  • ✅ All FRs have clear acceptance criteria
  • ✅ User scenario covers the primary flow (gate green, ~107 recognized live, no growth)
  • ✅ Feature meets measurable Success Criteria
  • ✅ The key risk (weakening the gate) is guarded by NFR-001 + C-001 (structural matching + regression test)

Notes

  • Requirements basis is the squad-verified disposition table docs/engineering_notes/2158-dead-symbol-classification.md.
  • The load-bearing risk is FR-002 precision: a too-loose caller matcher would mask real dead code. C-001 (AST/anchored, not substring) + NFR-001 (no-false-negative regression test) are the guards.
  • All checklist items pass; spec is ready for /spec-kitty.plan.