Files
hq/02-DECISIONS/0009-the-mesh-is-governed-by-a-constitution.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

3.0 KiB

status, date, deciders, reconstructed
status date deciders reconstructed
accepted 2026-07-10 jochen true

9. The mesh is governed by a constitution, injected where work is decided

Reconstructed after the fact from the evidence cited below.

Context

By mid-2026 the mesh was doing a large share of its own design and implementation work through agents. The rules those agents were expected to follow existed — in operating instructions, in convention documents, in the knowledge base — but they were retrieved: an agent had to know a rule existed in order to look it up.

Rules that must be looked up are followed by whoever already knows them, which is precisely the population that does not need them. The rules being violated were the ones nobody thought to search for.

Considered options

  1. Documentation plus review. Rejected — it is what existed. Review catches a violation after the work is done, and only if the reviewer knows the rule.
  2. Lint and automated checks only. Rejected as insufficient, not wrong. A check catches what can be expressed mechanically; most of these rules are about judgement — what belongs in a repository, when a criterion counts as verified.
  3. A canonical rule set, injected into context wherever work is decided, with a check phase before output is accepted. Chosen.

Decision

A single canonical document states the mesh's non-negotiable rules. It is injected proactively into every eligible design and analysis session — agents do not fetch it, it arrives — and a check phase verifies the session's output against it before the work proceeds.

It is a governed document, not a page. Changing it requires a proposal, sign-off by reviewers who are not the proposer, and a recorded decision. Drive-by edits are reverted.

Scoped override pages may tighten it for a team or product. They may never relax it.

Consequences

  • A rule reaches the work whether or not anyone remembered it existed.
  • The check phase makes a violation a blocking outcome rather than a review comment.
  • Two copies of the same rules now exist: this document, and the reasoning in HQ that earned them. The enforced copy wins by default, so the reasoned copy quietly stops being true — which is why 00-META/how-we-build.md is now the source and the governed page is derived from it, via playbook 05-constitution-sync.md.
  • Injection costs context on every eligible turn, and grows with the document. Nothing currently bounds that.
  • The amendment process requires two reviewers, which a mesh with one human operator satisfies only by counting agents. That tension is real and unresolved.

References

  • The governed page was authored 2026-07-10 and carries its own amendment process.
  • feat(noxflow): HAL architectural conformance gate for reviewer + architect (#296), 2026-06-10 — the check phase, predating the document it checks against.
  • Knowledge base: platform/constitution.