Checklists

requirements.md

Specification Quality Checklist: Functional Ownership Map

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

Content Quality

Caveat: the map is itself an internal-architecture artefact about a Python codebase, so Python package paths (src/specify_cli/, src/charter/) and the YAML manifest format are named because they are the subject of the mission, not implementation-detail leakage.

Users are contributors, reviewers, release managers, and tooling authors; value is downstream extraction velocity and zero-regression refactors.

Acceptance scenarios and success criteria are outcome-phrased.

  • ✅ No implementation details (languages, frameworks, APIs)
  • ✅ Focused on user value and business needs
  • ✅ Written for non-technical stakeholders
  • ✅ All mandatory sections completed (Primary Intent, User Scenarios, Requirements, Success Criteria, Key Entities, Dependencies & Assumptions, Out of Scope, Open Questions)

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-001..FR-015, NFR-001..NFR-004, C-001..C-006
  • ✅ All requirement rows include a non-empty Status value (all "Confirmed")
  • ✅ Non-functional requirements include measurable thresholds (<=20 min read, <=1s schema validation, <100 ms import-error resolution, zero new exceptions)
  • ✅ Success criteria are measurable (6 criteria, each with an observable outcome)
  • ✅ Success criteria are technology-agnostic where possible (exceptions: ModuleNotFoundError, CHANGELOG.md, and pyproject.toml are named only where the artefact itself is the subject of the requirement)
  • ✅ All acceptance scenarios are defined (8 scenarios + 4 edge cases)
  • ✅ Edge cases are identified
  • ✅ Scope is clearly bounded (Out of Scope enumerates deferred work explicitly)
  • ✅ Dependencies and assumptions identified (A1-A4 plus upstream/downstream)

Mission Readiness

  • ✅ All functional requirements have clear acceptance criteria
  • ✅ User scenarios cover primary flows (extraction author consumption, reviewer validation, doctrine posture, charter exemplar, shim removal, manifest parseability, cross-reference integrity, safeguard references)
  • ✅ Mission meets measurable outcomes defined in Success Criteria
  • ✅ No implementation details leak into specification beyond the names of the artefacts the mission produces

Bulk-Edit Classification Readiness (DIRECTIVE_035)

  • meta.json has change_mode: standard (not bulk_edit — shim has no live internal call sites to rewrite)
  • ✅ Spec explicitly documents the classification rationale (see C-006)
  • [N/A] occurrence_map.yaml — not required for standard mode

Ownership/Neutrality Readiness

  • ✅ Mission names the canonical target artefact path (architecture/2.x/05_ownership_map.md)
  • ✅ Mission names the machine-readable manifest path (architecture/2.x/05_ownership_manifest.yaml)
  • ✅ Mission explicitly cites the charter mission charter-ownership-consolidation-and-neutrality-hardening-01KPD880 as the reference exemplar
  • ✅ Mission pins the model_task_routing posture (specialization) without deferring to plan
  • ✅ No version bump is scheduled (C-001)

Notes

  • All acceptance scenarios are written as given/when/then with observable outcomes.
  • The #611 shim removal is rolled into this mission per discovery (see Primary Intent paragraph 3 and FR-012..FR-014).
  • Plan phase will pin: canonical package names for runtime and lifecycle, and the parent doctrine kind for model_task_routing specialization.