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.