Files
hq/00-META/process/05-constitution-sync.md
T
jschoubben 418261213c
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: THE CHANGE ALTERS ITS OWN CHECK (merge-check.sh): main's version judged it; the change's judges the pull requests after it merges; it…
mesh/delivery superseded: a newer head of the same pull request
Remove the decision records and research efforts, which the knowledge base now holds whole (issue 426)
ADR 0290 rule 9: once the import is checked record by record, hq keeps no copy.
The records and efforts are removed; every link or path to them reads "ADR NNNN" or
"research NNN"; a design's decisions: lists "ADR NNNN". 02-DECISIONS keeps a pointer
README with the reading order's six topics, which the knowledge base reads through the
records module; 01-RESEARCH keeps a pointer README. The checks drop the rules that
judged records (the knowledge base holds each at propose; checks/README.md says where)
and refuse a record written here again. Playbooks 01 and 02 and the skills write and
read records with the knowledge base's verbs.
2026-10-11 12:56:09 +02:00

1.9 KiB

Playbook 05 — Constitution sync

Implements ADR 0021: HQ is the source of the constitution, and the knowledge-base page is derived, never edited.

Trigger. how-we-build.md changed a rule that the mesh enforces at runtime.

Who runs it. Whoever made the change.

Why this playbook exists

The mesh injects a constitution into every eligible design meeting; agents check their output against it and a constitution-check phase can block a meeting. That text is derived. how-we-build.md is the source.

Two texts stating the same rules will drift, and the enforced copy winning by default means the reasoned copy quietly stops being true. This playbook is the mechanism that stops that — and, per the repository's own rule, it is how the rule "HQ is the source" is checked.

Steps

  1. Edit how-we-build.md. Each rule keeps the reasoning that earned it; the derived page carries the rule alone.
  2. Record the change as a decision — a rule the mesh enforces is architecturally significant. Playbook 02.
  3. Publish the derived page to the knowledge base under the constitution slug, replacing its body. Keep the section numbering stable: the meeting orchestrator and the review fragments cite sections by number.
  4. Verify the derived page reads back with the change present. A publish that reported success and did nothing is exactly the failure class this repository exists to name.
  5. Note the sync in the decision record's Consequences.

Rules

  • Never edit the derived page directly. An edit there survives until the next sync and then vanishes, taking its reasoning with it.
  • The derived page may only be tightened by per-team override pages, never relaxed.
  • If the sync cannot be performed, say so in the record. An unsynced rule is a rule the mesh does not enforce, whatever how-we-build.md says.