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)
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.
A send says what it recreates: N of M containers, with a new image or only their declaration.
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.
## 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.
Deliverynovox/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`.
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.
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.
Issue 295
The plan delivering the first health declarations (ADR 0240) did two things with nobody's push:
record.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)
recordand 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.pyandindex.pypass.Delivery
novox/hq@998980bbdaad— delivered since 2026-10-07T18:33:21ZDelivery 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.1f161c3cd7to18774cbefa18774cbefato998980bbda