Files
hq/.claude/skills/hal-sync-constitution/SKILL.md
T
jschoubben c0b35652d0 The numbering is the flow: decisions are 02, design is 03
papa-hq reads 01 research -> 03 decision -> 02 design. The order is a
scar, not a choice: 02-DESIGN existed from its initial commit, and when
adr/ was finally promoted on 2026-07-13 it took the next free number
rather than its place in the sequence. By then design was too settled to
renumber.

hal-hq was three commits old, so it is not. adr/ becomes 02-DECISIONS and
02-DESIGN becomes 03-DESIGN, and following the folder numbers now walks
the process in the order it happens: research produces a decision, the
decision authorises a design.

00-GENESIS becomes 00-META, matching papa's rename from the same
restructure.

Every path reference rewritten across documents, frontmatter, playbooks
and skills. All links resolve; all 58 frontmatter blocks parse and their
path fields still point at files that exist.
2026-08-23 18:05:11 +02:00

2.0 KiB

name, description
name description
hal-sync-constitution Use after changing a rule in hal-hq's 00-META/how-we-build.md, to publish the derived constitution page the mesh injects into design sessions. Triggers on "sync the constitution", "publish the rules", "I changed how-we-build", "update the governed page".

hal-sync-constitution

Publishes the derived constitution from its source. Authoritative playbook: 00-META/process/05-constitution-sync.md.

What this is

00-META/how-we-build.md is the source. The knowledge base carries a derived page that the mesh injects into every eligible design session, and against which a check phase can block work.

Two texts stating the same rules drift, and the enforced copy wins by default — so the reasoned copy quietly stops being true. This skill is the mechanism that prevents that, and it is how the claim "HQ is the source" is checked.

Steps

  1. Confirm the source change is recorded as a decision. A rule the mesh enforces is architecturally significant; if there is no record, run hal-graduate first.
  2. Derive the page: the rules without the reasoning. Section numbering is stable — the orchestrator and the review fragments cite sections by number, so never renumber to tidy.
  3. Publish it to the knowledge base under the constitution slug, replacing the body.
  4. Read it back and verify the change is present. A publish that reported success and did nothing is exactly the failure class this repository exists to name — do not skip this.
  5. Note the sync in the decision's ledger line.

Do not

  • Never edit the derived page directly. An edit there survives until the next sync and then vanishes, taking its reasoning with it.
  • Do not relax a rule in the derived page. Overrides may only tighten.
  • Do not report the sync as done without the read-back. If it could not be performed, say so — an unsynced rule is a rule the mesh does not enforce, whatever the source says.