5.9 KiB
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:
- Given [initial state], When [action], Then [expected outcome]
- 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:
- 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:
- 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.mdand03_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/orevidence/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.