-
Notifications
You must be signed in to change notification settings - Fork 9.5k
docs: add minimal, trial-basis Spec Kit Constitution (dogfooding) #2699
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
PascalThuet
wants to merge
6
commits into
github:main
Choose a base branch
from
PascalThuet:feat/dogfood-constitution
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+145
−0
Open
Changes from 3 commits
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
408853a
docs: ratify Spec Kit Constitution v1.0.0
PascalThuet b5832d4
docs(constitution): drop transient issue ref from Sync Impact Report
PascalThuet a6d8d60
docs: clarify constitution governance scope
PascalThuet 8a6e93c
docs: separate constitution from agent context
PascalThuet de27e60
docs: align constitution workflow name
PascalThuet 7d10b50
docs: reframe constitution as minimal, trial-basis + add dogfooding o…
PascalThuet File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,74 @@ | ||
| <!-- | ||
| Sync Impact Report | ||
| - Version change: none → 1.0.0 (initial ratification) | ||
| - Modified principles: N/A (initial constitution) | ||
| - Added sections: | ||
| - Scope | ||
| - Core Principles | ||
| - I. Selective Spec-Driven Development | ||
| - II. Spec-Forward, Historical Once Shipped | ||
| - Governance | ||
| - Removed sections: none | ||
| - Templates requiring updates: | ||
| - ⚠ none required for downstream templates (`templates/plan-template.md`, | ||
| `templates/spec-template.md`, `templates/tasks-template.md`, | ||
| `templates/commands/*.md` are consumed by downstream projects and remain | ||
| unaffected — this constitution governs only spec-kit's own work) | ||
| - Follow-up TODOs: none | ||
| - Provenance: see https://github.com/github/spec-kit/discussions/2504 | ||
| --> | ||
|
|
||
| # Spec Kit Constitution | ||
|
|
||
| ## Scope | ||
|
|
||
| This constitution governs work in the spec-kit repository. It does not prescribe behavior for downstream projects, which produce their own constitutions via the shipped `/constitution` workflow. | ||
|
|
||
| ## Core Principles | ||
|
|
||
| ### I. Selective Spec-Driven Development | ||
|
|
||
| SDD MUST be applied to a change in this repository when **at least one** of the following holds: | ||
|
|
||
| - **Non-trivial scope**: the change spans multiple modules, introduces new public surface, or touches more than a handful of files cohesively. | ||
| - **Ambiguous design space**: more than one viable implementation exists and the trade-offs are not obvious from the issue or discussion. | ||
| - **Cross-cutting impact**: the change affects shipped templates, command files, or any artifact consumed by downstream projects. | ||
| - **Security or correctness stakes**: the change touches authentication, authorization, input handling, redirect handling, or any path where incorrect behavior has a material blast radius beyond the contributor's environment. | ||
|
|
||
| SDD MUST NOT be applied as theater. Refactors, plumbing changes, dependency bumps, catalog updates, documentation fixes, and other changes that do not meet any of the criteria above SHOULD ship without spec artifacts. Manufacturing spec artifacts on changes that do not need them dilutes the signal value of the ones that do. | ||
|
|
||
| ### II. Spec-Forward, Historical Once Shipped | ||
|
|
||
| Feature spec artifacts in this repository | ||
| (`specs/<feature>/{spec,plan,tasks}.md`) are **spec-forward**: they describe | ||
| work to be done, not work that has been done. | ||
|
|
||
| Once a feature merges, its spec artifacts are a **frozen historical snapshot**. They MUST NOT be maintained as living documents that track subsequent code evolution. Drift between merged specs and current code is expected and acceptable; the spec records what the unit of work was at the time, not the present state of the codebase. | ||
|
|
||
| When the same surface is meaningfully revisited later, the contributor MAY produce new spec artifacts under a new `specs/<feature>/` directory rather than amending the historical ones. | ||
|
|
||
| **Rationale**: the spec-kit codebase evolves rapidly. Treating specs as living | ||
| documents would create a maintenance burden out of proportion to their value. | ||
| Treating them as snapshots makes them low-cost to merge and useful as evidence | ||
| of "this was the unit of work, this is what shipped." This stance was | ||
| established by maintainer guidance in | ||
| [GitHub Discussion #2504](https://github.com/github/spec-kit/discussions/2504). | ||
|
|
||
| ## Governance | ||
|
|
||
| **Amendments**: unlike merged feature spec artifacts, this constitution is the | ||
| current governance record and remains amendable through this section. Changes | ||
| to this constitution require a pull request explicitly identifying the | ||
| amendment, its rationale, and a version bump per the policy below. Amendments | ||
| that introduce or remove a principle SHOULD be discussed in a GitHub Discussion | ||
| under the `Ideas` category before opening a PR. | ||
|
|
||
| **Versioning**: | ||
|
|
||
| - **MAJOR**: a principle is removed, redefined in a backwards-incompatible way, or a governance rule is replaced. | ||
| - **MINOR**: a new principle or new section is added, or guidance is materially expanded. | ||
| - **PATCH**: clarifications, wording fixes, or non-semantic refinements. | ||
|
|
||
| **Compliance review**: pull request reviewers MAY reference this constitution when asking a contributor whether a change warrants SDD artifacts. Whether the criteria in Principle I are met is a judgment call made by the contributor with reviewer input; this constitution does not bind reviewers to demand or refuse spec artifacts in any specific case. | ||
|
|
||
| **Version**: 1.0.0 | **Ratified**: 2026-05-26 | **Last Amended**: 2026-05-26 | ||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.