Read the indexer's modules keys as stored from the view's tools, so the new-form fingerprint, path and toolchains can be checked live (issue 1562) #13

Merged
mesh-tools merged 3 commits from fix/1562-indexer-reads into main 2026-10-21 12:04:07 +00:00
Member

Issue 1562 (indexer half; the build modules' half was mesh-catalog #410): no tool read the indexer's modules. keys, so 1444/AC11 and the R4c checks fell back on journals.

  • mesh-delivery-view serves indexer_module {module} and indexer_modules {none2?}, answering each modules. value exactly as stored (FP, FP2, None2, Inputs2, Path, Toolchains), reading mesh-delivery-indexer.modules through the view's existing read. The tools artifact loads its own binary, mesh-delivery-view-tools (ADR 0175; the first head named the view's binary and the merge gate refused it).
  • The indexer serves no tool (ADR 0437 §4, §8): a module with tools is carried by the machine's tool runner, which would get write grants on the indexer's own buckets; the view keeps no state, so carrying it grants reads only.
  • Side effect: the tool runner on the view's machine can read every bucket the view reads (the gate's asks, the teller's answers), read only.

Tries: build-1792581857799346594 passed at 6c2b79ac; the head's checks passed 13:55.

Fixes issue 1562 (AC2, the live read of 1444/AC11, after delivery).

Reviewed-by: reviewer-1562@shanks at 1239199b35

Issue 1562 (indexer half; the build modules' half was mesh-catalog #410): no tool read the indexer's modules.<m> keys, so 1444/AC11 and the R4c checks fell back on journals. - mesh-delivery-view serves `indexer_module {module}` and `indexer_modules {none2?}`, answering each modules.<m> value exactly as stored (FP, FP2, None2, Inputs2, Path, Toolchains), reading `mesh-delivery-indexer.modules` through the view's existing read. The tools artifact loads its own binary, mesh-delivery-view-tools (ADR 0175; the first head named the view's binary and the merge gate refused it). - The indexer serves no tool (ADR 0437 §4, §8): a module with tools is carried by the machine's tool runner, which would get write grants on the indexer's own buckets; the view keeps no state, so carrying it grants reads only. - Side effect: the tool runner on the view's machine can read every bucket the view reads (the gate's asks, the teller's answers), read only. Tries: build-1792581857799346594 passed at 6c2b79ac; the head's checks passed 13:55. Fixes issue 1562 (AC2, the live read of 1444/AC11, after delivery). Reviewed-by: reviewer-1562@shanks at 1239199b35dd96c9d8016ecdc9bcdc6e6b8ac6ed
mesh-tools added 2 commits 2026-10-21 11:29:07 +00:00
Serve the indexer's read tools from the view, not the indexer (ADR 0437 4): indexer_module and indexer_modules read mesh-delivery-indexer.modules through the view's reads. Side effect: carrying the view's tools gives the tool runner read access to every bucket the view reads. (issue 1562)
mesh/merge-gate head 6c2b79acf106 merged into trunk d68d7ef3d9af — fail: builds mesh-delivery-view → shanks; no bus step; a manifest the change touches fai…
mesh/repo-check head 6c2b79acf106 merged into trunk d68d7ef3d9af — pass: its merge-check.sh passed
mesh/delivery superseded: a newer head of the same pull request
6c2b79acf1
Author
Member

Delivery novox/mesh-delivery@1239199b35dd — delivered since 2026-10-21T12:21:05Z

Delivery plan — builds mesh-delivery-view → shanks; no bus step

  • tier 0: mesh-delivery-view
  • shanks: receives mesh-delivery-view
  • 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 mesh-delivery-view is judged on its first machine

Machines

  • mesh-delivery-view on every machine running it: sent

Transitions

  • 2026-10-21 11:43 (new) → proposed (announced): novox/mesh-delivery#13's head announced
  • 2026-10-21 11:55 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
  • 2026-10-21 11:55 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
  • 2026-10-21 12:04 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 12:04 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 12:21 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-delivery@1239199b35dd` — **delivered** since 2026-10-21T12:21:05Z **Delivery plan** — builds mesh-delivery-view → shanks; no bus step - tier 0: mesh-delivery-view - shanks: receives mesh-delivery-view - 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 mesh-delivery-view is judged on its first machine **Machines** - mesh-delivery-view on every machine running it: sent **Transitions** - 2026-10-21 11:43 (new) → proposed (announced): novox/mesh-delivery#13's head announced - 2026-10-21 11:55 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit - 2026-10-21 11:55 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail - 2026-10-21 12:04 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 12:04 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 12:21 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`.
Author
Member

Merge check at 6c2b79ac
Judged: head 6c2b79acf106 merged into trunk d68d7ef3d9af; read beside it: mesh-catalog 38ac738d8463, mesh-controller cada7e3c8374, mesh-controller-main cada7e3c8374, mesh-host c5c4caa2a4ab, mesh-tools e0fadc43d9dd

  • mesh/merge-gate: FAIL — a manifest the change touches fails the module check: modules/mesh-delivery-view/module.json: this manifest cannot be used: (modules: mesh-delivery-view)
  • mesh/repo-check: PASS — its merge-check.sh passed

Delivery plan — builds mesh-delivery-view → shanks; no bus step

  • tier 0: mesh-delivery-view
  • shanks: receives mesh-delivery-view
  • 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 mesh-delivery-view is judged on its first machine
  • read by no module's build: modules/mesh-delivery-view/cmd/mesh-delivery-view-tools/main.go, modules/mesh-delivery-view/cmd/mesh-delivery-view-tools/main_test.go, modules/mesh-delivery-view/manifest_test.go

Run by the build seat on shanks as build-1792582176866975479 (builds --log build-1792582176866975479).

--- the gate: mesh-delivery-view
modules/mesh-delivery-view/module.json: this manifest cannot be used:
  - mesh-delivery-view: "tools" says the runtime loads "mesh-delivery-view", which is not among its entrypoints — what is loaded is compiled, so it is named there too
