R4d, ADR 0480 §7 (n8n's group is a container field the node-engine applies) and ADR 0453 §2 (a new field on the wire goes only to a node that says it reads it).
Vendors mesh-sdk 85b5a26 (main: #58 groups field, #59 file references, #60 container-groups capability). The resolver holds a module whose container names groups off a node whose report lacks container-groups and names it in reportUnhostable.
Test container_groups_test.go: a node reporting container-groups gets n8n; one that does not has it held, naming the module and the capability.
No manifest declares groups yet; n8n's (1639) merges only after the node-engine (mesh-host feat/r4d-groups, 1637) and this are delivered and ace reports container-groups, else n8n would leave ace.
Tries: build-1792587883501837547 passed (6m59s) at 6ef78580 (same vendored tree); build-1792588613449490664 at this head is queued.
R4d, ADR 0480 §7 (n8n's group is a container field the node-engine applies) and ADR 0453 §2 (a new field on the wire goes only to a node that says it reads it).
- Vendors mesh-sdk 85b5a26 (main: #58 groups field, #59 file references, #60 container-groups capability). The resolver holds a module whose container names groups off a node whose report lacks container-groups and names it in reportUnhostable.
- Test container_groups_test.go: a node reporting container-groups gets n8n; one that does not has it held, naming the module and the capability.
- No manifest declares groups yet; n8n's (1639) merges only after the node-engine (mesh-host feat/r4d-groups, 1637) and this are delivered and ace reports container-groups, else n8n would leave ace.
Tries: build-1792587883501837547 passed (6m59s) at 6ef78580 (same vendored tree); build-1792588613449490664 at this head is queued.
For issue 1638.
Reviewed-by: reviewer-r4dg@shanks at 2aa291f3b30b7544cba852dd60e17a831f78a574
mesh/merge-gate head 2aa291f3b30b merged into trunk 98ffcb667fb2 — pass: group feat/r4d-groups composed: every machine composes with the change as it did w…
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
build-agent keeps data (ADR 0233): what it holds is backed up before it moves
grants step: if this changes what the bus's user list says (a new tool, subject or user), novox is sent that list alone, every build there kept, before route-proxy, build-agent is judged on its first machine
composed together: pass — every machine composes with the change as it did without (4 of 4 compose)
Machines
mesh-host on every machine running it: sent
mesh-controller on every machine running it: sent
build-agent on every machine running it: sent
Transitions
2026-10-21 13:24 (new) → proposed (announced): novox/mesh-controller#422's head announced
2026-10-21 13:51 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
2026-10-21 13:51 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
2026-10-21 15:23 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
2026-10-21 15:23 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 — not a failed walk that carried a later commit for it, after which it waits for a walk of its own commit
2026-10-21 15:35 delivering → delivered (done): its walk is done, carrying its own commit: 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@2aa291f3b30b` — **delivered** since 2026-10-21T15:35:19Z
**Delivery plan** — builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step
- tier 0: mesh-controller, route-proxy
- tier 1: build-agent
- ace: receives route-proxy, build-agent
- g14: receives build-agent
- novox: receives mesh-controller, route-proxy, build-agent
- shanks: receives build-agent
- 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
- build-agent keeps data (ADR 0233): what it holds is backed up before it moves
- grants step: if this changes what the bus's user list says (a new tool, subject or user), novox is sent that list alone, every build there kept, before route-proxy, build-agent is judged on its first machine
**Group** `feat/r4d-groups`: novox/mesh-controller@2aa291f3b30b, novox/mesh-host@d9f8bbec0c0b
- composed together: pass — every machine composes with the change as it did without (4 of 4 compose)
**Machines**
- mesh-host on every machine running it: sent
- mesh-controller on every machine running it: sent
- build-agent on every machine running it: sent
**Transitions**
- 2026-10-21 13:24 (new) → proposed (announced): novox/mesh-controller#422's head announced
- 2026-10-21 13:51 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
- 2026-10-21 13:51 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
- 2026-10-21 15:23 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
- 2026-10-21 15:23 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 — not a failed walk that carried a later commit for it, after which it waits for a walk of its own commit
- 2026-10-21 15:35 delivering → delivered (done): its walk is done, carrying its own commit: 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`.
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
build-agent keeps data (ADR 0233): what it holds is backed up before it moves
grants step: if this changes what the bus's user list says (a new tool, subject or user), novox is sent that list alone, every build there kept, before route-proxy, build-agent is judged on its first machine
read by no module's build: cmd/mesh-controller/container_groups_test.go, testdata/beside/CAPTURED
Run by the build seat on ace as build-1792589074698508917 (builds --log build-1792589074698508917).
mesh-delivery: the operator's Approve of this pull request's merge into main is ended: a head it covers moved on: the heads it covers are no longer the group's heads. Nothing is merged on it. The operator is asked again once the checks pass at the new head.
mesh-delivery: the operator's Approve of this pull request's merge into main is ended: a head it covers moved on: the heads it covers are no longer the group's heads. Nothing is merged on it. The operator is asked again once the checks pass at the new head.
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.
R4d, ADR 0480 §7 (n8n's group is a container field the node-engine applies) and ADR 0453 §2 (a new field on the wire goes only to a node that says it reads it).
Tries: build-1792587883501837547 passed (6m59s) at
6ef78580(same vendored tree); build-1792588613449490664 at this head is queued.For issue 1638.
Reviewed-by: reviewer-r4dg@shanks at
2aa291f3b3Delivery
novox/mesh-controller@2aa291f3b30b— delivered since 2026-10-21T15:35:19ZDelivery plan — builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step
Group
feat/r4d-groups: novox/mesh-controller@2aa291f3b3, novox/mesh-host@d9f8bbec0cMachines
Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition:git log --notes=mesh-plan.Merge check at
2aa291f3Judged: head
2aa291f3b30bmerged into trunk98ffcb667fb2; read beside it: mesh-catalog90ecba4e50a3, mesh-controller-main98ffcb667fb2, mesh-hostc5c4caa2a4ab, mesh-toolse0fadc43d9ddmesh/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-1792589074698508917(builds --log build-1792589074698508917).mesh-delivery: the operator's Approve of this pull request's merge into main is ended: a head it covers moved on: the heads it covers are no longer the group's heads. Nothing is merged on it. The operator is asked again once the checks pass at the new head.