Checklists
requirements.md
Specification Quality Checklist: Relocation-Hardened Dead-Code Scanners
Purpose: Validate specification completeness and quality before proceeding to planning Created: 2026-07-11 Feature: spec.md
Content Quality
- ✅ No implementation details (languages, frameworks, APIs) — test-infra mission; module paths named are the subject of the work, not incidental tech choices
- ✅ Focused on user value and business needs — the "user" is the maintainer; value = no code-motion tax
- ✅ Written for non-technical stakeholders — the honest-downscope table + scenarios are legible
- ✅ All mandatory sections completed
Requirement Completeness
- ✅ No [NEEDS CLARIFICATION] markers remain
- ✅ 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 (0 false-reds / 100% caught / 0 failed / 0 silent exemptions / byte-diff=0)
- ✅ Success criteria are measurable
- ✅ Success criteria are technology-agnostic (framed as gate-green / caught / 0-failed outcomes)
- ✅ All acceptance scenarios are defined (primary + downscoped-exception + 6 bite-preserved + body-sensitivity)
- ✅ Edge cases are identified (dangling entry, un-keyable fail-closed, body-sensitivity, migration-helper)
- ✅ Scope is clearly bounded (Out of Scope names the ~60-entry relocation forfeit + WS1 + known_modules)
- ✅ Dependencies and assumptions identified (WP06 spike corpus, shape census, merged WS1)
Feature Readiness
- ✅ All functional requirements have clear acceptance criteria (the (a–h) bite battery + NFR thresholds)
- ✅ User scenarios cover primary flows
- ✅ Feature meets measurable outcomes defined in Success Criteria
- ✅ No implementation details leak into specification beyond the named surfaces under refactor
Notes
scoped to the ~278 simple entries; the ~60 re-export/facade/fan-out entries stay module_path-keyed (relocation-forfeit, documented). The spec states this in the Overview table, the downscoped-exception scenario, NFR-001, C-001, and Out of Scope — no over-promise survives.
preserve-bite); those findings are the confirmed research base encoded as FR-001..015.
- Honest-downscope is load-bearing (C-001): the relocation promise is explicitly
- Pre-hardened by a 3-lens WS2-hardening squad (design-completeness / sizing-ownership /