The three small points from the re-review of #146.
A move from a build that is not known excuses no wait. This covers an empty previous build (a plan's own module whose Previous was not recorded) and a previous build with no kept manifest. movesAddingGroups now answers false for both. Test: TestAMoveFromAnUnknownBuildExcusesNoWait.
The tier path's at-once put-back has a test. In TestATierPutsABrokenModuleBackAtOnce, the node tools' witness reverts them on the first machine. The test covers two cases: the gate is kept on the node tools, and the gate is kept on the module beside them. In both, the node tools are registered back and marked in the judging that finds them broken. The plan then judges the other module to its own pass, and only then fails.
putBackBroken counts a module as returned only after it is found among the carried moves, or is the plan's own.
The three small points from the re-review of #146.
- **A move from a build that is not known excuses no wait.** This covers an empty previous build (a plan's own module whose `Previous` was not recorded) and a previous build with no kept manifest. `movesAddingGroups` now answers false for both. Test: `TestAMoveFromAnUnknownBuildExcusesNoWait`.
- **The tier path's at-once put-back has a test.** In `TestATierPutsABrokenModuleBackAtOnce`, the node tools' witness reverts them on the first machine. The test covers two cases: the gate is kept on the node tools, and the gate is kept on the module beside them. In both, the node tools are registered back and marked in the judging that finds them broken. The plan then judges the other module to its own pass, and only then fails.
- **`putBackBroken` counts a module as returned only after it is found among the carried moves, or is the plan's own.**
`merge-check.sh` passes locally on main 41d6019.
mesh/merge-gate pass: builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step; every machine composes with the change as it…
build-agent keeps data (ADR 0233): what it holds is backed up before it moves
route-proxy provides route: its consumers are sent again after it
route-proxy keeps data (ADR 0233): what it holds is backed up before it moves
Machines
mesh-controller on novox: judging — 0 healthy judging(s) so far
Transitions
2026-10-08 13:52 (new) → proposed (announced): novox/mesh-controller#152's head announced
2026-10-08 13:56 proposed → checked (checked): the verdict names this commit
2026-10-08 13:56 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
2026-10-08 14:02 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
2026-10-08 14:02 published → delivering (go): its walk started: let go by this owner in its group's order, by a person, or on the controller's own path
2026-10-08 14:03 delivering → superseded (superseded): a newer delivery to the same trunk took over its walk
The commit's note under refs/notes/mesh-plan keeps every transition: git log --notes=mesh-plan.
<!-- mesh-delivery:view -->
**Delivery** `novox/mesh-controller@a44dc01c6540` — **superseded** since 2026-10-08T14:03:10Z
**Delivery plan** — builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step
- tier 0: mesh-controller
- tier 1: build-agent
- tier 2: route-proxy
- ace: receives build-agent, route-proxy
- g14: receives build-agent
- novox: receives mesh-controller, build-agent, route-proxy
- shanks: receives build-agent
- build-agent keeps data (ADR 0233): what it holds is backed up before it moves
- route-proxy provides route: its consumers are sent again after it
- route-proxy keeps data (ADR 0233): what it holds is backed up before it moves
**Machines**
- mesh-controller on novox: judging — 0 healthy judging(s) so far
**Transitions**
- 2026-10-08 13:52 (new) → proposed (announced): novox/mesh-controller#152's head announced
- 2026-10-08 13:56 proposed → checked (checked): the verdict names this commit
- 2026-10-08 13:56 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
- 2026-10-08 14:02 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
- 2026-10-08 14:02 published → delivering (go): its walk started: let go by this owner in its group's order, by a person, or on the controller's own path
- 2026-10-08 14:03 delivering → superseded (superseded): a newer delivery to the same trunk took over its walk
The commit's note under `refs/notes/mesh-plan` keeps every transition: `git log --notes=mesh-plan`.
build-agent keeps data (ADR 0233): what it holds is backed up before it moves
route-proxy provides route: its consumers are sent again after it
route-proxy keeps data (ADR 0233): what it holds is backed up before it moves
Run by the build seat on ace as build-1791467523544381420 (builds --log build-1791467523544381420).
--- the gate: build-agent, mesh-controller, route-proxy
mesh-controller: ok, 50 tool(s); WARNING: controller stay(s) up and say(s) not how it is ready — judged by liveness alone, refused from 2026-11-18 (ADR 0240 rule 8)
long-running resources without health: 1
1 manifest(s) checked. Judged against the seats this binary carries; a claim on one of the mesh's own seats is judged fully at registration, and a seat declared by a module not given here reads as unknown. Identities judged on a 6-character machine name, against the bounds of the providers given here
judging 0 module(s) changed against 4 machine(s), as the snapshot of 2026-10-08T13:48:06Z says they run
composing every machine as the mesh is
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
composing every machine with the change
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
merge gate: PASS — every machine composes with the change as it did without (4 of 4 compose)
judged by controller development build against the facts of 2026-10-08T13:48:06Z
machines:
- a machine (f35): composes
- holds mesh-dns-resolver (idt): composes
- holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-delivery, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr): composes
- a machine (yvbpsm): composes
a merge would rebuild 3 module(s) in 3 tier(s): build-agent, mesh-controller, route-proxy
--- its merge-check.sh (go toolchain)
ok github.com/novox/mesh-controller/cmd/mesh-builder 1.031s
ok github.com/novox/mesh-controller/cmd/mesh-controller 148.383s
ok github.com/novox/mesh-controller/examples/objectstore-provisioner 1.022s
ok github.com/novox/mesh-controller/examples/postgres-provisioner 1.036s
ok github.com/novox/mesh-controller/examples/redis-provisioner 1.024s
ok github.com/novox/mesh-controller/examples/route-proxy 1.136s
ok github.com/novox/mesh-controller/internal/artifacts 1.054s
ok github.com/novox/mesh-controller/internal/broker 2.445s
ok github.com/novox/mesh-controller/internal/builder 1.685s
ok github.com/novox/mesh-controller/internal/catalogue 4.049s
ok github.com/novox/mesh-controller/internal/conditions 2.144s
ok github.com/novox/mesh-controller/internal/envfile 1.034s
ok github.com/novox/mesh-controller/internal/facts 1.035s
ok github.com/novox/mesh-controller/internal/identity 4.032s
ok github.com/novox/mesh-controller/internal/inventory 66.659s
ok github.com/novox/mesh-controller/internal/lease 17.671s
ok github.com/novox/mesh-controller/internal/licences 3.680s
ok github.com/novox/mesh-controller/internal/licences/adapters 1.031s
ok github.com/novox/mesh-controller/internal/link 43.464s
ok github.com/novox/mesh-controller/internal/lint 1.882s
ok github.com/novox/mesh-controller/internal/outward 1.060s
ok github.com/novox/mesh-controller/internal/overlay 1.060s
ok github.com/novox/mesh-controller/internal/secrets 1.416s
ok github.com/novox/mesh-controller/internal/store 3.244s
ok github.com/novox/mesh-controller/internal/testbus 1.219s
ok github.com/novox/mesh-controller/internal/token 1.017s
**Merge check** at `a44dc01c`
- `mesh/merge-gate`: **PASS** — every machine composes with the change as it did without (4 of 4 compose) (modules: build-agent, mesh-controller, route-proxy)
- `mesh/repo-check`: **PASS** — its merge-check.sh passed
**Delivery plan** — builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step
- tier 0: mesh-controller
- tier 1: build-agent
- tier 2: route-proxy
- ace: receives build-agent, route-proxy
- g14: receives build-agent
- novox: receives mesh-controller, build-agent, route-proxy
- shanks: receives build-agent
- build-agent keeps data (ADR 0233): what it holds is backed up before it moves
- route-proxy provides route: its consumers are sent again after it
- route-proxy keeps data (ADR 0233): what it holds is backed up before it moves
Run by the build seat on ace as `build-1791467523544381420` (`builds --log build-1791467523544381420`).
```
--- the gate: build-agent, mesh-controller, route-proxy
mesh-controller: ok, 50 tool(s); WARNING: controller stay(s) up and say(s) not how it is ready — judged by liveness alone, refused from 2026-11-18 (ADR 0240 rule 8)
long-running resources without health: 1
1 manifest(s) checked. Judged against the seats this binary carries; a claim on one of the mesh's own seats is judged fully at registration, and a seat declared by a module not given here reads as unknown. Identities judged on a 6-character machine name, against the bounds of the providers given here
judging 0 module(s) changed against 4 machine(s), as the snapshot of 2026-10-08T13:48:06Z says they run
composing every machine as the mesh is
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
composing every machine with the change
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
merge gate: PASS — every machine composes with the change as it did without (4 of 4 compose)
judged by controller development build against the facts of 2026-10-08T13:48:06Z
machines:
- a machine (f35): composes
- holds mesh-dns-resolver (idt): composes
- holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-delivery, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr): composes
- a machine (yvbpsm): composes
a merge would rebuild 3 module(s) in 3 tier(s): build-agent, mesh-controller, route-proxy
--- its merge-check.sh (go toolchain)
ok github.com/novox/mesh-controller/cmd/mesh-builder 1.031s
ok github.com/novox/mesh-controller/cmd/mesh-controller 148.383s
ok github.com/novox/mesh-controller/examples/objectstore-provisioner 1.022s
ok github.com/novox/mesh-controller/examples/postgres-provisioner 1.036s
ok github.com/novox/mesh-controller/examples/redis-provisioner 1.024s
ok github.com/novox/mesh-controller/examples/route-proxy 1.136s
ok github.com/novox/mesh-controller/internal/artifacts 1.054s
ok github.com/novox/mesh-controller/internal/broker 2.445s
ok github.com/novox/mesh-controller/internal/builder 1.685s
ok github.com/novox/mesh-controller/internal/catalogue 4.049s
ok github.com/novox/mesh-controller/internal/conditions 2.144s
ok github.com/novox/mesh-controller/internal/envfile 1.034s
ok github.com/novox/mesh-controller/internal/facts 1.035s
ok github.com/novox/mesh-controller/internal/identity 4.032s
ok github.com/novox/mesh-controller/internal/inventory 66.659s
ok github.com/novox/mesh-controller/internal/lease 17.671s
ok github.com/novox/mesh-controller/internal/licences 3.680s
ok github.com/novox/mesh-controller/internal/licences/adapters 1.031s
ok github.com/novox/mesh-controller/internal/link 43.464s
ok github.com/novox/mesh-controller/internal/lint 1.882s
ok github.com/novox/mesh-controller/internal/outward 1.060s
ok github.com/novox/mesh-controller/internal/overlay 1.060s
ok github.com/novox/mesh-controller/internal/secrets 1.416s
ok github.com/novox/mesh-controller/internal/store 3.244s
ok github.com/novox/mesh-controller/internal/testbus 1.219s
ok github.com/novox/mesh-controller/internal/token 1.017s
```
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.
The three small points from the re-review of #146.
Previouswas not recorded) and a previous build with no kept manifest.movesAddingGroupsnow answers false for both. Test:TestAMoveFromAnUnknownBuildExcusesNoWait.TestATierPutsABrokenModuleBackAtOnce, the node tools' witness reverts them on the first machine. The test covers two cases: the gate is kept on the node tools, and the gate is kept on the module beside them. In both, the node tools are registered back and marked in the judging that finds them broken. The plan then judges the other module to its own pass, and only then fails.putBackBrokencounts a module as returned only after it is found among the carried moves, or is the plan's own.merge-check.shpasses locally on main41d6019.Delivery
novox/mesh-controller@a44dc01c6540— superseded since 2026-10-08T14:03:10ZDelivery plan — builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step
Machines
Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition:git log --notes=mesh-plan.Merge check at
a44dc01cmesh/merge-gate: PASS — every machine composes with the change as it did without (4 of 4 compose) (modules: build-agent, mesh-controller, route-proxy)mesh/repo-check: PASS — its merge-check.sh passedDelivery plan — builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step
Run by the build seat on ace as
build-1791467523544381420(builds --log build-1791467523544381420).