Part of the delivery group feat/the-bar-takes-blocks (hq ADR 0255).
A seat may receive a kind as data (Receivable.Shape): a contribution gives data in the seat's shape instead of content; the holder's claim gives a Go text/template per kind in renders; the controller renders each piece, under a comment naming its module, ordered by the shape's order field then module order.
Placeholders narrow by the shape's placing fields: ${contribution:node-bar:block:bar=bottom,place=status}. The catalogue check refuses a holder that places a combination zero or two times, has no template, or whose template cannot render the shape's examples. A holder that places none of the kind (older than it) is not refused.
if-capability on any contribution, text or data: composed only where the node's profile reported that capability (Resolution.Capabilities, carried from the node).
Offered kinds make no seat dependency, so the power module (on servers too) does not depend on node-bar.
node-bar receives block, offered, as data: bar (bottom/top), place (resources/status), order 0-99, shows (battery, command) with that kind's options.
Tests: internal/catalogue/seat_data_test.go. Whole suite run locally: the only failures are the three forge tests (TestTheForgesOwnAddress…, TestTheForgesSshPort…, TestANodeMayGiveTheForgesSshPort…), which fail identically on main against the sibling catalogue checkout and are not touched here.
Version skew: an older controller refuses manifests with data, if-capability or renders, so this merges before mesh-catalog. Do not merge without the operator's approval.
after: mesh-host
Part of the delivery group `feat/the-bar-takes-blocks` (hq ADR 0255).
- **A seat may receive a kind as data** (`Receivable.Shape`): a contribution gives `data` in the seat's shape instead of `content`; the holder's claim gives a Go text/template per kind in `renders`; the controller renders each piece, under a comment naming its module, ordered by the shape's order field then module order.
- **Placeholders narrow by the shape's placing fields**: `${contribution:node-bar:block:bar=bottom,place=status}`. The catalogue check refuses a holder that places a combination zero or two times, has no template, or whose template cannot render the shape's examples. A holder that places none of the kind (older than it) is not refused.
- **`if-capability`** on any contribution, text or data: composed only where the node's profile reported that capability (`Resolution.Capabilities`, carried from the node).
- **Offered kinds** make no seat dependency, so the power module (on servers too) does not depend on `node-bar`.
- **`node-bar` receives `block`**, offered, as data: bar (bottom/top), place (resources/status), order 0-99, shows (battery, command) with that kind's options.
Tests: `internal/catalogue/seat_data_test.go`. Whole suite run locally: the only failures are the three forge tests (`TestTheForgesOwnAddress…`, `TestTheForgesSshPort…`, `TestANodeMayGiveTheForgesSshPort…`), which fail identically on main against the sibling catalogue checkout and are not touched here.
Version skew: an older controller refuses manifests with `data`, `if-capability` or `renders`, so this merges before mesh-catalog. Do not merge without the operator's approval.
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 3m45s
mesh-controller on the rest running it: sent
build-agent on ace: passed — healthy 3 times over 3m44s
build-agent on the rest running it: sent
route-proxy on ace: judging — 0 healthy judging(s) so far
Transitions
2026-10-08 13:22 (new) → proposed (announced): novox/mesh-controller#143's head announced
2026-10-08 13:27 proposed → checked (checked): the verdict names this commit
2026-10-08 13:27 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
2026-10-08 13:32 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 13:32 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 13:45 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@8984c3437f63` — **superseded** since 2026-10-08T13:45:20Z
**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 3m45s
- mesh-controller on the rest running it: sent
- build-agent on ace: passed — healthy 3 times over 3m44s
- build-agent on the rest running it: sent
- route-proxy on ace: judging — 0 healthy judging(s) so far
**Transitions**
- 2026-10-08 13:22 (new) → proposed (announced): novox/mesh-controller#143's head announced
- 2026-10-08 13:27 proposed → checked (checked): the verdict names this commit
- 2026-10-08 13:27 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
- 2026-10-08 13:32 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 13:32 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 13:45 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 shanks as build-1791459952279659028 (builds --log build-1791459952279659028).
--- 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-08T11:31:31Z 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-08T11:31:31Z
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.035s
ok github.com/novox/mesh-controller/cmd/mesh-controller 160.057s
ok github.com/novox/mesh-controller/examples/objectstore-provisioner 1.014s
ok github.com/novox/mesh-controller/examples/postgres-provisioner 1.052s
ok github.com/novox/mesh-controller/examples/redis-provisioner 1.038s
ok github.com/novox/mesh-controller/examples/route-proxy 1.214s
ok github.com/novox/mesh-controller/internal/artifacts 1.066s
ok github.com/novox/mesh-controller/internal/broker 2.639s
ok github.com/novox/mesh-controller/internal/builder 1.827s
--- FAIL: TestTheForgesOwnAddressFollowsThePortTheNodeGaveIt (0.00s)
foundation_manifests_test.go:186: the forge's manifest does not resolve against its own build: gitea says it builds npm-registry and the build did not produce it — the build did not do what the manifest asked, which is a different fault from a resource asking for the wrong thing
--- FAIL: TestTheForgesSshPortIsTheMeshsFixedConventionByDefault (0.01s)
foundation_manifests_test.go:286: the forge's manifest does not resolve against its own build: gitea says it builds npm-registry and the build did not produce it — the build did not do what the manifest asked, which is a different fault from a resource asking for the wrong thing
--- FAIL: TestANodeMayGiveTheForgesSshPortADifferentNumber (0.01s)
foundation_manifests_test.go:306: the forge's manifest does not resolve against its own build: gitea says it builds npm-registry and the build did not produce it — the build did not do what the manifest asked, which is a different fault from a resource asking for the wrong thing
FAIL
FAIL github.com/novox/mesh-controller/internal/catalogue 3.662s
ok github.com/novox/mesh-controller/internal/conditions 2.048s
ok github.com/novox/mesh-controller/internal/envfile 1.049s
ok github.com/novox/mesh-controller/internal/facts 1.061s
ok github.com/novox/mesh-controller/internal/identity 4.747s
ok github.com/novox/mesh-controller/internal/inventory 79.193s
ok github.com/novox/mesh-controller/internal/lease 17.709s
ok github.com/novox/mesh-controller/internal/licences 4.382s
ok github.com/novox/mesh-controller/internal/licences/adapters 1.050s
ok github.com/novox/mesh-controller/internal/link 45.941s
ok github.com/novox/mesh-controller/internal/lint 2.061s
ok github.com/novox/mesh-controller/internal/outward 1.083s
ok github.com/novox/mesh-controller/internal/overlay 1.071s
ok github.com/novox/mesh-controller/internal/secrets 1.528s
ok github.com/novox/mesh-controller/internal/store 3.444s
ok github.com/novox/mesh-controller/internal/testbus 1.226s
ok github.com/novox/mesh-controller/internal/token 1.017s
FAIL
**Merge check** at `a828bf0f`
- `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`: **FAIL** — its merge-check.sh failed: --- FAIL: TestTheForgesOwnAddressFollowsThePortTheNodeGaveIt (0.00s)
**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-1791459952279659028` (`builds --log build-1791459952279659028`).
```
--- 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-08T11:31:31Z 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-08T11:31:31Z
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.035s
ok github.com/novox/mesh-controller/cmd/mesh-controller 160.057s
ok github.com/novox/mesh-controller/examples/objectstore-provisioner 1.014s
ok github.com/novox/mesh-controller/examples/postgres-provisioner 1.052s
ok github.com/novox/mesh-controller/examples/redis-provisioner 1.038s
ok github.com/novox/mesh-controller/examples/route-proxy 1.214s
ok github.com/novox/mesh-controller/internal/artifacts 1.066s
ok github.com/novox/mesh-controller/internal/broker 2.639s
ok github.com/novox/mesh-controller/internal/builder 1.827s
--- FAIL: TestTheForgesOwnAddressFollowsThePortTheNodeGaveIt (0.00s)
foundation_manifests_test.go:186: the forge's manifest does not resolve against its own build: gitea says it builds npm-registry and the build did not produce it — the build did not do what the manifest asked, which is a different fault from a resource asking for the wrong thing
--- FAIL: TestTheForgesSshPortIsTheMeshsFixedConventionByDefault (0.01s)
foundation_manifests_test.go:286: the forge's manifest does not resolve against its own build: gitea says it builds npm-registry and the build did not produce it — the build did not do what the manifest asked, which is a different fault from a resource asking for the wrong thing
--- FAIL: TestANodeMayGiveTheForgesSshPortADifferentNumber (0.01s)
foundation_manifests_test.go:306: the forge's manifest does not resolve against its own build: gitea says it builds npm-registry and the build did not produce it — the build did not do what the manifest asked, which is a different fault from a resource asking for the wrong thing
FAIL
FAIL github.com/novox/mesh-controller/internal/catalogue 3.662s
ok github.com/novox/mesh-controller/internal/conditions 2.048s
ok github.com/novox/mesh-controller/internal/envfile 1.049s
ok github.com/novox/mesh-controller/internal/facts 1.061s
ok github.com/novox/mesh-controller/internal/identity 4.747s
ok github.com/novox/mesh-controller/internal/inventory 79.193s
ok github.com/novox/mesh-controller/internal/lease 17.709s
ok github.com/novox/mesh-controller/internal/licences 4.382s
ok github.com/novox/mesh-controller/internal/licences/adapters 1.050s
ok github.com/novox/mesh-controller/internal/link 45.941s
ok github.com/novox/mesh-controller/internal/lint 2.061s
ok github.com/novox/mesh-controller/internal/outward 1.083s
ok github.com/novox/mesh-controller/internal/overlay 1.071s
ok github.com/novox/mesh-controller/internal/secrets 1.528s
ok github.com/novox/mesh-controller/internal/store 3.444s
ok github.com/novox/mesh-controller/internal/testbus 1.226s
ok github.com/novox/mesh-controller/internal/token 1.017s
FAIL
```
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-1791460591055158011 (builds --log build-1791460591055158011).
--- 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-08T11:31:31Z 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-08T11:31:31Z
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.043s
ok github.com/novox/mesh-controller/cmd/mesh-controller 176.198s
ok github.com/novox/mesh-controller/examples/objectstore-provisioner 1.015s
ok github.com/novox/mesh-controller/examples/postgres-provisioner 1.023s
ok github.com/novox/mesh-controller/examples/redis-provisioner 1.013s
ok github.com/novox/mesh-controller/examples/route-proxy 1.112s
ok github.com/novox/mesh-controller/internal/artifacts 1.043s
ok github.com/novox/mesh-controller/internal/broker 2.818s
ok github.com/novox/mesh-controller/internal/builder 3.211s
ok github.com/novox/mesh-controller/internal/catalogue 4.809s
ok github.com/novox/mesh-controller/internal/conditions 1.989s
ok github.com/novox/mesh-controller/internal/envfile 1.028s
ok github.com/novox/mesh-controller/internal/facts 1.031s
ok github.com/novox/mesh-controller/internal/identity 4.954s
ok github.com/novox/mesh-controller/internal/inventory 84.946s
ok github.com/novox/mesh-controller/internal/lease 17.661s
ok github.com/novox/mesh-controller/internal/licences 4.510s
ok github.com/novox/mesh-controller/internal/licences/adapters 1.008s
ok github.com/novox/mesh-controller/internal/link 47.063s
ok github.com/novox/mesh-controller/internal/lint 2.039s
ok github.com/novox/mesh-controller/internal/outward 1.033s
ok github.com/novox/mesh-controller/internal/overlay 1.024s
ok github.com/novox/mesh-controller/internal/secrets 1.477s
ok github.com/novox/mesh-controller/internal/store 3.322s
ok github.com/novox/mesh-controller/internal/testbus 1.187s
ok github.com/novox/mesh-controller/internal/token 1.014s
**Merge check** at `74ad740f`
- `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-1791460591055158011` (`builds --log build-1791460591055158011`).
```
--- 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-08T11:31:31Z 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-08T11:31:31Z
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.043s
ok github.com/novox/mesh-controller/cmd/mesh-controller 176.198s
ok github.com/novox/mesh-controller/examples/objectstore-provisioner 1.015s
ok github.com/novox/mesh-controller/examples/postgres-provisioner 1.023s
ok github.com/novox/mesh-controller/examples/redis-provisioner 1.013s
ok github.com/novox/mesh-controller/examples/route-proxy 1.112s
ok github.com/novox/mesh-controller/internal/artifacts 1.043s
ok github.com/novox/mesh-controller/internal/broker 2.818s
ok github.com/novox/mesh-controller/internal/builder 3.211s
ok github.com/novox/mesh-controller/internal/catalogue 4.809s
ok github.com/novox/mesh-controller/internal/conditions 1.989s
ok github.com/novox/mesh-controller/internal/envfile 1.028s
ok github.com/novox/mesh-controller/internal/facts 1.031s
ok github.com/novox/mesh-controller/internal/identity 4.954s
ok github.com/novox/mesh-controller/internal/inventory 84.946s
ok github.com/novox/mesh-controller/internal/lease 17.661s
ok github.com/novox/mesh-controller/internal/licences 4.510s
ok github.com/novox/mesh-controller/internal/licences/adapters 1.008s
ok github.com/novox/mesh-controller/internal/link 47.063s
ok github.com/novox/mesh-controller/internal/lint 2.039s
ok github.com/novox/mesh-controller/internal/outward 1.033s
ok github.com/novox/mesh-controller/internal/overlay 1.024s
ok github.com/novox/mesh-controller/internal/secrets 1.477s
ok github.com/novox/mesh-controller/internal/store 3.322s
ok github.com/novox/mesh-controller/internal/testbus 1.187s
ok github.com/novox/mesh-controller/internal/token 1.014s
```
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-1791462792652911702 (builds --log build-1791462792652911702).
--- 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-08T12:31:31Z 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-08T12:31:31Z
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.046s
ok github.com/novox/mesh-controller/cmd/mesh-controller 188.562s
ok github.com/novox/mesh-controller/examples/objectstore-provisioner 1.030s
ok github.com/novox/mesh-controller/examples/postgres-provisioner 1.035s
ok github.com/novox/mesh-controller/examples/redis-provisioner 1.028s
ok github.com/novox/mesh-controller/examples/route-proxy 1.131s
ok github.com/novox/mesh-controller/internal/artifacts 1.056s
ok github.com/novox/mesh-controller/internal/broker 3.989s
ok github.com/novox/mesh-controller/internal/builder 8.243s
ok github.com/novox/mesh-controller/internal/catalogue 4.770s
ok github.com/novox/mesh-controller/internal/conditions 2.503s
ok github.com/novox/mesh-controller/internal/envfile 1.031s
ok github.com/novox/mesh-controller/internal/facts 1.035s
ok github.com/novox/mesh-controller/internal/identity 8.037s
ok github.com/novox/mesh-controller/internal/inventory 91.821s
ok github.com/novox/mesh-controller/internal/lease 17.730s
ok github.com/novox/mesh-controller/internal/licences 7.563s
ok github.com/novox/mesh-controller/internal/licences/adapters 1.011s
ok github.com/novox/mesh-controller/internal/link 48.767s
ok github.com/novox/mesh-controller/internal/lint 1.950s
ok github.com/novox/mesh-controller/internal/outward 1.033s
ok github.com/novox/mesh-controller/internal/overlay 1.021s
ok github.com/novox/mesh-controller/internal/secrets 1.438s
ok github.com/novox/mesh-controller/internal/store 4.365s
ok github.com/novox/mesh-controller/internal/testbus 1.184s
ok github.com/novox/mesh-controller/internal/token 1.015s
**Merge check** at `1ea81441`
- `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-1791462792652911702` (`builds --log build-1791462792652911702`).
```
--- 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-08T12:31:31Z 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-08T12:31:31Z
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.046s
ok github.com/novox/mesh-controller/cmd/mesh-controller 188.562s
ok github.com/novox/mesh-controller/examples/objectstore-provisioner 1.030s
ok github.com/novox/mesh-controller/examples/postgres-provisioner 1.035s
ok github.com/novox/mesh-controller/examples/redis-provisioner 1.028s
ok github.com/novox/mesh-controller/examples/route-proxy 1.131s
ok github.com/novox/mesh-controller/internal/artifacts 1.056s
ok github.com/novox/mesh-controller/internal/broker 3.989s
ok github.com/novox/mesh-controller/internal/builder 8.243s
ok github.com/novox/mesh-controller/internal/catalogue 4.770s
ok github.com/novox/mesh-controller/internal/conditions 2.503s
ok github.com/novox/mesh-controller/internal/envfile 1.031s
ok github.com/novox/mesh-controller/internal/facts 1.035s
ok github.com/novox/mesh-controller/internal/identity 8.037s
ok github.com/novox/mesh-controller/internal/inventory 91.821s
ok github.com/novox/mesh-controller/internal/lease 17.730s
ok github.com/novox/mesh-controller/internal/licences 7.563s
ok github.com/novox/mesh-controller/internal/licences/adapters 1.011s
ok github.com/novox/mesh-controller/internal/link 48.767s
ok github.com/novox/mesh-controller/internal/lint 1.950s
ok github.com/novox/mesh-controller/internal/outward 1.033s
ok github.com/novox/mesh-controller/internal/overlay 1.021s
ok github.com/novox/mesh-controller/internal/secrets 1.438s
ok github.com/novox/mesh-controller/internal/store 4.365s
ok github.com/novox/mesh-controller/internal/testbus 1.184s
ok github.com/novox/mesh-controller/internal/token 1.015s
```
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-1791463662065050855 (builds --log build-1791463662065050855).
--- 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-08T12:46:24Z 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-08T12:46:24Z
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.037s
ok github.com/novox/mesh-controller/cmd/mesh-controller 144.305s
ok github.com/novox/mesh-controller/examples/objectstore-provisioner 1.035s
ok github.com/novox/mesh-controller/examples/postgres-provisioner 1.037s
ok github.com/novox/mesh-controller/examples/redis-provisioner 1.035s
ok github.com/novox/mesh-controller/examples/route-proxy 1.122s
ok github.com/novox/mesh-controller/internal/artifacts 1.057s
ok github.com/novox/mesh-controller/internal/broker 2.474s
ok github.com/novox/mesh-controller/internal/builder 1.695s
ok github.com/novox/mesh-controller/internal/catalogue 4.016s
ok github.com/novox/mesh-controller/internal/conditions 2.139s
ok github.com/novox/mesh-controller/internal/envfile 1.037s
ok github.com/novox/mesh-controller/internal/facts 1.041s
ok github.com/novox/mesh-controller/internal/identity 4.035s
ok github.com/novox/mesh-controller/internal/inventory 67.048s
ok github.com/novox/mesh-controller/internal/lease 17.680s
ok github.com/novox/mesh-controller/internal/licences 3.682s
ok github.com/novox/mesh-controller/internal/licences/adapters 1.033s
ok github.com/novox/mesh-controller/internal/link 43.710s
ok github.com/novox/mesh-controller/internal/lint 1.895s
ok github.com/novox/mesh-controller/internal/outward 1.060s
ok github.com/novox/mesh-controller/internal/overlay 1.071s
ok github.com/novox/mesh-controller/internal/secrets 1.443s
ok github.com/novox/mesh-controller/internal/store 3.240s
ok github.com/novox/mesh-controller/internal/testbus 1.168s
ok github.com/novox/mesh-controller/internal/token 1.018s
**Merge check** at `96f8c901`
- `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-1791463662065050855` (`builds --log build-1791463662065050855`).
```
--- 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-08T12:46:24Z 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-08T12:46:24Z
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.037s
ok github.com/novox/mesh-controller/cmd/mesh-controller 144.305s
ok github.com/novox/mesh-controller/examples/objectstore-provisioner 1.035s
ok github.com/novox/mesh-controller/examples/postgres-provisioner 1.037s
ok github.com/novox/mesh-controller/examples/redis-provisioner 1.035s
ok github.com/novox/mesh-controller/examples/route-proxy 1.122s
ok github.com/novox/mesh-controller/internal/artifacts 1.057s
ok github.com/novox/mesh-controller/internal/broker 2.474s
ok github.com/novox/mesh-controller/internal/builder 1.695s
ok github.com/novox/mesh-controller/internal/catalogue 4.016s
ok github.com/novox/mesh-controller/internal/conditions 2.139s
ok github.com/novox/mesh-controller/internal/envfile 1.037s
ok github.com/novox/mesh-controller/internal/facts 1.041s
ok github.com/novox/mesh-controller/internal/identity 4.035s
ok github.com/novox/mesh-controller/internal/inventory 67.048s
ok github.com/novox/mesh-controller/internal/lease 17.680s
ok github.com/novox/mesh-controller/internal/licences 3.682s
ok github.com/novox/mesh-controller/internal/licences/adapters 1.033s
ok github.com/novox/mesh-controller/internal/link 43.710s
ok github.com/novox/mesh-controller/internal/lint 1.895s
ok github.com/novox/mesh-controller/internal/outward 1.060s
ok github.com/novox/mesh-controller/internal/overlay 1.071s
ok github.com/novox/mesh-controller/internal/secrets 1.443s
ok github.com/novox/mesh-controller/internal/store 3.240s
ok github.com/novox/mesh-controller/internal/testbus 1.168s
ok github.com/novox/mesh-controller/internal/token 1.018s
```
A module adding a battery to the bar had to write i3status-rust's TOML, so a second
bar could not take its place. node-bar now receives a bar-neutral block: the
contributor says what it shows, the holder renders it with its own template, places
every bar and place once, and a contribution may name a capability the machine must
report. The block is offered: the power module runs on servers without a bar.
The catalogue's forge gained an npm-registry bundle (hq ADR 0251 §4), so resolving it
against its code bundle alone failed three tests on main and on every pull request.
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…
A piece whose shows the holder's template does not know rendered as nothing and failed
the whole machine's declaration; it is now left out and named, for push, plan and the
merge gate. quote escapes DEL, which TOML refuses bare. An if-capability nothing
detects, or on a kind a holder depends on, would drop a piece silently, so both are
refused.
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-1791465731287181658 (builds --log build-1791465731287181658).
--- 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:13:50Z 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:13:50Z
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.050s
ok github.com/novox/mesh-controller/cmd/mesh-controller 209.725s
ok github.com/novox/mesh-controller/examples/objectstore-provisioner 1.018s
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.242s
ok github.com/novox/mesh-controller/internal/artifacts 1.051s
ok github.com/novox/mesh-controller/internal/broker 3.282s
ok github.com/novox/mesh-controller/internal/builder 2.025s
ok github.com/novox/mesh-controller/internal/catalogue 5.554s
ok github.com/novox/mesh-controller/internal/conditions 2.268s
ok github.com/novox/mesh-controller/internal/envfile 1.032s
ok github.com/novox/mesh-controller/internal/facts 1.039s
ok github.com/novox/mesh-controller/internal/identity 6.275s
ok github.com/novox/mesh-controller/internal/inventory 114.584s
ok github.com/novox/mesh-controller/internal/lease 19.144s
ok github.com/novox/mesh-controller/internal/licences 5.773s
ok github.com/novox/mesh-controller/internal/licences/adapters 1.017s
ok github.com/novox/mesh-controller/internal/link 63.873s
ok github.com/novox/mesh-controller/internal/lint 2.291s
ok github.com/novox/mesh-controller/internal/outward 1.058s
ok github.com/novox/mesh-controller/internal/overlay 1.041s
ok github.com/novox/mesh-controller/internal/secrets 1.687s
ok github.com/novox/mesh-controller/internal/store 4.238s
ok github.com/novox/mesh-controller/internal/testbus 1.238s
ok github.com/novox/mesh-controller/internal/token 1.030s
**Merge check** at `8984c343`
- `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-1791465731287181658` (`builds --log build-1791465731287181658`).
```
--- 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:13:50Z 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:13:50Z
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.050s
ok github.com/novox/mesh-controller/cmd/mesh-controller 209.725s
ok github.com/novox/mesh-controller/examples/objectstore-provisioner 1.018s
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.242s
ok github.com/novox/mesh-controller/internal/artifacts 1.051s
ok github.com/novox/mesh-controller/internal/broker 3.282s
ok github.com/novox/mesh-controller/internal/builder 2.025s
ok github.com/novox/mesh-controller/internal/catalogue 5.554s
ok github.com/novox/mesh-controller/internal/conditions 2.268s
ok github.com/novox/mesh-controller/internal/envfile 1.032s
ok github.com/novox/mesh-controller/internal/facts 1.039s
ok github.com/novox/mesh-controller/internal/identity 6.275s
ok github.com/novox/mesh-controller/internal/inventory 114.584s
ok github.com/novox/mesh-controller/internal/lease 19.144s
ok github.com/novox/mesh-controller/internal/licences 5.773s
ok github.com/novox/mesh-controller/internal/licences/adapters 1.017s
ok github.com/novox/mesh-controller/internal/link 63.873s
ok github.com/novox/mesh-controller/internal/lint 2.291s
ok github.com/novox/mesh-controller/internal/outward 1.058s
ok github.com/novox/mesh-controller/internal/overlay 1.041s
ok github.com/novox/mesh-controller/internal/secrets 1.687s
ok github.com/novox/mesh-controller/internal/store 4.238s
ok github.com/novox/mesh-controller/internal/testbus 1.238s
ok github.com/novox/mesh-controller/internal/token 1.030s
```
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.
after: mesh-host
Part of the delivery group
feat/the-bar-takes-blocks(hq ADR 0255).Receivable.Shape): a contribution givesdatain the seat's shape instead ofcontent; the holder's claim gives a Go text/template per kind inrenders; the controller renders each piece, under a comment naming its module, ordered by the shape's order field then module order.${contribution:node-bar:block:bar=bottom,place=status}. The catalogue check refuses a holder that places a combination zero or two times, has no template, or whose template cannot render the shape's examples. A holder that places none of the kind (older than it) is not refused.if-capabilityon any contribution, text or data: composed only where the node's profile reported that capability (Resolution.Capabilities, carried from the node).node-bar.node-barreceivesblock, offered, as data: bar (bottom/top), place (resources/status), order 0-99, shows (battery, command) with that kind's options.Tests:
internal/catalogue/seat_data_test.go. Whole suite run locally: the only failures are the three forge tests (TestTheForgesOwnAddress…,TestTheForgesSshPort…,TestANodeMayGiveTheForgesSshPort…), which fail identically on main against the sibling catalogue checkout and are not touched here.Version skew: an older controller refuses manifests with
data,if-capabilityorrenders, so this merges before mesh-catalog. Do not merge without the operator's approval.Delivery
novox/mesh-controller@8984c3437f63— superseded since 2026-10-08T13:45:20ZDelivery 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
a828bf0fmesh/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: FAIL — its merge-check.sh failed: --- FAIL: TestTheForgesOwnAddressFollowsThePortTheNodeGaveIt (0.00s)Delivery plan — builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step
Run by the build seat on shanks as
build-1791459952279659028(builds --log build-1791459952279659028).Merge check at
74ad740fmesh/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-1791460591055158011(builds --log build-1791460591055158011).74ad740f8cto1ea814413bMerge check at
1ea81441mesh/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-1791462792652911702(builds --log build-1791462792652911702).1ea814413bto96f8c901e0Merge check at
96f8c901mesh/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-1791463662065050855(builds --log build-1791463662065050855).96f8c901e0to8984c3437fMerge check at
8984c343mesh/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-1791465731287181658(builds --log build-1791465731287181658).