Issue 295 and ADR 0242 (proposed): a recorded build moves only by a person's push, and a send says what it recreates #171

Merged
mesh-admin merged 2 commits from issues/295-a-recorded-build-was-carried-by-a-plans-send into main 2026-10-07 18:33:14 +00:00
Contributor

Issue 295

The plan delivering the first health declarations (ADR 0240) did two things with nobody's push:

  • Its gated sends to its two first machines recreated the database on both machines and the document store on the control node. Both have policy record.
  • The same sends recreated nine of mail's containers at once, for a change that brought no new image.

The report gives the evidence from the plan, the gate verdicts, what each machine was last sent, the controller's journal and what each machine reports.

Cause: a send composes the machine's whole declaration from the builds the mesh holds, and ADR 0236 §4a's "waiting" and "judged" were only ever computed for modules that roll out.

ADR 0242 (proposed, for the operator)

  1. A recorded build moves only by a person's push. Every other send composes a recorded module at the build its machine runs. The bus step lets only the bus move.
  2. A send says what it recreates: N of M containers, with a new image or only their declaration.
  3. A module people use directly declares record and says why. Mail is the first.

Recreating containers one at a time, and quiet windows, are named as options and left open.

Fixes, not merged: novox/mesh-controller#115 (merge first), then novox/mesh-catalog#106.

records.py, cycle.py and index.py pass.

## Issue 295 The plan delivering the first health declarations (ADR 0240) did two things with nobody's push: - Its gated sends to its two first machines recreated the database on both machines and the document store on the control node. Both have policy `record`. - The same sends recreated nine of mail's containers at once, for a change that brought no new image. The report gives the evidence from the plan, the gate verdicts, what each machine was last sent, the controller's journal and what each machine reports. **Cause:** a send composes the machine's whole declaration from the builds the mesh holds, and ADR 0236 §4a's "waiting" and "judged" were only ever computed for modules that roll out. ## ADR 0242 (proposed, for the operator) 1. A recorded build moves only by a person's push. Every other send composes a recorded module at the build its machine runs. The bus step lets only the bus move. 2. A send says what it recreates: N of M containers, with a new image or only their declaration. 3. A module people use directly declares `record` and says why. Mail is the first. Recreating containers one at a time, and quiet windows, are named as options and left open. Fixes, not merged: novox/mesh-controller#115 (merge first), then novox/mesh-catalog#106. `records.py`, `cycle.py` and `index.py` pass.
Author
Contributor

Delivery novox/hq@998980bbdaad — delivered since 2026-10-07T18:33:21Z

Delivery plan — builds nothing: the change touches no module of the mesh's graph

Transitions

  • 2026-10-07 18:25 (new) → proposed (announced): novox/hq#171's head announced
  • 2026-10-07 18:26 proposed → checked (checked): the verdict names this commit
  • 2026-10-07 18:26 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
  • 2026-10-07 18:33 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
  • 2026-10-07 18:33 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@998980bbdaad` — **delivered** since 2026-10-07T18:33:21Z **Delivery plan** — builds nothing: the change touches no module of the mesh's graph **Transitions** - 2026-10-07 18:25 (new) → proposed (announced): novox/hq#171's head announced - 2026-10-07 18:26 proposed → checked (checked): the verdict names this commit - 2026-10-07 18:26 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail - 2026-10-07 18:33 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move - 2026-10-07 18:33 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`.
jschoubben force-pushed issues/295-a-recorded-build-was-carried-by-a-plans-send from 1f161c3cd7 to 18774cbefa 2026-10-07 18:13:46 +00:00 Compare
jschoubben added 2 commits 2026-10-07 18:25:02 +00:00
The plan delivering the first health declarations recreated the database and
the document store (record) and nine of mail's containers at once. Record
held only against a person's push to another machine; it now holds against
every send but a person's, and a send says what it recreates.
Issue 295: use the glossary's words (ADR 0244)
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
mesh/delivery delivered
998980bbda
jschoubben force-pushed issues/295-a-recorded-build-was-carried-by-a-plans-send from 18774cbefa to 998980bbda 2026-10-07 18:25:02 +00:00 Compare
mesh-admin merged commit f6aa1ced5e into main 2026-10-07 18:33:14 +00:00
mesh-admin deleted branch issues/295-a-recorded-build-was-carried-by-a-plans-send 2026-10-07 18:33:14 +00:00
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/hq#171