Checklists

requirements.md

Specification Quality Checklist: Runtime-Bridge God-Module Decomposition

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

Content Quality

  • ✅ No implementation details beyond the named refactor target (a decompose mission legitimately names the module + functions it restructures)
  • ✅ Focused on maintainability value + the behavioral-parity guarantee
  • ✅ Written for engineering stakeholders
  • ✅ 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 (C901=0, parity byte-identical, LOC target, per-core unit test)
  • ✅ Success criteria are measurable
  • ✅ Success criteria are technology-agnostic at the outcome level (parity, complexity ceiling, isolation-testability)
  • ✅ All acceptance scenarios are defined
  • ✅ Edge cases identified (behavioral parity is the load-bearing risk)
  • ✅ Scope is clearly bounded (structural-only; no logic change; gate-seam adoption OUT)
  • ✅ Dependencies and assumptions identified (research confirms seams; sequenced Wave 4 after trio + orchestrator_api)

Feature Readiness

  • ✅ All functional requirements have clear acceptance criteria
  • ✅ User scenarios cover the maintainer + parity + pure-core flows
  • ✅ Feature meets measurable outcomes defined in Success Criteria
  • ✅ Structural-only scope keeps implementation detail appropriately bounded

Notes

  • Brief-intake mode: requirements extracted from #2531's comprehensive body (problem, seam table, ports+cores approach, acceptance). No cold discovery interview needed.
  • FR-002 mandates a research pass to confirm final seam boundaries/naming before extraction — the Key Entities list is the starting hypothesis, not frozen.
  • C-004 characterization-first is load-bearing: golden decide_next() tests land before any extraction (behavior-preserving refactor).
  • FR-008 / C-005 are coordination-only: leave _check_composed_action_guard a clean seam so the later gates mission (#2535 WP14) can route it through resolve_gates, without this mission depending on unlanded gates code.
  • Sequencing (C-006): Wave-4-ish per roadmap — follows trio degod (#2545) + orchestrator_api degod; does not jump the queue.
  • Revised after the post-spec adversarial squad (Op 01KX8MMA). All 4 lenses endorsed the ports+cores decomposition as feasible. Applied: B1/B2 (NFR-001 parity now defines the equality/normalization contract + frozen-snapshot side-effect isolation — the safety net is now buildable); guard-purity via ArtifactPresenceSnapshot port + pure evaluate_guards (FR-009); FR-008 retargeted to _should_dispatch_via_composition (the guard was the wrong target); C-002/FR-003 purity = no-I/O+port-injected (not no-specify_cli-import — no such arch gate); named _map_runtime_decision E(33) + all 9 offenders (FR-004/SC-002); added the Decision-builder seam (FR-011, the highest CC lever), the phase-split (FR-010), monkeypatch-preservation (FR-012 — biggest land-ability risk), the engine-adapter (FR-013), import-cycle constraint (C-007), perf-parity (NFR-006); softened C-006 sequencing (siblings don't restructure this file).
  • FR-002 is now a HARD GATE: research must emit the normalization contract + enumerated fixture matrix + monkeypatch strategy + final seam boundaries before any extraction WP (SC-008).
  • Ready for the FR-002 research pass → then /spec-kitty.plan.