docs: document Articles IV, V & VI as project-customizable in spec-driven.md#2467
docs: document Articles IV, V & VI as project-customizable in spec-driven.md#2467Copilot wants to merge 12 commits into
Conversation
|
@copilot apply changes based on the comments in this thread |
Applied all three review comments in d4ec0b7:
|
|
|
||
| - **Article IV** addresses integration concerns—such as integration testing requirements, contract testing across service boundaries, or cross-component communication standards. The constitution template's `[PRINCIPLE_4_NAME]` / `[PRINCIPLE_4_DESCRIPTION]` slot is dedicated to this article, with an example hint of *Integration Testing*. | ||
|
|
||
| - **Articles V & VI** address operational and lifecycle concerns—such as observability, structured logging, versioning schemes, or breaking-change policies. By default, the template groups these under a single `[PRINCIPLE_5_NAME]` / `[PRINCIPLE_5_DESCRIPTION]` slot (example hint: *V. Observability, VI. Versioning & Breaking Changes*). Teams that need separate articles can expand to additional principle sections using `/speckit.constitution`. |
|
|
||
| - **Articles V & VI** address operational and lifecycle concerns—such as observability, structured logging, versioning schemes, or breaking-change policies. By default, the template groups these under a single `[PRINCIPLE_5_NAME]` / `[PRINCIPLE_5_DESCRIPTION]` slot (example hint: *V. Observability, VI. Versioning & Breaking Changes*). Teams that need separate articles can expand to additional principle sections using `/speckit.constitution`. | ||
|
|
||
| To define these articles, populate the corresponding principle sections in `.specify/memory/constitution.md` (generated from `templates/constitution-template.md`). The `/speckit.analyze` command validates all spec and plan artifacts against every principle in your project constitution, so any rules you define here are automatically applied during analysis. |
|
@copilot apply changes based on the comments in this thread |
Article IV (Requirement Quality and Coverage): driven by the clarify/checklist/analyze pipeline that validates requirement completeness, ambiguity, and traceability before planning. Article V (Non-Functional Standards): ensures projects explicitly specify performance, security, observability, and accessibility requirements rather than defaulting to functional-only output. Article VI (Governance and Versioning): codifies constitution versioning and cross-artifact consistency propagation via the /speckit.constitution command. These three articles were missing from the original document despite being actively enforced by existing templates and commands. Derived by mapping every template and command back to constitutional principles and identifying enforcement mechanisms with no article.
Match the style of existing articles which state principles and rationale without referencing specific Spec Kit commands.
Replace 'clarification pipeline' tooling references with principle-effect language matching Articles I-III and VII-IX.
Article VI now covers governance and versioning of all project artifacts (constitution, specs, plans, tasks), not just constitution amendments. This matches what spec-driven.md itself describes: specifications versioned in branches, requirement changes propagating across artifacts, and cross-artifact consistency.
Constitution and specifications are the versioned sources of truth. Plans and tasks are derived execution artifacts. Implementation gaps are addressed through new specifications, preserving the feed-forward dependency direction rather than retrofitting code back into specs.
Support all three schools: new spec, update existing spec, or regenerate derived artifacts. The only invariant is that specs drive implementation, not the reverse, and gaps are addressed through specifications rather than untracked code changes.
Constitution uses semantic versioning (major/minor/patch). Specifications use branch-based workflows (feature branches, reviewed and merged like code). Consistent with the existing description in spec-driven.md line 21.
Spec versioning is now tool-agnostic: 'versioned and reviewable before acceptance' rather than prescribing branch-based workflows.
- Remove git branch references from conceptual sections (lines 21, 152) - Remove memory/constitution.md file path from principles section - Replace 'immutable principles' with 'governing principles' to reconcile with Article VI semantic versioning - Constitutional Evolution section now acknowledges principles themselves can evolve through governed process, not just their application
550aaac to
2116770
Compare
|
|
||
| At the heart of SDD lies a constitution—a set of immutable principles that govern how specifications become code. The constitution (`memory/constitution.md`) acts as the architectural DNA of the system, ensuring that every generated implementation maintains consistency, simplicity, and quality. | ||
| At the heart of SDD lies a constitution—a set of governing principles that define how specifications become code. The constitution acts as the architectural DNA of the system, ensuring that every generated implementation maintains consistency, simplicity, and quality. | ||
|
|
| #### Article IV: Requirement Quality and Coverage | ||
|
|
||
| Specifications must be complete, unambiguous, and verifiable before planning begins: | ||
|
|
| #### Article IV: Requirement Quality and Coverage | ||
|
|
||
| Specifications must be complete, unambiguous, and verifiable before planning begins: | ||
|
|
||
| ```text | ||
| All requirements MUST be: | ||
| - Testable: each requirement has measurable acceptance criteria | ||
| - Unambiguous: no vague qualifiers without quantified thresholds | ||
| - Traceable: mapped from user stories through tasks to implementation |
|
@copilot apply changes based on the comments in this thread |
Applied all three review comments in the latest commit:
|
|
|
||
| Common choices for these articles include: | ||
|
|
||
| - **Integration concerns** (Article IV): requirement quality and coverage standards—for example, rules about testability, unambiguity, and traceability that specifications must satisfy before planning begins for that project. |
| Articles IV, V, and VI are the primary customization points in the constitution. Teams define these articles to address their own integration, operational, and lifecycle concerns by running `/speckit.constitution`. The principles are stored in `.specify/memory/constitution.md` and `/speckit.analyze` validates spec, plan, and task artifacts against every principle in the project constitution. | ||
|
|
||
| Common choices for these articles include: | ||
|
|
||
| - **Integration concerns** (Article IV): requirement quality and coverage standards—for example, rules about testability, unambiguity, and traceability that specifications must satisfy before planning begins for that project. | ||
| - **Operational concerns** (Article V): non-functional standards—for example, explicit thresholds for performance, security, observability, and accessibility that the project requires. | ||
| - **Lifecycle concerns** (Article VI): governance and versioning practices—for example, how the constitution and specifications are versioned, how derived artifacts stay consistent with their source, and how implementation gaps are resolved. | ||
|
|
||
| Teams are free to name and scope these articles in whatever way best fits their project. The number of principles is also flexible—`/speckit.constitution` supports fewer or more than the template default. |
spec-driven.mdclaimed "nine articles" but only documented six — Articles IV, V, and VI were silently missing between Article III and Articles VII & VIII.Changes
spec-driven.md— adds#### Articles IV, V & VI: Project-Specific Standardsbetween Article III and Articles VII & VIII:/speckit.constitution, not as universal fixed requirements/speckit.constitutionsupports fewer or more principles than the template default, and that/speckit.analyzevalidates spec, plan, and task artifacts against every principle in the project constitution/speckit.constitutionas the recommended command for creating or updating the constitution, and to.specify/memory/constitution.mdas the resulting file