Files
hq/03-DESIGN
jschoubben bf4d4e2e7b The three parked questions are answered: 0114 accepted, 0068 superseded, 117 settled
**0114 accepted.** The separation it draws — a consumer's resource and a
credential that reaches it are different things — is a data-loss rule,
and a record naming one should not sit unresolved while the code that
could hit it is written. Not built, and accepting it schedules nothing;
accepted-and-not-built is where 0141 and 0142 already are.

**0068 superseded by 0149, the live mesh is the test bed.** Never built,
and contradicted by practice that was written down nowhere but a handoff
note. The faults that cost the most are faults of a mesh that already
exists — bound consumers, containers made against an older roster, an
adopted machine — and a bed is by construction a mesh that does not.
Issue 156 settles it: that change was verified honestly, on the only path
where it cannot fail. The lab is not retired; raising a mesh from bare is
now its whole job.

**117 answered by 0150.** A module's own code runs as supervised
processes under the module's one account. 0047's argument was for a
runtime per module, not for a container — a unit satisfies it and runs as
an account. The invariant is the account, not the process count: its
worry was a second identity to scope and seal, and processes sharing one
account create none. Designs 18 and 20 now cite it and 0047 carries a
dated pointer, which closes the third disagreement — that neither design
knew the record existed.
2026-09-30 00:39:09 +02:00
..

03-DESIGN

The authoritative specification. Implementation is built against what is written here.

Two layers

Folder What it is
00-as-is/ The mesh that exists today. Shipped behaviour, described as it is — including behaviour nobody would choose again.
01-to-be/ The mesh being built toward. Every statement traceable to a record in 02-DECISIONS/.

They are never mixed. A statement about the future does not belong in an as-is document, and an as-is document is never edited to describe an intention.

When a to-be design ships, it does not move. Its as-is counterpart is written or updated, the to-be document's status becomes implemented, and both stand — one describing what runs, the other recording what was intended. Deleting the intention loses the reasoning, which is the expensive half.

Frontmatter

Every design document (not the READMEs) carries:

---
layer: as-is | to-be
status: designed | in-progress | implemented | abandoned
code: []                 # owning code repo(s), from 00-META/repos.md
updated: YYYY-MM-DD      # date of the last status change, not of text edits
decisions: []            # 02-DECISIONS/ records this document rests on
---

For an as-is document, status: implemented is the normal state — it describes something that runs — and code: names where that implementation lives.

Status changes when implementation state changes, never because design text was edited. An implemented claim must be defensible from the owning repository's main branch, not from intent. If it cannot be checked, it is in-progress.

Cross-cutting views are generated from this frontmatter by the hq-status skill and never written to disk.

What belongs here

Functional analysis, architectural description, and specification — prose and diagrams only, no code. A manifest field may be named; a manifest may not be pasted. A document enters the to-be layer only after the decision behind it is recorded in 02-DECISIONS/ and the research that produced it is closed.

Subfolders are encouraged where a layer grows enough to need them.