long-running resources without health: 0
files asking for a setting without saying whether it is trusted: 0
mesh-controller: 1 problem(s) in 1 manifest(s)
--- the same manifests on main
modules/mesh-delivery-view/module.json: mesh-delivery-view: command names the template "files/mesh-delivery-cli", and the module's directory has no such file; mesh-delivery-view: its item of shell:zsh:normal names the template "files/zsh-normal", and the module's directory has no such file
long-running resources without health: 0
files asking for a setting without saying whether it is trusted: 0
mesh-controller: 1 problem(s) in 1 manifest(s)
--- its merge-check.sh (go toolchain)
== ./modules/mesh-delivery-builder: go vet and the unit tests
ok  	mesh-delivery-builder	0.003s
?   	mesh-delivery-builder/cmd/mesh-delivery-builder	[no test files]
ok  	mesh-delivery-builder/internal/build	0.253s
== ./modules/mesh-delivery-builder: the integration tests (-tags integration)
ok  	mesh-delivery-builder	0.003s
ok  	mesh-delivery-builder/cmd/mesh-delivery-builder	1.864s
ok  	mesh-delivery-builder/internal/build	0.254s
== ./modules/mesh-delivery-forge-bridge: go vet and the unit tests
ok  	mesh-delivery-forge-bridge	0.003s
ok  	mesh-delivery-forge-bridge/cmd/mesh-delivery-forge-bridge	(cached)
ok  	mesh-delivery-forge-bridge/internal/bridge	0.199s
== ./modules/mesh-delivery-forge-bridge: the integration tests (-tags integration)
ok  	mesh-delivery-forge-bridge	0.003s
ok  	mesh-delivery-forge-bridge/cmd/mesh-delivery-forge-bridge	3.575s
ok  	mesh-delivery-forge-bridge/internal/bridge	0.198s
== ./modules/mesh-delivery-indexer: go vet and the unit tests
ok  	mesh-delivery-indexer	0.003s
ok  	mesh-delivery-indexer/cmd/mesh-delivery-indexer	(cached)
ok  	mesh-delivery-indexer/internal/index	0.037s
== ./modules/mesh-delivery-indexer: the integration tests (-tags integration)
ok  	mesh-delivery-indexer	0.003s
ok  	mesh-delivery-indexer/cmd/mesh-delivery-indexer	0.654s
ok  	mesh-delivery-indexer/internal/index	0.037s
== ./modules/mesh-delivery-teller: go vet and the unit tests
ok  	mesh-delivery-teller	0.003s
ok  	mesh-delivery-teller/cmd/mesh-delivery-teller	(cached)
== ./modules/mesh-delivery-teller: the integration tests (-tags integration)
ok  	mesh-delivery-teller	0.003s
ok  	mesh-delivery-teller/cmd/mesh-delivery-teller	(cached)
== ./modules/mesh-delivery-view: go vet and the unit tests
ok  	mesh-delivery-view	0.003s
ok  	mesh-delivery-view/cmd/mesh-delivery-cli	(cached)
ok  	mesh-delivery-view/cmd/mesh-delivery-view	(cached)
ok  	mesh-delivery-view/cmd/mesh-delivery-view-tools	(cached)
ok  	mesh-delivery-view/internal/view	(cached)
== ./modules/mesh-delivery-view: the integration tests (-tags integration)
ok  	mesh-delivery-view	0.003s
ok  	mesh-delivery-view/cmd/mesh-delivery-cli	(cached)
ok  	mesh-delivery-view/cmd/mesh-delivery-view	(cached)
ok  	mesh-delivery-view/cmd/mesh-delivery-view-tools	(cached)
ok  	mesh-delivery-view/internal/view	(cached)
== ./modules/mesh-delivery-watchman: go vet and the unit tests
ok  	mesh-delivery-watchman	0.003s
ok  	mesh-delivery-watchman/cmd/mesh-delivery-watchman	(cached)
ok  	mesh-delivery-watchman/internal/watch	(cached)
== ./modules/mesh-delivery-watchman: the integration tests (-tags integration)
ok  	mesh-delivery-watchman	0.003s
ok  	mesh-delivery-watchman/cmd/mesh-delivery-watchman	(cached)
ok  	mesh-delivery-watchman/internal/watch	(cached)
**Merge check** at `6c2b79ac` Judged: head `6c2b79acf106` merged into trunk `d68d7ef3d9af`; read beside it: mesh-catalog `38ac738d8463`, mesh-controller `cada7e3c8374`, mesh-controller-main `cada7e3c8374`, mesh-host `c5c4caa2a4ab`, mesh-tools `e0fadc43d9dd` - `mesh/merge-gate`: **FAIL** — a manifest the change touches fails the module check: modules/mesh-delivery-view/module.json: this manifest cannot be used: (modules: mesh-delivery-view) - `mesh/repo-check`: **PASS** — its merge-check.sh passed **Delivery plan** — builds mesh-delivery-view → shanks; no bus step - tier 0: mesh-delivery-view - shanks: receives mesh-delivery-view - 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 mesh-delivery-view is judged on its first machine - read by no module's build: modules/mesh-delivery-view/cmd/mesh-delivery-view-tools/main.go, modules/mesh-delivery-view/cmd/mesh-delivery-view-tools/main_test.go, modules/mesh-delivery-view/manifest_test.go Run by the build seat on shanks as `build-1792582176866975479` (`builds --log build-1792582176866975479`). ``` --- the gate: mesh-delivery-view modules/mesh-delivery-view/module.json: this manifest cannot be used: - mesh-delivery-view: "tools" says the runtime loads "mesh-delivery-view", which is not among its entrypoints — what is loaded is compiled, so it is named there too long-running resources without health: 0 files asking for a setting without saying whether it is trusted: 0 mesh-controller: 1 problem(s) in 1 manifest(s) --- the same manifests on main modules/mesh-delivery-view/module.json: mesh-delivery-view: command names the template "files/mesh-delivery-cli", and the module's directory has no such file; mesh-delivery-view: its item of shell:zsh:normal names the template "files/zsh-normal", and the module's directory has no such file long-running resources without health: 0 files asking for a setting without saying whether it is trusted: 0 mesh-controller: 1 problem(s) in 1 manifest(s) --- its merge-check.sh (go toolchain) == ./modules/mesh-delivery-builder: go vet and the unit tests ok mesh-delivery-builder 0.003s ? mesh-delivery-builder/cmd/mesh-delivery-builder [no test files] ok mesh-delivery-builder/internal/build 0.253s == ./modules/mesh-delivery-builder: the integration tests (-tags integration) ok mesh-delivery-builder 0.003s ok mesh-delivery-builder/cmd/mesh-delivery-builder 1.864s ok mesh-delivery-builder/internal/build 0.254s == ./modules/mesh-delivery-forge-bridge: go vet and the unit tests ok mesh-delivery-forge-bridge 0.003s ok mesh-delivery-forge-bridge/cmd/mesh-delivery-forge-bridge (cached) ok mesh-delivery-forge-bridge/internal/bridge 0.199s == ./modules/mesh-delivery-forge-bridge: the integration tests (-tags integration) ok mesh-delivery-forge-bridge 0.003s ok mesh-delivery-forge-bridge/cmd/mesh-delivery-forge-bridge 3.575s ok mesh-delivery-forge-bridge/internal/bridge 0.198s == ./modules/mesh-delivery-indexer: go vet and the unit tests ok mesh-delivery-indexer 0.003s ok mesh-delivery-indexer/cmd/mesh-delivery-indexer (cached) ok mesh-delivery-indexer/internal/index 0.037s == ./modules/mesh-delivery-indexer: the integration tests (-tags integration) ok mesh-delivery-indexer 0.003s ok mesh-delivery-indexer/cmd/mesh-delivery-indexer 0.654s ok mesh-delivery-indexer/internal/index 0.037s == ./modules/mesh-delivery-teller: go vet and the unit tests ok mesh-delivery-teller 0.003s ok mesh-delivery-teller/cmd/mesh-delivery-teller (cached) == ./modules/mesh-delivery-teller: the integration tests (-tags integration) ok mesh-delivery-teller 0.003s ok mesh-delivery-teller/cmd/mesh-delivery-teller (cached) == ./modules/mesh-delivery-view: go vet and the unit tests ok mesh-delivery-view 0.003s ok mesh-delivery-view/cmd/mesh-delivery-cli (cached) ok mesh-delivery-view/cmd/mesh-delivery-view (cached) ok mesh-delivery-view/cmd/mesh-delivery-view-tools (cached) ok mesh-delivery-view/internal/view (cached) == ./modules/mesh-delivery-view: the integration tests (-tags integration) ok mesh-delivery-view 0.003s ok mesh-delivery-view/cmd/mesh-delivery-cli (cached) ok mesh-delivery-view/cmd/mesh-delivery-view (cached) ok mesh-delivery-view/cmd/mesh-delivery-view-tools (cached) ok mesh-delivery-view/internal/view (cached) == ./modules/mesh-delivery-watchman: go vet and the unit tests ok mesh-delivery-watchman 0.003s ok mesh-delivery-watchman/cmd/mesh-delivery-watchman (cached) ok mesh-delivery-watchman/internal/watch (cached) == ./modules/mesh-delivery-watchman: the integration tests (-tags integration) ok mesh-delivery-watchman 0.003s ok mesh-delivery-watchman/cmd/mesh-delivery-watchman (cached) ok mesh-delivery-watchman/internal/watch (cached) ```
jschoubben added 1 commit 2026-10-21 11:43:27 +00:00
Name the view's tools binary as what its bundle loads, as the controller's module check requires of a bundle compiled to a binary (issue 1562)
mesh/merge-gate head 1239199b35dd merged into trunk d68d7ef3d9af — pass: builds mesh-delivery-view → shanks; no bus step; every machine composes with the c…
mesh/repo-check head 1239199b35dd merged into trunk d68d7ef3d9af — pass: its merge-check.sh passed
mesh/delivery delivered
1239199b35
Author
Member

