Two replays for hq issues 292 and 298, so both can resolve with replay: (ADR 0237).
R292cmd/mesh-controller/replay292_test.go: the two drills of 2026-10-07, recorded through hand-act record --cause drill, want no healer from S15. It is in its own file because replays_test.go holds replays of later commits that do not build at #109's parent.
R298internal/catalogue/replays_test.go: the delivery seat's holder holds the seat both before and after it serves checks, so neither repository has to merge first.
Both tests use only what the code had before each fix. mesh-lab's prover says PROVED for both: R292 fails on 582f4a0 and passes on 863ebd4 (#109); R298 fails on e550c95 and passes on f6aea4b (#117).
Registered in novox/mesh-lab (branch replays/292-298). That register points at this branch's commit 80f9d26 as Home, so it needs this PR merged with a merge commit, not a squash.
Two replays for hq issues 292 and 298, so both can resolve with `replay:` (ADR 0237).
- **R292** `cmd/mesh-controller/replay292_test.go`: the two drills of 2026-10-07, recorded through `hand-act record --cause drill`, want no healer from S15. It is in its own file because `replays_test.go` holds replays of later commits that do not build at #109's parent.
- **R298** `internal/catalogue/replays_test.go`: the delivery seat's holder holds the seat both before and after it serves `checks`, so neither repository has to merge first.
Both tests use only what the code had before each fix. mesh-lab's prover says PROVED for both: R292 fails on 582f4a0 and passes on 863ebd4 (#109); R298 fails on e550c95 and passes on f6aea4b (#117).
Registered in novox/mesh-lab (branch replays/292-298). That register points at this branch's commit 80f9d26 as Home, so it needs this PR merged with a merge commit, not a squash.
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…
R292: two drills recorded through hand-act record want no healer.
R298: the delivery seat's holder holds it before and after it serves checks,
so neither repository has to merge first.
composed together: pass — every machine composes with the change as it did without (4 of 4 compose)
Machines
mesh-controller on novox: passed — healthy 3 times over 3m40s
mesh-controller on the rest running it: sent
build-agent on ace: passed — healthy 3 times over 2m20s
build-agent on the rest running it: sent
route-proxy on ace: passed — healthy 3 times over 3m15s
route-proxy on the rest running it: sent
Transitions
2026-10-07 23:28 (new) → proposed (announced): novox/mesh-controller#129's head announced
2026-10-07 23:38 proposed → checked (checked): the verdict names this commit
2026-10-07 23:38 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
2026-10-07 23:42 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 23:42 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 00:02 delivering → delivered (done): its walk is done: every machine of its deploy plan passed, or was left as its policy says
The commit's note under refs/notes/mesh-plan keeps every transition: git log --notes=mesh-plan.
<!-- mesh-delivery:view -->
**Delivery** `novox/mesh-controller@80f9d26e6d4c` — **delivered** since 2026-10-08T00:02:49Z
**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
**Group** `replays/292-298`, in order: novox/mesh-controller@80f9d26e6d4c → novox/mesh-lab@d0b0c7b02aad
- composed together: pass — every machine composes with the change as it did without (4 of 4 compose)
**Machines**
- mesh-controller on novox: passed — healthy 3 times over 3m40s
- mesh-controller on the rest running it: sent
- build-agent on ace: passed — healthy 3 times over 2m20s
- build-agent on the rest running it: sent
- route-proxy on ace: passed — healthy 3 times over 3m15s
- route-proxy on the rest running it: sent
**Transitions**
- 2026-10-07 23:28 (new) → proposed (announced): novox/mesh-controller#129's head announced
- 2026-10-07 23:38 proposed → checked (checked): the verdict names this commit
- 2026-10-07 23:38 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
- 2026-10-07 23:42 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 23:42 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 00:02 delivering → delivered (done): its walk is done: every machine of its deploy plan passed, or was left as its policy says
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 shanks as build-1791415682759737809 (builds --log build-1791415682759737809).
--- the gate: build-agent, mesh-controller, route-proxy
mesh-controller: ok, 46 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-07T22:47:27Z 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-07T22:47:27Z
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.034s
ok github.com/novox/mesh-controller/cmd/mesh-controller 476.873s
ok github.com/novox/mesh-controller/examples/objectstore-provisioner 1.034s
ok github.com/novox/mesh-controller/examples/postgres-provisioner 1.042s
ok github.com/novox/mesh-controller/examples/redis-provisioner 1.035s
ok github.com/novox/mesh-controller/examples/route-proxy 1.238s
ok github.com/novox/mesh-controller/internal/artifacts 1.067s
ok github.com/novox/mesh-controller/internal/broker 2.538s
ok github.com/novox/mesh-controller/internal/builder 1.357s
ok github.com/novox/mesh-controller/internal/catalogue 4.502s
ok github.com/novox/mesh-controller/internal/conditions 2.021s
ok github.com/novox/mesh-controller/internal/envfile 1.041s
ok github.com/novox/mesh-controller/internal/facts 1.059s
ok github.com/novox/mesh-controller/internal/identity 44.337s
ok github.com/novox/mesh-controller/internal/inventory 286.604s
ok github.com/novox/mesh-controller/internal/lease 17.701s
ok github.com/novox/mesh-controller/internal/licences 41.015s
ok github.com/novox/mesh-controller/internal/licences/adapters 1.051s
ok github.com/novox/mesh-controller/internal/link 84.392s
ok github.com/novox/mesh-controller/internal/lint 1.955s
ok github.com/novox/mesh-controller/internal/outward 1.069s
ok github.com/novox/mesh-controller/internal/overlay 1.068s
ok github.com/novox/mesh-controller/internal/secrets 1.511s
ok github.com/novox/mesh-controller/internal/store 9.773s
ok github.com/novox/mesh-controller/internal/testbus 1.217s
ok github.com/novox/mesh-controller/internal/token 1.013s
**Merge check** at `80f9d26e`
- `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 shanks as `build-1791415682759737809` (`builds --log build-1791415682759737809`).
```
--- the gate: build-agent, mesh-controller, route-proxy
mesh-controller: ok, 46 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-07T22:47:27Z 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-07T22:47:27Z
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.034s
ok github.com/novox/mesh-controller/cmd/mesh-controller 476.873s
ok github.com/novox/mesh-controller/examples/objectstore-provisioner 1.034s
ok github.com/novox/mesh-controller/examples/postgres-provisioner 1.042s
ok github.com/novox/mesh-controller/examples/redis-provisioner 1.035s
ok github.com/novox/mesh-controller/examples/route-proxy 1.238s
ok github.com/novox/mesh-controller/internal/artifacts 1.067s
ok github.com/novox/mesh-controller/internal/broker 2.538s
ok github.com/novox/mesh-controller/internal/builder 1.357s
ok github.com/novox/mesh-controller/internal/catalogue 4.502s
ok github.com/novox/mesh-controller/internal/conditions 2.021s
ok github.com/novox/mesh-controller/internal/envfile 1.041s
ok github.com/novox/mesh-controller/internal/facts 1.059s
ok github.com/novox/mesh-controller/internal/identity 44.337s
ok github.com/novox/mesh-controller/internal/inventory 286.604s
ok github.com/novox/mesh-controller/internal/lease 17.701s
ok github.com/novox/mesh-controller/internal/licences 41.015s
ok github.com/novox/mesh-controller/internal/licences/adapters 1.051s
ok github.com/novox/mesh-controller/internal/link 84.392s
ok github.com/novox/mesh-controller/internal/lint 1.955s
ok github.com/novox/mesh-controller/internal/outward 1.069s
ok github.com/novox/mesh-controller/internal/overlay 1.068s
ok github.com/novox/mesh-controller/internal/secrets 1.511s
ok github.com/novox/mesh-controller/internal/store 9.773s
ok github.com/novox/mesh-controller/internal/testbus 1.217s
ok github.com/novox/mesh-controller/internal/token 1.013s
```
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.
Two replays for hq issues 292 and 298, so both can resolve with
replay:(ADR 0237).cmd/mesh-controller/replay292_test.go: the two drills of 2026-10-07, recorded throughhand-act record --cause drill, want no healer from S15. It is in its own file becausereplays_test.goholds replays of later commits that do not build at #109's parent.internal/catalogue/replays_test.go: the delivery seat's holder holds the seat both before and after it serveschecks, so neither repository has to merge first.Both tests use only what the code had before each fix. mesh-lab's prover says PROVED for both: R292 fails on
582f4a0and passes on863ebd4(#109); R298 fails one550c95and passes onf6aea4b(#117).Registered in novox/mesh-lab (branch replays/292-298). That register points at this branch's commit
80f9d26as Home, so it needs this PR merged with a merge commit, not a squash.Delivery
novox/mesh-controller@80f9d26e6d4c— delivered since 2026-10-08T00:02:49ZDelivery plan — builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step
Group
replays/292-298, in order: novox/mesh-controller@80f9d26e6d → novox/mesh-lab@d0b0c7b02aMachines
Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition:git log --notes=mesh-plan.Merge check at
80f9d26emesh/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 shanks as
build-1791415682759737809(builds --log build-1791415682759737809).