Design 47's release 4 gains the check: only what changed runs, tests by the language's build module, the composition by the assigner, one status (ADR 0444 to ADR 0447)
#438
Graduates research 058 (the check) into design 47, playbook 02.
What changed
Parts: the checker runs a change's tests through the build module of each module's language and writes the one status; the assigner also runs the composition check, its module made in release 4 for that alone.
Checks: a new subsection, The check from release 4: one status mesh/check per change and one verdict per delivery group; its line says what was proved and each part's time; tests by the language's convention with each level's bounds (unit 5 s running; integration 30 s setup and 60 s running); kept verdicts by digest, the change's own tests first; the composition check owned by the assigner, reading keys and composing only the machines the change touches. The sections above it stay the rule until release 4 is delivered.
Builds without a toolchain image: the toolchain line no longer selects a check; hq's script is the one exception until issue 1296.
Acceptance tests 21 to 24: a leaf fix's check in about a minute, measured as research 058 measured it; only what changed runs; the composition composes only the touched machines with no clone; one status.
R4 row: outcome, tests 21 to 24, repositories, and issues 1287 to 1303.
Glossary: merge check rewritten for release 4; composition check and kept verdict added; the homonym rows say merge gate gives way to composition check from release 4 (struck when that release is delivered, issue 1303).
Decisions
ADR 0444: a check runs only what changed (accepted).
ADR 0445: the language's build module runs the tests; merge-check.sh goes (accepted).
ADR 0446: the composition check belongs to the assigner (needs the operator's Approve).
ADR 0447: one status per change and per group (needs the operator's Approve).
sh merge-check.sh passes in the branch.
Graduates research 058 (the check) into design 47, playbook 02.
## What changed
- **Parts:** the checker runs a change's tests through the build module of each module's language and writes the one status; the assigner also runs the composition check, its module made in release 4 for that alone.
- **Checks:** a new subsection, *The check from release 4*: one status `mesh/check` per change and one verdict per delivery group; its line says what was proved and each part's time; tests by the language's convention with each level's bounds (unit 5 s running; integration 30 s setup and 60 s running); kept verdicts by digest, the change's own tests first; the composition check owned by the assigner, reading keys and composing only the machines the change touches. The sections above it stay the rule until release 4 is delivered.
- **Builds without a toolchain image:** the toolchain line no longer selects a check; hq's script is the one exception until issue 1296.
- **Acceptance tests 21 to 24:** a leaf fix's check in about a minute, measured as research 058 measured it; only what changed runs; the composition composes only the touched machines with no clone; one status.
- **R4 row:** outcome, tests 21 to 24, repositories, and issues 1287 to 1303.
- **Glossary:** merge check rewritten for release 4; composition check and kept verdict added; the homonym rows say merge gate gives way to composition check from release 4 (struck when that release is delivered, issue 1303).
## Decisions
- ADR 0444: a check runs only what changed (accepted).
- ADR 0445: the language's build module runs the tests; merge-check.sh goes (accepted).
- ADR 0446: the composition check belongs to the assigner (needs the operator's Approve).
- ADR 0447: one status per change and per group (needs the operator's Approve).
`sh merge-check.sh` passes in the branch.
The check took 3 to 4.5 minutes on every change and paid the whole suite again on every re-ask; the operator's target leaves it about a minute. ADRs 0444 to 0447 decide how; the glossary gains composition check and kept verdict, and merge gate is struck once release 4 is delivered (issue 1303).
Deliverynovox/hq@9ffa60924ee9 — delivered since 2026-10-19T20:12:08Z
Delivery plan — builds nothing: the change touches no module of the mesh's graph
Transitions
2026-10-19 20:04 (new) → proposed (announced): novox/hq#438's head announced
2026-10-19 20:10 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
2026-10-19 20:10 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
2026-10-19 20:12 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
2026-10-19 20:12 published → delivered (done): nothing for a walk to move
The commit's note under refs/notes/mesh-plan keeps every transition: git log --notes=mesh-plan.
<!-- mesh-delivery:view -->
**Delivery** `novox/hq@9ffa60924ee9` — **delivered** since 2026-10-19T20:12:08Z
**Delivery plan** — builds nothing: the change touches no module of the mesh's graph
**Transitions**
- 2026-10-19 20:04 (new) → proposed (announced): novox/hq#438's head announced
- 2026-10-19 20:10 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
- 2026-10-19 20:10 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
- 2026-10-19 20:12 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
- 2026-10-19 20:12 published → delivered (done): nothing for a walk to move
The commit's note under `refs/notes/mesh-plan` keeps every transition: `git log --notes=mesh-plan`.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Graduates research 058 (the check) into design 47, playbook 02.
What changed
mesh/checkper change and one verdict per delivery group; its line says what was proved and each part's time; tests by the language's convention with each level's bounds (unit 5 s running; integration 30 s setup and 60 s running); kept verdicts by digest, the change's own tests first; the composition check owned by the assigner, reading keys and composing only the machines the change touches. The sections above it stay the rule until release 4 is delivered.Decisions
sh merge-check.shpasses in the branch.Delivery
novox/hq@9ffa60924ee9— delivered since 2026-10-19T20:12:08ZDelivery plan — builds nothing: the change touches no module of the mesh's graph
Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition:git log --notes=mesh-plan.