Merge check at 1239199b
Judged: head 1239199b35dd merged into trunk d68d7ef3d9af; read beside it: mesh-catalog 4efac366cebb, mesh-controller cada7e3c8374, mesh-controller-main cada7e3c8374, mesh-host c5c4caa2a4ab, mesh-tools e0fadc43d9dd

  • mesh/merge-gate: PASS — every machine composes with the change as it did without (4 of 4 compose) (modules: mesh-delivery-view)
  • mesh/repo-check: PASS — its merge-check.sh passed

Delivery plan — builds mesh-delivery-view → shanks; no bus step

  • tier 0: mesh-delivery-view
  • shanks: receives mesh-delivery-view
  • 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 mesh-delivery-view is judged on its first machine
  • read by no module's build: modules/mesh-delivery-view/cmd/mesh-delivery-view-tools/main.go, modules/mesh-delivery-view/cmd/mesh-delivery-view-tools/main_test.go, modules/mesh-delivery-view/manifest_test.go

Run by the build seat on ace as build-1792583020692320479 (builds --log build-1792583020692320479).

--- the gate: mesh-delivery-view
mesh-delivery-view: ok, 2 tool(s), reads mesh-controller.assignments, mesh-controller.builds, mesh-delivery-gate.asks, mesh-delivery-indexer.candidates, mesh-delivery-indexer.modules, mesh-delivery-teller.answers, mesh-delivery-watchman.presence, mesh-delivery-watchman.stuck, node-engine.have, ready: view by unit every 30s
long-running resources without health: 0
files asking for a setting without saying whether it is trusted: 0
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 1 module(s) changed against 4 machine(s), as the snapshot of 2026-10-21T11:41:29Z says they run
composing every machine as the mesh is
HELD: the vault did not answer for the core's credentials on f35; sealed by the controller until the vault holds it: mesh-provisioner-client — own/f35/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus
HELD: the vault did not answer for the core's credentials on idt; sealed by the controller until the vault holds it: mesh-provisioner-client — own/idt/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus
HELD: the vault did not answer for the core's credentials on ygcyr; sealed by the controller until the vault holds it: mesh-provisioner, mesh-provisioner-client, nats — own/ygcyr/mesh-provisioner/broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus; own/ygcyr/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus; own/ygcyr/nats/broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus
the bus's user list leaves out 7 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, ygcyr.mesh-mail.send, node.yvbpsm, yvbpsm.brother.device. Each is a user that cannot connect until one is issued
HELD: the vault did not answer for the core's credentials on yvbpsm; sealed by the controller until the vault holds it: mesh-provisioner-client — own/yvbpsm/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus
HELD: the vault did not answer for the core's credentials on f35; sealed by the controller until the vault holds it: mesh-provisioner-client — own/f35/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus
HELD: the vault did not answer for the core's credentials on idt; sealed by the controller until the vault holds it: mesh-provisioner-client — own/idt/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus
HELD: the vault did not answer for the core's credentials on ygcyr; sealed by the controller until the vault holds it: mesh-provisioner, mesh-provisioner-client, nats — own/ygcyr/mesh-provisioner/broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus; own/ygcyr/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus; own/ygcyr/nats/broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus
the bus's user list leaves out 7 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, ygcyr.mesh-mail.send, node.yvbpsm, yvbpsm.brother.device. Each is a user that cannot connect until one is issued
HELD: the vault did not answer for the core's credentials on yvbpsm; sealed by the controller until the vault holds it: mesh-provisioner-client — own/yvbpsm/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus
composing every machine with the change
HELD: the vault did not answer for the core's credentials on f35; sealed by the controller until the vault holds it: mesh-provisioner-client — own/f35/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus
HELD: the vault did not answer for the core's credentials on idt; sealed by the controller until the vault holds it: mesh-provisioner-client — own/idt/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus
HELD: the vault did not answer for the core's credentials on ygcyr; sealed by the controller until the vault holds it: mesh-provisioner, mesh-provisioner-client, nats — own/ygcyr/mesh-provisioner/broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus; own/ygcyr/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus; own/ygcyr/nats/broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus
the bus's user list leaves out 7 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, ygcyr.mesh-mail.send, node.yvbpsm, yvbpsm.brother.device. Each is a user that cannot connect until one is issued
HELD: the vault did not answer for the core's credentials on yvbpsm; sealed by the controller until the vault holds it: mesh-provisioner-client — own/yvbpsm/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus
HELD: the vault did not answer for the core's credentials on f35; sealed by the controller until the vault holds it: mesh-provisioner-client — own/f35/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus
HELD: the vault did not answer for the core's credentials on idt; sealed by the controller until the vault holds it: mesh-provisioner-client — own/idt/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus
HELD: the vault did not answer for the core's credentials on ygcyr; sealed by the controller until the vault holds it: mesh-provisioner, mesh-provisioner-client, nats — own/ygcyr/mesh-provisioner/broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus; own/ygcyr/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus; own/ygcyr/nats/broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus
the bus's user list leaves out 7 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, ygcyr.mesh-mail.send, node.yvbpsm, yvbpsm.brother.device. Each is a user that cannot connect until one is issued
HELD: the vault did not answer for the core's credentials on yvbpsm; sealed by the controller until the vault holds it: mesh-provisioner-client — own/yvbpsm/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus
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-21T11:41:29Z

