Skip to content

Commit 4a22cf0

Browse files
mnriemCopilot
andcommitted
docs(presets): refocus constitution-sync README on what it restores
Reframe the intro around what the preset restores and what the user opts into, rather than describing current Spec Kit default behavior. Be honest that propagation was removed deliberately (duplicates the source of truth, fights composition) and this preset knowingly reintroduces it and its tradeoffs. Minor flow fixes (comma splice, terse bullet). Assisted-by: GitHub Copilot (model: Claude Opus 4.8, supervised) Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: afa7c1d2-147b-4f62-a6fc-a2cc824cfa3e
1 parent 5408657 commit 4a22cf0

1 file changed

Lines changed: 24 additions & 10 deletions

File tree

‎presets/constitution-sync/README.md‎

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,30 @@
11
# Constitution Template Sync
22

3-
An **opt-in** preset that makes `/constitution` propagate amended guidance into your project's own
4-
templates and command files. After you update the constitution, it aligns
3+
An **opt-in** preset that restores `/constitution`'s ability to propagate amended guidance into your
4+
project's own templates and command files. After you update the constitution, it aligns
55
`plan-template.md`, `spec-template.md`, `tasks-template.md`, project-local command files, and
66
guidance docs so they reflect the current principles.
77

8-
The current version of Spec Kit does **not** do this by default. Its default model is
9-
**runtime resolution**: `plan`, `tasks`, and `analyze` read `.specify/memory/constitution.md` live
10-
on every run, so templates carry a pointer (`[Gates determined based on constitution file]`) rather
11-
than a frozen copy. Add this preset only if you specifically want the guidance materialized into
12-
reviewed, committed artifacts — and read the [caveats](#caveats-you-take-on) first, because
13-
propagation and the preset composition stack pull in opposite directions.
8+
This propagation used to be built into `/constitution`; it was dropped when the command moved to the
9+
preset model. Installing this preset opts you back into it: you get the guidance materialized into
10+
reviewed, committed artifacts instead of relying on runtime resolution alone.
11+
12+
> **What you're opting into.** Propagation was removed deliberately — it duplicates the constitution
13+
> as the source of truth and can fight the composition stack (materialized edits get shadowed or
14+
> clobbered on the next recompose). This preset knowingly **reintroduces** that behavior, and those
15+
> tradeoffs, for teams that want it. Read the [caveats](#caveats-you-take-on) before installing.
16+
17+
For most projects the default composable stack is the **recommended** approach, and at organization
18+
scale it is usually the stronger governance model. Runtime resolution keeps the live constitution as
19+
the single source of truth (nothing to re-sync, so nothing drifts), and the stack composes the
20+
**entire** Spec Kit ecosystem — not just the SDD commands, but every command, template, script and
21+
extension — with explicit priority levels, strategies, and independent versioning. It is a
22+
capability, not automatic governance: a core team authors its own organizational presets and
23+
extensions, then owns, versions, and audits that policy in one place and rolls it across many
24+
repositories, instead of scattering frozen, per-repo copies no central team can see. This preset is
25+
a supported escape hatch for teams whose workflow depends on reviewing materialized artifacts
26+
directly — useful as a bridge, though for org-wide policy the better long-term path is usually a
27+
versioned preset a core team maintains.
1428

1529
## What it does
1630

@@ -19,15 +33,15 @@ current core command (via `{CORE_TEMPLATE}`), so it stays forward-compatible wit
1933
appends a propagation pass that, after the constitution is written:
2034

2135
- Aligns `plan/spec/tasks-template.md` in `.specify/templates/` with the updated principles.
22-
- Updates **project-local** command files and guidance docs for stale references.
36+
- Updates **project-local** command files and guidance docs to correct stale references.
2337
- Extends the Sync Impact Report in `.specify/memory/constitution.md` with the files it touched.
2438

2539
## What it does not do
2640

2741
- It does **not** change behavior for anyone who does not install it — the default runtime
2842
resolution model is untouched.
2943
- It does **not** disable runtime resolution. `plan`, `tasks`, and `analyze` still read the live
30-
constitution every run; this preset adds materialized copies on top, it does not replace the
44+
constitution every run; this preset adds materialized copies on top — it does not replace the
3145
source of truth.
3246
- It does **not** edit versioned, package-owned files — templates or command files provided or
3347
wrapped by another preset or extension. Those are recomposed from the resolution stack, so it

0 commit comments

Comments
 (0)