5.9 KiB

Feature Specification: [FEATURE NAME]

Feature Branch: [###-feature-name] Created: [DATE] Status: Draft Input: User description: "$ARGUMENTS"

Document Scope & Sources (mandatory)

  • Target documents: [List the exact files intended to be updated]
  • Primary source of truth: [List the authoritative main docs]
  • Reference sources: [List allowed Archive/guides/supporting docs]
  • Scope decision: [State whether this request is in scope, needs confirmation, or is out of scope]

Repository Scope (mandatory)

  • Target repos:
    • water-docs: [Required / Not Required]
    • water-backend: [Required / Not Required]
    • water-frontend: [Required / Not Required]
  • Expected delivery type: [Document closure / Code evidence alignment / Backend implementation / Frontend implementation / Mixed]
  • Out of scope for this round: [List anything explicitly excluded]

Code Baseline (mandatory for brownfield work)

  • Backend baseline: [commit SHA / branch / N/A]
  • Frontend baseline: [commit SHA / branch / N/A]
  • Baseline capture rule: [How the implementation evidence will be tied back to a specific code version]

Evidence Scope (mandatory)

  • Document evidence required: [Which formal docs or specs must be updated]
  • Backend evidence required: [Controllers / services / tests / compile / N/A]
  • Frontend evidence required: [Pages / routes / build / smoke / N/A]
  • Verification artifacts required: [baseline.md / docs-validation.md / backend-validation.md / frontend-validation.md / final-verdict.md]

User Scenarios & Testing (mandatory)

User Story 1 - [Brief Title] (Priority: P1)

[Describe the primary independently reviewable outcome in plain language]

Why this priority: [Explain the value and why it has this priority level]

Independent Test: [Describe how this can be reviewed independently]

Acceptance Scenarios:

  1. Given [initial state], When [action], Then [expected outcome]
  2. Given [initial state], When [action], Then [expected outcome]

User Story 2 - [Brief Title] (Priority: P2)

[Describe this user journey in plain language]

Why this priority: [Explain the value and why it has this priority level]

Independent Test: [Describe how this can be tested independently]

Acceptance Scenarios:

  1. Given [initial state], When [action], Then [expected outcome]

User Story 3 - [Brief Title] (Priority: P3)

[Describe this user journey in plain language]

Why this priority: [Explain the value and why it has this priority level]

Independent Test: [Describe how this can be tested independently]

Acceptance Scenarios:

  1. Given [initial state], When [action], Then [expected outcome]

Edge Cases

  • What happens when the formal document conclusion and the current code evidence do not align?
  • What happens when a requested change is only supported by Archive history but not by current main docs?
  • How does the workflow handle broken relative links, unstable anchors, or Mermaid syntax regressions introduced by edits?
  • What happens when the backend and frontend are on different commits and the feature must still produce a single verdict?

Requirements (mandatory)

Functional Requirements

  • FR-001: Specification MUST identify the exact target documents that will be changed.
  • FR-002: Specification MUST identify the main source-of-truth documents that govern the change.
  • FR-003: Specification MUST identify which repositories are in scope and which are explicitly out of scope for the round.
  • FR-004: Specification MUST record backend/frontend code baselines or explicitly mark them N/A.
  • FR-005: System MUST preserve the single-source-of-truth model and MUST NOT assume creation of new parallel formal documents unless explicitly approved.
  • FR-006: Specification MUST list the validation actions needed after the change, including file validation and any required link or Mermaid checks.
  • FR-007: Specification MUST state whether management ledgers need updates in 01_Project_Progress.md and 03_Task_Checklist.md.
  • FR-008: Specification MUST capture cross-document consistency impacts when terminology, numbering, diagrams, references, or interface contracts may change.
  • FR-009: Specification MUST define what evidence artifacts are required before the feature can be marked complete.

Key Entities (include if feature involves data)

  • Target Document: A Markdown file that will be modified as part of the request.
  • Source of Truth Document: A main document or governance document that constrains allowed conclusions.
  • Reference Source: Archive or guide material used only for verification, traceability, or scope judgment.
  • Code Baseline: A backend or frontend commit reference used to anchor brownfield implementation evidence.
  • Evidence Artifact: A document under specs/ or evidence/ that records validation, code proof, or the final verdict.
  • Ledger Update: A required change to project progress or task checklist records after important modifications.

Success Criteria (mandatory)

Measurable Outcomes

  • SC-001: Every target document and in-scope repository is explicitly named before implementation begins.
  • SC-002: Every completed change can be traced to at least one source-of-truth or approved reference source.
  • SC-003: Required validation and evidence actions are explicitly listed and can be executed without ambiguity.
  • SC-004: Reviewers can determine from the spec alone whether ledger updates, code-baseline capture, and cross-document sync are required.
  • SC-005: The feature can produce a final verdict without relying on unstated assumptions about backend or frontend implementation status.