modules the change moves:
  - mesh-delivery-view (changed)

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-config, holds mesh-delivery, holds mesh-dns-resolver, holds mesh-provisioner, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr): composes
  - a machine (yvbpsm): composes; the change adds 1 resource(s) and removes 0 (+archive:mesh-delivery-view.bundle-tools)

a merge would rebuild 1 module(s) in 1 tier(s): mesh-delivery-view

notes:
  - modules/mesh-delivery-view/cmd/mesh-delivery-view-tools/main.go, modules/mesh-delivery-view/cmd/mesh-delivery-view-tools/main_test.go and modules/mesh-delivery-view/manifest_test.go read by no module's build, and rebuild nothing (issue 280)
--- its merge-check.sh (go toolchain)
== ./modules/mesh-delivery-builder: go vet and the unit tests
ok  	mesh-delivery-builder	0.003s
?   	mesh-delivery-builder/cmd/mesh-delivery-builder	[no test files]
ok  	mesh-delivery-builder/internal/build	(cached)
== ./modules/mesh-delivery-builder: the integration tests (-tags integration)
ok  	mesh-delivery-builder	0.003s
ok  	mesh-delivery-builder/cmd/mesh-delivery-builder	1.853s
ok  	mesh-delivery-builder/internal/build	(cached)
== ./modules/mesh-delivery-forge-bridge: go vet and the unit tests
ok  	mesh-delivery-forge-bridge	0.002s
ok  	mesh-delivery-forge-bridge/cmd/mesh-delivery-forge-bridge	(cached)
ok  	mesh-delivery-forge-bridge/internal/bridge	0.197s
== ./modules/mesh-delivery-forge-bridge: the integration tests (-tags integration)
ok  	mesh-delivery-forge-bridge	0.002s
ok  	mesh-delivery-forge-bridge/cmd/mesh-delivery-forge-bridge	3.555s
ok  	mesh-delivery-forge-bridge/internal/bridge	0.197s
== ./modules/mesh-delivery-indexer: go vet and the unit tests
ok  	mesh-delivery-indexer	0.003s
ok  	mesh-delivery-indexer/cmd/mesh-delivery-indexer	(cached)
ok  	mesh-delivery-indexer/internal/index	0.030s
== ./modules/mesh-delivery-indexer: the integration tests (-tags integration)
ok  	mesh-delivery-indexer	0.003s
ok  	mesh-delivery-indexer/cmd/mesh-delivery-indexer	0.643s
ok  	mesh-delivery-indexer/internal/index	0.028s
== ./modules/mesh-delivery-teller: go vet and the unit tests
ok  	mesh-delivery-teller	0.002s
ok  	mesh-delivery-teller/cmd/mesh-delivery-teller	(cached)
== ./modules/mesh-delivery-teller: the integration tests (-tags integration)
ok  	mesh-delivery-teller	0.002s
ok  	mesh-delivery-teller/cmd/mesh-delivery-teller	(cached)
== ./modules/mesh-delivery-view: go vet and the unit tests
ok  	mesh-delivery-view	0.003s
ok  	mesh-delivery-view/cmd/mesh-delivery-cli	0.004s
ok  	mesh-delivery-view/cmd/mesh-delivery-view	0.003s
ok  	mesh-delivery-view/cmd/mesh-delivery-view-tools	0.002s
ok  	mesh-delivery-view/internal/view	0.007s
== ./modules/mesh-delivery-view: the integration tests (-tags integration)
ok  	mesh-delivery-view	0.003s
ok  	mesh-delivery-view/cmd/mesh-delivery-cli	0.009s
ok  	mesh-delivery-view/cmd/mesh-delivery-view	10.386s
ok  	mesh-delivery-view/cmd/mesh-delivery-view-tools	0.003s
ok  	mesh-delivery-view/internal/view	0.007s
== ./modules/mesh-delivery-watchman: go vet and the unit tests
ok  	mesh-delivery-watchman	0.002s
ok  	mesh-delivery-watchman/cmd/mesh-delivery-watchman	(cached)
ok  	mesh-delivery-watchman/internal/watch	(cached)
== ./modules/mesh-delivery-watchman: the integration tests (-tags integration)
ok  	mesh-delivery-watchman	0.002s
ok  	mesh-delivery-watchman/cmd/mesh-delivery-watchman	(cached)
ok  	mesh-delivery-watchman/internal/watch	(cached)
**Merge check** at `1239199b` Judged: head `1239199b35dd` merged into trunk `d68d7ef3d9af`; read beside it: mesh-catalog `4efac366cebb`, mesh-controller `cada7e3c8374`, mesh-controller-main `cada7e3c8374`, mesh-host `c5c4caa2a4ab`, mesh-tools `e0fadc43d9dd` - `mesh/merge-gate`: **PASS** — every machine composes with the change as it did without (4 of 4 compose) (modules: mesh-delivery-view) - `mesh/repo-check`: **PASS** — its merge-check.sh passed **Delivery plan** — builds mesh-delivery-view → shanks; no bus step - tier 0: mesh-delivery-view - shanks: receives mesh-delivery-view - 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 mesh-delivery-view is judged on its first machine - read by no module's build: modules/mesh-delivery-view/cmd/mesh-delivery-view-tools/main.go, modules/mesh-delivery-view/cmd/mesh-delivery-view-tools/main_test.go, modules/mesh-delivery-view/manifest_test.go Run by the build seat on ace as `build-1792583020692320479` (`builds --log build-1792583020692320479`). ``` --- the gate: mesh-delivery-view mesh-delivery-view: ok, 2 tool(s), reads mesh-controller.assignments, mesh-controller.builds, mesh-delivery-gate.asks, mesh-delivery-indexer.candidates, mesh-delivery-indexer.modules, mesh-delivery-teller.answers, mesh-delivery-watchman.presence, mesh-delivery-watchman.stuck, node-engine.have, ready: view by unit every 30s long-running resources without health: 0 files asking for a setting without saying whether it is trusted: 0 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 1 module(s) changed against 4 machine(s), as the snapshot of 2026-10-21T11:41:29Z says they run composing every machine as the mesh is HELD: the vault did not answer for the core's credentials on f35; sealed by the controller until the vault holds it: mesh-provisioner-client — own/f35/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus HELD: the vault did not answer for the core's credentials on idt; sealed by the controller until the vault holds it: mesh-provisioner-client — own/idt/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus HELD: the vault did not answer for the core's credentials on ygcyr; sealed by the controller until the vault holds it: mesh-provisioner, mesh-provisioner-client, nats — own/ygcyr/mesh-provisioner/broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus; own/ygcyr/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus; own/ygcyr/nats/broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus the bus's user list leaves out 7 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, ygcyr.mesh-mail.send, node.yvbpsm, yvbpsm.brother.device. Each is a user that cannot connect until one is issued HELD: the vault did not answer for the core's credentials on yvbpsm; sealed by the controller until the vault holds it: mesh-provisioner-client — own/yvbpsm/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus HELD: the vault did not answer for the core's credentials on f35; sealed by the controller until the vault holds it: mesh-provisioner-client — own/f35/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus HELD: the vault did not answer for the core's credentials on idt; sealed by the controller until the vault holds it: mesh-provisioner-client — own/idt/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus HELD: the vault did not answer for the core's credentials on ygcyr; sealed by the controller until the vault holds it: mesh-provisioner, mesh-provisioner-client, nats — own/ygcyr/mesh-provisioner/broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus; own/ygcyr/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus; own/ygcyr/nats/broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus the bus's user list leaves out 7 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, ygcyr.mesh-mail.send, node.yvbpsm, yvbpsm.brother.device. Each is a user that cannot connect until one is issued HELD: the vault did not answer for the core's credentials on yvbpsm; sealed by the controller until the vault holds it: mesh-provisioner-client — own/yvbpsm/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus composing every machine with the change HELD: the vault did not answer for the core's credentials on f35; sealed by the controller until the vault holds it: mesh-provisioner-client — own/f35/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus HELD: the vault did not answer for the core's credentials on idt; sealed by the controller until the vault holds it: mesh-provisioner-client — own/idt/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus HELD: the vault did not answer for the core's credentials on ygcyr; sealed by the controller until the vault holds it: mesh-provisioner, mesh-provisioner-client, nats — own/ygcyr/mesh-provisioner/broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus; own/ygcyr/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus; own/ygcyr/nats/broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus the bus's user list leaves out 7 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, ygcyr.mesh-mail.send, node.yvbpsm, yvbpsm.brother.device. Each is a user that cannot connect until one is issued HELD: the vault did not answer for the core's credentials on yvbpsm; sealed by the controller until the vault holds it: mesh-provisioner-client — own/yvbpsm/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus HELD: the vault did not answer for the core's credentials on f35; sealed by the controller until the vault holds it: mesh-provisioner-client — own/f35/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus HELD: the vault did not answer for the core's credentials on idt; sealed by the controller until the vault holds it: mesh-provisioner-client — own/idt/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus HELD: the vault did not answer for the core's credentials on ygcyr; sealed by the controller until the vault holds it: mesh-provisioner, mesh-provisioner-client, nats — own/ygcyr/mesh-provisioner/broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus; own/ygcyr/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus; own/ygcyr/nats/broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus the bus's user list leaves out 7 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, ygcyr.mesh-mail.send, node.yvbpsm, yvbpsm.brother.device. Each is a user that cannot connect until one is issued HELD: the vault did not answer for the core's credentials on yvbpsm; sealed by the controller until the vault holds it: mesh-provisioner-client — own/yvbpsm/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus 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-21T11:41:29Z modules the change moves: - mesh-delivery-view (changed) 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-config, holds mesh-delivery, holds mesh-dns-resolver, holds mesh-provisioner, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr): composes - a machine (yvbpsm): composes; the change adds 1 resource(s) and removes 0 (+archive:mesh-delivery-view.bundle-tools) a merge would rebuild 1 module(s) in 1 tier(s): mesh-delivery-view notes: - modules/mesh-delivery-view/cmd/mesh-delivery-view-tools/main.go, modules/mesh-delivery-view/cmd/mesh-delivery-view-tools/main_test.go and modules/mesh-delivery-view/manifest_test.go read by no module's build, and rebuild nothing (issue 280) --- its merge-check.sh (go toolchain) == ./modules/mesh-delivery-builder: go vet and the unit tests ok mesh-delivery-builder 0.003s ? mesh-delivery-builder/cmd/mesh-delivery-builder [no test files] ok mesh-delivery-builder/internal/build (cached) == ./modules/mesh-delivery-builder: the integration tests (-tags integration) ok mesh-delivery-builder 0.003s ok mesh-delivery-builder/cmd/mesh-delivery-builder 1.853s ok mesh-delivery-builder/internal/build (cached) == ./modules/mesh-delivery-forge-bridge: go vet and the unit tests ok mesh-delivery-forge-bridge 0.002s ok mesh-delivery-forge-bridge/cmd/mesh-delivery-forge-bridge (cached) ok mesh-delivery-forge-bridge/internal/bridge 0.197s == ./modules/mesh-delivery-forge-bridge: the integration tests (-tags integration) ok mesh-delivery-forge-bridge 0.002s ok mesh-delivery-forge-bridge/cmd/mesh-delivery-forge-bridge 3.555s ok mesh-delivery-forge-bridge/internal/bridge 0.197s == ./modules/mesh-delivery-indexer: go vet and the unit tests ok mesh-delivery-indexer 0.003s ok mesh-delivery-indexer/cmd/mesh-delivery-indexer (cached) ok mesh-delivery-indexer/internal/index 0.030s == ./modules/mesh-delivery-indexer: the integration tests (-tags integration) ok mesh-delivery-indexer 0.003s ok mesh-delivery-indexer/cmd/mesh-delivery-indexer 0.643s ok mesh-delivery-indexer/internal/index 0.028s == ./modules/mesh-delivery-teller: go vet and the unit tests ok mesh-delivery-teller 0.002s ok mesh-delivery-teller/cmd/mesh-delivery-teller (cached) == ./modules/mesh-delivery-teller: the integration tests (-tags integration) ok mesh-delivery-teller 0.002s ok mesh-delivery-teller/cmd/mesh-delivery-teller (cached) == ./modules/mesh-delivery-view: go vet and the unit tests ok mesh-delivery-view 0.003s ok mesh-delivery-view/cmd/mesh-delivery-cli 0.004s ok mesh-delivery-view/cmd/mesh-delivery-view 0.003s ok mesh-delivery-view/cmd/mesh-delivery-view-tools 0.002s ok mesh-delivery-view/internal/view 0.007s == ./modules/mesh-delivery-view: the integration tests (-tags integration) ok mesh-delivery-view 0.003s ok mesh-delivery-view/cmd/mesh-delivery-cli 0.009s ok mesh-delivery-view/cmd/mesh-delivery-view 10.386s ok mesh-delivery-view/cmd/mesh-delivery-view-tools 0.003s ok mesh-delivery-view/internal/view 0.007s == ./modules/mesh-delivery-watchman: go vet and the unit tests ok mesh-delivery-watchman 0.002s ok mesh-delivery-watchman/cmd/mesh-delivery-watchman (cached) ok mesh-delivery-watchman/internal/watch (cached) == ./modules/mesh-delivery-watchman: the integration tests (-tags integration) ok mesh-delivery-watchman 0.002s ok mesh-delivery-watchman/cmd/mesh-delivery-watchman (cached) ok mesh-delivery-watchman/internal/watch (cached) ```
Author
Member

Merge check at 1239199b
Judged: head 1239199b35dd merged into trunk d68d7ef3d9af; read beside it: mesh-catalog 4efac366cebb, mesh-controller cada7e3c8374, mesh-controller-main 5be1cfaed19b, mesh-host c5c4caa2a4ab, mesh-tools e0fadc43d9dd

  • mesh/merge-gate: PASS — every machine composes with the change as it did without (4 of 4 compose) (modules: mesh-delivery-view)
  • mesh/repo-check: PASS — its merge-check.sh passed

Delivery plan — builds mesh-delivery-view → shanks; no bus step

  • tier 0: mesh-delivery-view
  • shanks: receives mesh-delivery-view
  • 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 mesh-delivery-view is judged on its first machine
  • read by no module's build: modules/mesh-delivery-view/cmd/mesh-delivery-view-tools/main.go, modules/mesh-delivery-view/cmd/mesh-delivery-view-tools/main_test.go, modules/mesh-delivery-view/manifest_test.go

Run by the build seat on shanks as build-1792583404411306482 (builds --log build-1792583404411306482).

--- the gate: mesh-delivery-view
mesh-delivery-view: ok, 2 tool(s), reads mesh-controller.assignments, mesh-controller.builds, mesh-delivery-gate.asks, mesh-delivery-indexer.candidates, mesh-delivery-indexer.modules, mesh-delivery-teller.answers, mesh-delivery-watchman.presence, mesh-delivery-watchman.stuck, node-engine.have, ready: view by unit every 30s
long-running resources without health: 0
files asking for a setting without saying whether it is trusted: 0
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 1 module(s) changed against 4 machine(s), as the snapshot of 2026-10-21T11:41:29Z says they run
composing every machine as the mesh is
HELD: the vault did not answer for the core's credentials on f35; sealed by the controller until the vault holds it: mesh-provisioner-client — own/f35/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus
HELD: the vault did not answer for the core's credentials on idt; sealed by the controller until the vault holds it: mesh-provisioner-client — own/idt/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus
HELD: the vault did not answer for the core's credentials on ygcyr; sealed by the controller until the vault holds it: mesh-provisioner, mesh-provisioner-client, nats — own/ygcyr/mesh-provisioner/broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus; own/ygcyr/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus; own/ygcyr/nats/broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus
the bus's user list leaves out 7 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, ygcyr.mesh-mail.send, node.yvbpsm, yvbpsm.brother.device. Each is a user that cannot connect until one is issued
HELD: the vault did not answer for the core's credentials on yvbpsm; sealed by the controller until the vault holds it: mesh-provisioner-client — own/yvbpsm/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus
HELD: the vault did not answer for the core's credentials on f35; sealed by the controller until the vault holds it: mesh-provisioner-client — own/f35/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus
HELD: the vault did not answer for the core's credentials on idt; sealed by the controller until the vault holds it: mesh-provisioner-client — own/idt/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus
HELD: the vault did not answer for the core's credentials on ygcyr; sealed by the controller until the vault holds it: mesh-provisioner, mesh-provisioner-client, nats — own/ygcyr/mesh-provisioner/broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus; own/ygcyr/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus; own/ygcyr/nats/broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus
the bus's user list leaves out 7 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, ygcyr.mesh-mail.send, node.yvbpsm, yvbpsm.brother.device. Each is a user that cannot connect until one is issued
HELD: the vault did not answer for the core's credentials on yvbpsm; sealed by the controller until the vault holds it: mesh-provisioner-client — own/yvbpsm/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus
composing every machine with the change
HELD: the vault did not answer for the core's credentials on f35; sealed by the controller until the vault holds it: mesh-provisioner-client — own/f35/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus
HELD: the vault did not answer for the core's credentials on idt; sealed by the controller until the vault holds it: mesh-provisioner-client — own/idt/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus
HELD: the vault did not answer for the core's credentials on ygcyr; sealed by the controller until the vault holds it: mesh-provisioner, mesh-provisioner-client, nats — own/ygcyr/mesh-provisioner/broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus; own/ygcyr/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus; own/ygcyr/nats/broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus
the bus's user list leaves out 7 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, ygcyr.mesh-mail.send, node.yvbpsm, yvbpsm.brother.device. Each is a user that cannot connect until one is issued
HELD: the vault did not answer for the core's credentials on yvbpsm; sealed by the controller until the vault holds it: mesh-provisioner-client — own/yvbpsm/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus
HELD: the vault did not answer for the core's credentials on f35; sealed by the controller until the vault holds it: mesh-provisioner-client — own/f35/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus
HELD: the vault did not answer for the core's credentials on idt; sealed by the controller until the vault holds it: mesh-provisioner-client — own/idt/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus
HELD: the vault did not answer for the core's credentials on ygcyr; sealed by the controller until the vault holds it: mesh-provisioner, mesh-provisioner-client, nats — own/ygcyr/mesh-provisioner/broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus; own/ygcyr/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus; own/ygcyr/nats/broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus
the bus's user list leaves out 7 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, ygcyr.mesh-mail.send, node.yvbpsm, yvbpsm.brother.device. Each is a user that cannot connect until one is issued
HELD: the vault did not answer for the core's credentials on yvbpsm; sealed by the controller until the vault holds it: mesh-provisioner-client — own/yvbpsm/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus
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-21T11:41:29Z

modules the change moves:
  - mesh-delivery-view (changed)

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-config, holds mesh-delivery, holds mesh-dns-resolver, holds mesh-provisioner, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr): composes
  - a machine (yvbpsm): composes; the change adds 1 resource(s) and removes 0 (+archive:mesh-delivery-view.bundle-tools)

a merge would rebuild 1 module(s) in 1 tier(s): mesh-delivery-view

notes:
  - modules/mesh-delivery-view/cmd/mesh-delivery-view-tools/main.go, modules/mesh-delivery-view/cmd/mesh-delivery-view-tools/main_test.go and modules/mesh-delivery-view/manifest_test.go read by no module's build, and rebuild nothing (issue 280)
--- its merge-check.sh (go toolchain)
== ./modules/mesh-delivery-builder: go vet and the unit tests
ok  	mesh-delivery-builder	0.004s
?   	mesh-delivery-builder/cmd/mesh-delivery-builder	[no test files]
ok  	mesh-delivery-builder/internal/build	(cached)
== ./modules/mesh-delivery-builder: the integration tests (-tags integration)
ok  	mesh-delivery-builder	0.004s
ok  	mesh-delivery-builder/cmd/mesh-delivery-builder	1.876s
ok  	mesh-delivery-builder/internal/build	(cached)
== ./modules/mesh-delivery-forge-bridge: go vet and the unit tests
ok  	mesh-delivery-forge-bridge	0.003s
ok  	mesh-delivery-forge-bridge/cmd/mesh-delivery-forge-bridge	(cached)
ok  	mesh-delivery-forge-bridge/internal/bridge	0.199s
== ./modules/mesh-delivery-forge-bridge: the integration tests (-tags integration)
ok  	mesh-delivery-forge-bridge	0.003s
ok  	mesh-delivery-forge-bridge/cmd/mesh-delivery-forge-bridge	3.526s
ok  	mesh-delivery-forge-bridge/internal/bridge	0.198s
== ./modules/mesh-delivery-indexer: go vet and the unit tests
ok  	mesh-delivery-indexer	0.003s
ok  	mesh-delivery-indexer/cmd/mesh-delivery-indexer	(cached)
ok  	mesh-delivery-indexer/internal/index	0.039s
== ./modules/mesh-delivery-indexer: the integration tests (-tags integration)
ok  	mesh-delivery-indexer	0.003s
ok  	mesh-delivery-indexer/cmd/mesh-delivery-indexer	0.641s
ok  	mesh-delivery-indexer/internal/index	0.037s
== ./modules/mesh-delivery-teller: go vet and the unit tests
ok  	mesh-delivery-teller	0.003s
ok  	mesh-delivery-teller/cmd/mesh-delivery-teller	(cached)
== ./modules/mesh-delivery-teller: the integration tests (-tags integration)
ok  	mesh-delivery-teller	0.003s
ok  	mesh-delivery-teller/cmd/mesh-delivery-teller	(cached)
== ./modules/mesh-delivery-view: go vet and the unit tests
ok  	mesh-delivery-view	0.004s
ok  	mesh-delivery-view/cmd/mesh-delivery-cli	(cached)
ok  	mesh-delivery-view/cmd/mesh-delivery-view	(cached)
ok  	mesh-delivery-view/cmd/mesh-delivery-view-tools	(cached)
ok  	mesh-delivery-view/internal/view	(cached)
== ./modules/mesh-delivery-view: the integration tests (-tags integration)
ok  	mesh-delivery-view	0.003s
ok  	mesh-delivery-view/cmd/mesh-delivery-cli	(cached)
ok  	mesh-delivery-view/cmd/mesh-delivery-view	(cached)
ok  	mesh-delivery-view/cmd/mesh-delivery-view-tools	(cached)
ok  	mesh-delivery-view/internal/view	(cached)
== ./modules/mesh-delivery-watchman: go vet and the unit tests
ok  	mesh-delivery-watchman	0.003s
ok  	mesh-delivery-watchman/cmd/mesh-delivery-watchman	(cached)
ok  	mesh-delivery-watchman/internal/watch	(cached)
== ./modules/mesh-delivery-watchman: the integration tests (-tags integration)
ok  	mesh-delivery-watchman	0.003s
ok  	mesh-delivery-watchman/cmd/mesh-delivery-watchman	(cached)
ok  	mesh-delivery-watchman/internal/watch	(cached)
**Merge check** at `1239199b` Judged: head `1239199b35dd` merged into trunk `d68d7ef3d9af`; read beside it: mesh-catalog `4efac366cebb`, mesh-controller `cada7e3c8374`, mesh-controller-main `5be1cfaed19b`, mesh-host `c5c4caa2a4ab`, mesh-tools `e0fadc43d9dd` - `mesh/merge-gate`: **PASS** — every machine composes with the change as it did without (4 of 4 compose) (modules: mesh-delivery-view) - `mesh/repo-check`: **PASS** — its merge-check.sh passed **Delivery plan** — builds mesh-delivery-view → shanks; no bus step - tier 0: mesh-delivery-view - shanks: receives mesh-delivery-view - 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 mesh-delivery-view is judged on its first machine - read by no module's build: modules/mesh-delivery-view/cmd/mesh-delivery-view-tools/main.go, modules/mesh-delivery-view/cmd/mesh-delivery-view-tools/main_test.go, modules/mesh-delivery-view/manifest_test.go Run by the build seat on shanks as `build-1792583404411306482` (`builds --log build-1792583404411306482`). ``` --- the gate: mesh-delivery-view mesh-delivery-view: ok, 2 tool(s), reads mesh-controller.assignments, mesh-controller.builds, mesh-delivery-gate.asks, mesh-delivery-indexer.candidates, mesh-delivery-indexer.modules, mesh-delivery-teller.answers, mesh-delivery-watchman.presence, mesh-delivery-watchman.stuck, node-engine.have, ready: view by unit every 30s long-running resources without health: 0 files asking for a setting without saying whether it is trusted: 0 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 1 module(s) changed against 4 machine(s), as the snapshot of 2026-10-21T11:41:29Z says they run composing every machine as the mesh is HELD: the vault did not answer for the core's credentials on f35; sealed by the controller until the vault holds it: mesh-provisioner-client — own/f35/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus HELD: the vault did not answer for the core's credentials on idt; sealed by the controller until the vault holds it: mesh-provisioner-client — own/idt/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus HELD: the vault did not answer for the core's credentials on ygcyr; sealed by the controller until the vault holds it: mesh-provisioner, mesh-provisioner-client, nats — own/ygcyr/mesh-provisioner/broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus; own/ygcyr/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus; own/ygcyr/nats/broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus the bus's user list leaves out 7 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, ygcyr.mesh-mail.send, node.yvbpsm, yvbpsm.brother.device. Each is a user that cannot connect until one is issued HELD: the vault did not answer for the core's credentials on yvbpsm; sealed by the controller until the vault holds it: mesh-provisioner-client — own/yvbpsm/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus HELD: the vault did not answer for the core's credentials on f35; sealed by the controller until the vault holds it: mesh-provisioner-client — own/f35/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus HELD: the vault did not answer for the core's credentials on idt; sealed by the controller until the vault holds it: mesh-provisioner-client — own/idt/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus HELD: the vault did not answer for the core's credentials on ygcyr; sealed by the controller until the vault holds it: mesh-provisioner, mesh-provisioner-client, nats — own/ygcyr/mesh-provisioner/broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus; own/ygcyr/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus; own/ygcyr/nats/broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus the bus's user list leaves out 7 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, ygcyr.mesh-mail.send, node.yvbpsm, yvbpsm.brother.device. Each is a user that cannot connect until one is issued HELD: the vault did not answer for the core's credentials on yvbpsm; sealed by the controller until the vault holds it: mesh-provisioner-client — own/yvbpsm/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus composing every machine with the change HELD: the vault did not answer for the core's credentials on f35; sealed by the controller until the vault holds it: mesh-provisioner-client — own/f35/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus HELD: the vault did not answer for the core's credentials on idt; sealed by the controller until the vault holds it: mesh-provisioner-client — own/idt/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus HELD: the vault did not answer for the core's credentials on ygcyr; sealed by the controller until the vault holds it: mesh-provisioner, mesh-provisioner-client, nats — own/ygcyr/mesh-provisioner/broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus; own/ygcyr/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus; own/ygcyr/nats/broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus the bus's user list leaves out 7 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, ygcyr.mesh-mail.send, node.yvbpsm, yvbpsm.brother.device. Each is a user that cannot connect until one is issued HELD: the vault did not answer for the core's credentials on yvbpsm; sealed by the controller until the vault holds it: mesh-provisioner-client — own/yvbpsm/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus HELD: the vault did not answer for the core's credentials on f35; sealed by the controller until the vault holds it: mesh-provisioner-client — own/f35/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus HELD: the vault did not answer for the core's credentials on idt; sealed by the controller until the vault holds it: mesh-provisioner-client — own/idt/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus HELD: the vault did not answer for the core's credentials on ygcyr; sealed by the controller until the vault holds it: mesh-provisioner, mesh-provisioner-client, nats — own/ygcyr/mesh-provisioner/broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus; own/ygcyr/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus; own/ygcyr/nats/broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus the bus's user list leaves out 7 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, ygcyr.mesh-mail.send, node.yvbpsm, yvbpsm.brother.device. Each is a user that cannot connect until one is issued HELD: the vault did not answer for the core's credentials on yvbpsm; sealed by the controller until the vault holds it: mesh-provisioner-client — own/yvbpsm/mesh-provisioner-client/provisioner-broker: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus 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-21T11:41:29Z modules the change moves: - mesh-delivery-view (changed) 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-config, holds mesh-delivery, holds mesh-dns-resolver, holds mesh-provisioner, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr): composes - a machine (yvbpsm): composes; the change adds 1 resource(s) and removes 0 (+archive:mesh-delivery-view.bundle-tools) a merge would rebuild 1 module(s) in 1 tier(s): mesh-delivery-view notes: - modules/mesh-delivery-view/cmd/mesh-delivery-view-tools/main.go, modules/mesh-delivery-view/cmd/mesh-delivery-view-tools/main_test.go and modules/mesh-delivery-view/manifest_test.go read by no module's build, and rebuild nothing (issue 280) --- its merge-check.sh (go toolchain) == ./modules/mesh-delivery-builder: go vet and the unit tests ok mesh-delivery-builder 0.004s ? mesh-delivery-builder/cmd/mesh-delivery-builder [no test files] ok mesh-delivery-builder/internal/build (cached) == ./modules/mesh-delivery-builder: the integration tests (-tags integration) ok mesh-delivery-builder 0.004s ok mesh-delivery-builder/cmd/mesh-delivery-builder 1.876s ok mesh-delivery-builder/internal/build (cached) == ./modules/mesh-delivery-forge-bridge: go vet and the unit tests ok mesh-delivery-forge-bridge 0.003s ok mesh-delivery-forge-bridge/cmd/mesh-delivery-forge-bridge (cached) ok mesh-delivery-forge-bridge/internal/bridge 0.199s == ./modules/mesh-delivery-forge-bridge: the integration tests (-tags integration) ok mesh-delivery-forge-bridge 0.003s ok mesh-delivery-forge-bridge/cmd/mesh-delivery-forge-bridge 3.526s ok mesh-delivery-forge-bridge/internal/bridge 0.198s == ./modules/mesh-delivery-indexer: go vet and the unit tests ok mesh-delivery-indexer 0.003s ok mesh-delivery-indexer/cmd/mesh-delivery-indexer (cached) ok mesh-delivery-indexer/internal/index 0.039s == ./modules/mesh-delivery-indexer: the integration tests (-tags integration) ok mesh-delivery-indexer 0.003s ok mesh-delivery-indexer/cmd/mesh-delivery-indexer 0.641s ok mesh-delivery-indexer/internal/index 0.037s == ./modules/mesh-delivery-teller: go vet and the unit tests ok mesh-delivery-teller 0.003s ok mesh-delivery-teller/cmd/mesh-delivery-teller (cached) == ./modules/mesh-delivery-teller: the integration tests (-tags integration) ok mesh-delivery-teller 0.003s ok mesh-delivery-teller/cmd/mesh-delivery-teller (cached) == ./modules/mesh-delivery-view: go vet and the unit tests ok mesh-delivery-view 0.004s ok mesh-delivery-view/cmd/mesh-delivery-cli (cached) ok mesh-delivery-view/cmd/mesh-delivery-view (cached) ok mesh-delivery-view/cmd/mesh-delivery-view-tools (cached) ok mesh-delivery-view/internal/view (cached) == ./modules/mesh-delivery-view: the integration tests (-tags integration) ok mesh-delivery-view 0.003s ok mesh-delivery-view/cmd/mesh-delivery-cli (cached) ok mesh-delivery-view/cmd/mesh-delivery-view (cached) ok mesh-delivery-view/cmd/mesh-delivery-view-tools (cached) ok mesh-delivery-view/internal/view (cached) == ./modules/mesh-delivery-watchman: go vet and the unit tests ok mesh-delivery-watchman 0.003s ok mesh-delivery-watchman/cmd/mesh-delivery-watchman (cached) ok mesh-delivery-watchman/internal/watch (cached) == ./modules/mesh-delivery-watchman: the integration tests (-tags integration) ok mesh-delivery-watchman 0.003s ok mesh-delivery-watchman/cmd/mesh-delivery-watchman (cached) ok mesh-delivery-watchman/internal/watch (cached) ```
mesh-tools merged commit 2000c841bf into main 2026-10-21 12:04:07 +00:00
mesh-tools deleted branch fix/1562-indexer-reads 2026-10-21 12:04:08 +00:00
Sign in to join this conversation.
No Reviewers
No labels
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-delivery#13