The delivery group feat/a-machine-joins-through-the-tunnel (mesh-controller #132, mesh-host #52, mesh-lab #61, each ready) was rejected as a cycle: #132 moved the build agent, which builds the node-engine (built by: controller first), and engine before controller put the node-engine first. Every two-way pair was a cycle, and the refusal named neither rule.
orderOf now resolves rules by precedence (hq ADR 0249): declared, then built by and version skew, then engine before controller. The winning pair carries over (the rules it won over). Rules of one rank both ways are still refused: both pairs kept, the members a cycle, and a contradictions entry naming both rules and the after: line that settles it.
TestReplay309 replays the group with only what orderOf had before (registered as R309 in mesh-lab; proved with cmd/prove: fails before, passes on c5a2edf).
TestAnOrderRuleYieldsToAStrongerOne, and the existing order test updated: a declared line now wins over version skew; declared both ways is refused.
sh merge-check.sh passes (in a clean worktree, without MESH_TEST_POSTGRES).
Merge before novox/mesh-catalog's mesh-delivery PR for 309 (which reads the new fields, and reads an older answer as before), then mesh-lab's register, then hq.
The delivery group `feat/a-machine-joins-through-the-tunnel` (mesh-controller #132, mesh-host #52, mesh-lab #61, each ready) was rejected as a cycle: #132 moved the build agent, which builds the node-engine (*built by*: controller first), and *engine before controller* put the node-engine first. Every two-way pair was a cycle, and the refusal named neither rule.
`orderOf` now resolves rules by precedence (hq ADR 0249): *declared*, then *built by* and *version skew*, then *engine before controller*. The winning pair carries `over` (the rules it won over). Rules of one rank both ways are still refused: both pairs kept, the members a `cycle`, and a `contradictions` entry naming both rules and the `after:` line that settles it.
- `TestReplay309` replays the group with only what `orderOf` had before (registered as R309 in mesh-lab; proved with `cmd/prove`: fails before, passes on c5a2edf).
- `TestAnOrderRuleYieldsToAStrongerOne`, and the existing order test updated: a declared line now wins over version skew; declared both ways is refused.
`sh merge-check.sh` passes (in a clean worktree, without MESH_TEST_POSTGRES).
Merge before novox/mesh-catalog's mesh-delivery PR for 309 (which reads the new fields, and reads an older answer as before), then mesh-lab's register, then hq.
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…
The group feat/a-machine-joins-through-the-tunnel was refused: the
controller's member moved the build agent, which builds the node-engine
(built by: controller first), and the node-engine goes before the
controller (engine before controller: engine first). Both rules applied
to one pair in opposite directions, and every two-way pair was a cycle.
Rules now have a precedence (hq ADR 0249): a declared after: line, then
what the graph and the change say (built by, version skew), then the
rollout default engine-before-controller. The higher rule decides the
pair, which says what it won over. Rules of one rank both ways are still
refused, as a contradiction naming both rules and how to declare the
order. TestReplay309 replays the group with only what orderOf had before.
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: passed — healthy 3 times over 3m39s
mesh-controller on the rest running it: sent
build-agent on ace: passed — healthy 3 times over 3m17s
build-agent on the rest running it: sent
route-proxy on ace: passed — healthy 3 times over 3m43s
route-proxy on the rest running it: sent
Transitions
2026-10-08 08:46 (new) → proposed (announced): novox/mesh-controller#134's head announced
2026-10-08 09:02 proposed → checked (checked): the verdict names this commit
2026-10-08 09:02 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
2026-10-08 09:11 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 09:11 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 09:26 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@c5a2edf04a84` — **delivered** since 2026-10-08T09:26:32Z
**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: passed — healthy 3 times over 3m39s
- mesh-controller on the rest running it: sent
- build-agent on ace: passed — healthy 3 times over 3m17s
- build-agent on the rest running it: sent
- route-proxy on ace: passed — healthy 3 times over 3m43s
- route-proxy on the rest running it: sent
**Transitions**
- 2026-10-08 08:46 (new) → proposed (announced): novox/mesh-controller#134's head announced
- 2026-10-08 09:02 proposed → checked (checked): the verdict names this commit
- 2026-10-08 09:02 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
- 2026-10-08 09:11 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 09:11 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 09:26 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 novox as build-1791449195850344339 (builds --log build-1791449195850344339).
--- the gate: build-agent, mesh-controller, route-proxy
mesh-controller: ok, 47 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-08T08:48:42Z 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-08T08:48:42Z
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.042s
ok github.com/novox/mesh-controller/cmd/mesh-controller 179.094s
ok github.com/novox/mesh-controller/examples/objectstore-provisioner 1.024s
ok github.com/novox/mesh-controller/examples/postgres-provisioner 1.043s
ok github.com/novox/mesh-controller/examples/redis-provisioner 1.016s
ok github.com/novox/mesh-controller/examples/route-proxy 1.154s
ok github.com/novox/mesh-controller/internal/artifacts 1.062s
ok github.com/novox/mesh-controller/internal/broker 2.737s
ok github.com/novox/mesh-controller/internal/builder 1.488s
ok github.com/novox/mesh-controller/internal/catalogue 5.305s
ok github.com/novox/mesh-controller/internal/conditions 2.004s
ok github.com/novox/mesh-controller/internal/envfile 1.020s
ok github.com/novox/mesh-controller/internal/facts 1.035s
ok github.com/novox/mesh-controller/internal/identity 5.298s
ok github.com/novox/mesh-controller/internal/inventory 86.271s
ok github.com/novox/mesh-controller/internal/lease 17.703s
ok github.com/novox/mesh-controller/internal/licences 4.869s
ok github.com/novox/mesh-controller/internal/licences/adapters 1.013s
ok github.com/novox/mesh-controller/internal/link 46.155s
ok github.com/novox/mesh-controller/internal/lint 2.129s
ok github.com/novox/mesh-controller/internal/outward 1.036s
ok github.com/novox/mesh-controller/internal/overlay 1.027s
ok github.com/novox/mesh-controller/internal/secrets 1.553s
ok github.com/novox/mesh-controller/internal/store 3.533s
ok github.com/novox/mesh-controller/internal/testbus 1.206s
ok github.com/novox/mesh-controller/internal/token 1.020s
**Merge check** at `c5a2edf0`
- `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 novox as `build-1791449195850344339` (`builds --log build-1791449195850344339`).
```
--- the gate: build-agent, mesh-controller, route-proxy
mesh-controller: ok, 47 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-08T08:48:42Z 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-08T08:48:42Z
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.042s
ok github.com/novox/mesh-controller/cmd/mesh-controller 179.094s
ok github.com/novox/mesh-controller/examples/objectstore-provisioner 1.024s
ok github.com/novox/mesh-controller/examples/postgres-provisioner 1.043s
ok github.com/novox/mesh-controller/examples/redis-provisioner 1.016s
ok github.com/novox/mesh-controller/examples/route-proxy 1.154s
ok github.com/novox/mesh-controller/internal/artifacts 1.062s
ok github.com/novox/mesh-controller/internal/broker 2.737s
ok github.com/novox/mesh-controller/internal/builder 1.488s
ok github.com/novox/mesh-controller/internal/catalogue 5.305s
ok github.com/novox/mesh-controller/internal/conditions 2.004s
ok github.com/novox/mesh-controller/internal/envfile 1.020s
ok github.com/novox/mesh-controller/internal/facts 1.035s
ok github.com/novox/mesh-controller/internal/identity 5.298s
ok github.com/novox/mesh-controller/internal/inventory 86.271s
ok github.com/novox/mesh-controller/internal/lease 17.703s
ok github.com/novox/mesh-controller/internal/licences 4.869s
ok github.com/novox/mesh-controller/internal/licences/adapters 1.013s
ok github.com/novox/mesh-controller/internal/link 46.155s
ok github.com/novox/mesh-controller/internal/lint 2.129s
ok github.com/novox/mesh-controller/internal/outward 1.036s
ok github.com/novox/mesh-controller/internal/overlay 1.027s
ok github.com/novox/mesh-controller/internal/secrets 1.553s
ok github.com/novox/mesh-controller/internal/store 3.533s
ok github.com/novox/mesh-controller/internal/testbus 1.206s
ok github.com/novox/mesh-controller/internal/token 1.020s
```
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 g14 as build-1791450102421611107 (builds --log build-1791450102421611107).
--- the gate: build-agent, mesh-controller, route-proxy
mesh-controller: ok, 47 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-08T08:57:42Z 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-08T08:57:42Z
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.032s
ok github.com/novox/mesh-controller/cmd/mesh-controller 157.908s
ok github.com/novox/mesh-controller/examples/objectstore-provisioner 1.015s
ok github.com/novox/mesh-controller/examples/postgres-provisioner 1.022s
ok github.com/novox/mesh-controller/examples/redis-provisioner 1.015s
ok github.com/novox/mesh-controller/examples/route-proxy 1.194s
ok github.com/novox/mesh-controller/internal/artifacts 1.041s
ok github.com/novox/mesh-controller/internal/broker 2.424s
ok github.com/novox/mesh-controller/internal/builder 1.260s
ok github.com/novox/mesh-controller/internal/catalogue 3.866s
ok github.com/novox/mesh-controller/internal/conditions 1.958s
ok github.com/novox/mesh-controller/internal/envfile 1.030s
ok github.com/novox/mesh-controller/internal/facts 1.032s
ok github.com/novox/mesh-controller/internal/identity 3.997s
ok github.com/novox/mesh-controller/internal/inventory 67.229s
ok github.com/novox/mesh-controller/internal/lease 17.598s
ok github.com/novox/mesh-controller/internal/licences 3.652s
ok github.com/novox/mesh-controller/internal/licences/adapters 1.010s
ok github.com/novox/mesh-controller/internal/link 42.884s
ok github.com/novox/mesh-controller/internal/lint 1.834s
ok github.com/novox/mesh-controller/internal/outward 1.034s
ok github.com/novox/mesh-controller/internal/overlay 1.023s
ok github.com/novox/mesh-controller/internal/secrets 1.406s
ok github.com/novox/mesh-controller/internal/store 3.178s
ok github.com/novox/mesh-controller/internal/testbus 1.179s
ok github.com/novox/mesh-controller/internal/token 1.017s
**Merge check** at `c5a2edf0`
- `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 g14 as `build-1791450102421611107` (`builds --log build-1791450102421611107`).
```
--- the gate: build-agent, mesh-controller, route-proxy
mesh-controller: ok, 47 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-08T08:57:42Z 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-08T08:57:42Z
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.032s
ok github.com/novox/mesh-controller/cmd/mesh-controller 157.908s
ok github.com/novox/mesh-controller/examples/objectstore-provisioner 1.015s
ok github.com/novox/mesh-controller/examples/postgres-provisioner 1.022s
ok github.com/novox/mesh-controller/examples/redis-provisioner 1.015s
ok github.com/novox/mesh-controller/examples/route-proxy 1.194s
ok github.com/novox/mesh-controller/internal/artifacts 1.041s
ok github.com/novox/mesh-controller/internal/broker 2.424s
ok github.com/novox/mesh-controller/internal/builder 1.260s
ok github.com/novox/mesh-controller/internal/catalogue 3.866s
ok github.com/novox/mesh-controller/internal/conditions 1.958s
ok github.com/novox/mesh-controller/internal/envfile 1.030s
ok github.com/novox/mesh-controller/internal/facts 1.032s
ok github.com/novox/mesh-controller/internal/identity 3.997s
ok github.com/novox/mesh-controller/internal/inventory 67.229s
ok github.com/novox/mesh-controller/internal/lease 17.598s
ok github.com/novox/mesh-controller/internal/licences 3.652s
ok github.com/novox/mesh-controller/internal/licences/adapters 1.010s
ok github.com/novox/mesh-controller/internal/link 42.884s
ok github.com/novox/mesh-controller/internal/lint 1.834s
ok github.com/novox/mesh-controller/internal/outward 1.034s
ok github.com/novox/mesh-controller/internal/overlay 1.023s
ok github.com/novox/mesh-controller/internal/secrets 1.406s
ok github.com/novox/mesh-controller/internal/store 3.178s
ok github.com/novox/mesh-controller/internal/testbus 1.179s
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 delivery group
feat/a-machine-joins-through-the-tunnel(mesh-controller #132, mesh-host #52, mesh-lab #61, each ready) was rejected as a cycle: #132 moved the build agent, which builds the node-engine (built by: controller first), and engine before controller put the node-engine first. Every two-way pair was a cycle, and the refusal named neither rule.orderOfnow resolves rules by precedence (hq ADR 0249): declared, then built by and version skew, then engine before controller. The winning pair carriesover(the rules it won over). Rules of one rank both ways are still refused: both pairs kept, the members acycle, and acontradictionsentry naming both rules and theafter:line that settles it.TestReplay309replays the group with only whatorderOfhad before (registered as R309 in mesh-lab; proved withcmd/prove: fails before, passes onc5a2edf).TestAnOrderRuleYieldsToAStrongerOne, and the existing order test updated: a declared line now wins over version skew; declared both ways is refused.sh merge-check.shpasses (in a clean worktree, without MESH_TEST_POSTGRES).Merge before novox/mesh-catalog's mesh-delivery PR for 309 (which reads the new fields, and reads an older answer as before), then mesh-lab's register, then hq.
Delivery
novox/mesh-controller@c5a2edf04a84— delivered since 2026-10-08T09:26:32ZDelivery 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
c5a2edf0mesh/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 novox as
build-1791449195850344339(builds --log build-1791449195850344339).Merge check at
c5a2edf0mesh/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 g14 as
build-1791450102421611107(builds --log build-1791450102421611107).