Files
hq/.claude/skills/hq-sync-constitution/SKILL.md
T
jschoubben 93a1231e00 Retire the HAL name where it points forward
Skills take the hq- prefix: they are HQ process workflows, not mesh
workflows, and HQ is company-scoped now. hq-new-research, hq-graduate,
hq-new-issue, hq-diagnose, hq-amend-design, hq-handoff,
hq-sync-constitution, hq-status.

Forward-looking prose becomes Novox Mesh or simply the mesh — the root
README, AGENTS.md, the 00-META README, the mission's module example, and
one to-be document that addressed 'someone working on HAL'.

Three categories deliberately keep HAL, per ADR 0027:

The monorepo is still called hal on the forge. repos.md, every code: field
and every located-in: field name a repository that exists under that name,
and renaming them in prose would make them false.

The as-is layer and the research that measured it describe the system that
runs, and that system is called HAL. 124 modules, 9 daemons, a dead
containerised node — those are observations, not intentions.

Records 0001-0026 are immutable. A record says what was decided when it
was decided, and no record is edited for a name.

Also repoints ADR 0022's link at the renamed skill — a path fix, which the
immutability rule permits, not a change of meaning.
2026-08-23 21:26:09 +02:00

39 lines
2.0 KiB
Markdown

---
name: hq-sync-constitution
description: Use after changing a rule in 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".
---
# hq-sync-constitution
Publishes the derived constitution from its source. **Authoritative playbook:**
[`00-META/process/05-constitution-sync.md`](../../../00-META/process/05-constitution-sync.md).
## What this is
[`00-META/how-we-build.md`](../../../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 `hq-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 record's Consequences.
## 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.