Checklists

requirements.md

Specification Quality Checklist: Worktree-Clean Sync Invariant

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

Content Quality

  • ✅ No implementation details (languages, frameworks, APIs)
  • ✅ Focused on user value and business needs
  • ✅ Written for non-technical 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
  • ✅ Success criteria are measurable
  • ✅ Success criteria are technology-agnostic (no implementation details)
  • ✅ All acceptance scenarios are defined
  • ✅ Edge cases are identified
  • ✅ Scope is clearly bounded
  • ✅ Dependencies and assumptions identified

Feature Readiness

  • ✅ All functional requirements have clear acceptance criteria
  • ✅ User scenarios cover primary flows
  • ✅ Feature meets measurable outcomes defined in Success Criteria
  • ✅ No implementation details leak into specification

Notes

  • Implementation-detail boundary: the spec names domain surfaces (CLI commands, .kittify/config.yaml, git status --porcelain, the DIRTY_WORKTREE gate) because they ARE the user-facing domain of a developer-tooling mission. It deliberately keeps the code-level mechanism (which identity function to call, the read-only resolver vs. the writing one) out of the requirements and in the Assumptions section, to be resolved during /spec-kitty.plan per DIRECTIVE_003.
  • NFR thresholds: NFR-001 (0 identity variance across N≥2 invocations), NFR-002 (≤50 ms added latency), NFR-003 (mypy --strict / ruff / ≥90% coverage), NFR-004 (0 flakes / 20 runs, daemon serial) are all measurable.
  • One carried assumption (not a blocker): identity completion is assumed deterministic from checkout state (NFR-001). The spec explicitly instructs the plan phase to verify this and forbids reintroducing a read-path write if it is not — so it is a bounded design task, not an open clarification.
  • All items pass. Spec is ready for /spec-kitty.plan.