Mirrors mesh-controller #103 in the genesis lock: the controller's first user list may publish mesh.seat.mesh-delivery.tool.stalled and mesh.seat.mesh-delivery.tool.close. The self-check (D14) reads the first, and healer H2 calls the second. The controller's genesis-template test passes against this branch; merge-check.sh passes.
Merge and roll out before mesh-controller #103 is checked: the controller's repo-check reads this repository at the commit the mesh runs.
Mirrors mesh-controller #103 in the genesis lock: the controller's first user list may publish `mesh.seat.mesh-delivery.tool.stalled` and `mesh.seat.mesh-delivery.tool.close`. The self-check (D14) reads the first, and healer H2 calls the second. The controller's genesis-template test passes against this branch; `merge-check.sh` passes.
Merge and roll out before mesh-controller #103 is checked: the controller's repo-check reads this repository at the commit the mesh runs.
mesh/merge-gate pass: builds mesh-host → ace, g14, novox, shanks; no bus step; every machine composes with the change as it did without (0 of 4 compose)
mesh/repo-check fail: its merge-check.sh failed: internal/bootstrap/publish_test.go
mesh/merge-gate: PASS — every machine composes with the change as it did without (0 of 4 compose) (modules: mesh-host)
mesh/repo-check: FAIL — its merge-check.sh failed: internal/bootstrap/publish_test.go
Change plan — builds mesh-host → ace, g14, novox, shanks; no bus step
tier 0: mesh-host
ace: receives mesh-host
g14: receives mesh-host
novox: receives mesh-host
shanks: receives mesh-host
Run by the build seat on shanks as build-1791325457862789427 (builds --log build-1791325457862789427).
--- the gate: mesh-host
mesh-host: ok
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-06T22:15:09Z says they run
composing every machine as the mesh is
composing every machine with the change
merge gate: PASS — every machine composes with the change as it did without (0 of 4 compose)
judged by controller development build against the facts of 2026-10-06T22:15:09Z
machines:
- a machine (f35): does not compose
- holds mesh-dns-resolver (idt): does not compose
- holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr): does not compose
- a machine (yvbpsm): does not compose
a merge would rebuild 1 module(s) in 1 tier(s): mesh-host
notes:
- the mesh's settings of nzbget are not kept: refused: nzbget on the mesh cannot compose with the layer "the mesh" — nzbget has a file that says ${setting:username}, and nothing sets "username" for it — an operator's value is the assignment's, never the definition's (novox/hq ADR 0112): `settings set nzbget <file>` with {"username": …}; set today: pgid, puid
- the mesh's settings of qbittorrent are not kept: refused: qbittorrent on the mesh cannot compose with the layer "the mesh" — qbittorrent has a file that says ${setting:username}, and nothing sets "username" for it — an operator's value is the assignment's, never the definition's (novox/hq ADR 0112): `settings set qbittorrent <file>` with {"username": …}; set today: pgid, puid
- a machine (f35)'s given broker for fail2ban is not kept: fail2ban does not declare "broker" as an own secret; it declares no own secrets — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- a machine (f35)'s given broker for nftables is not kept: nftables does not declare "broker" as an own secret; it declares no own secrets — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s settings of plex are not kept: refused: plex on idt cannot compose with the layer "idt" — plex places the access "formula-1" at withheld, which is not an absolute path
- holds mesh-dns-resolver (idt)'s given broker for baserow is not kept: baserow does not declare "broker" as an own secret; it declares: admin — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for bazarr is not kept: bazarr does not declare "broker" as an own secret; it declares no own secrets — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for bookshelf is not kept: bookshelf does not declare "broker" as an own secret; it declares no own secrets — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for fail2ban is not kept: fail2ban does not declare "broker" as an own secret; it declares no own secrets — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for grafana is not kept: grafana does not declare "broker" as an own secret; it declares: admin — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for home-assistant is not kept: home-assistant does not declare "broker" as an own secret; it declares: token — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for icecast is not kept: icecast does not declare "broker" as an own secret; it declares no own secrets — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for influxdb is not kept: influxdb does not declare "broker" as an own secret; it declares: admin, admin-token — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for jackett is not kept: jackett does not declare "broker" as an own secret; it declares: api-key — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for kometa is not kept: kometa does not declare "broker" as an own secret; it declares: tmdb — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for letta is not kept: letta does not declare "broker" as an own secret; it declares: openai-api-key, server-password — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for lidarr is not kept: lidarr does not declare "broker" as an own secret; it declares: api-key — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for mosquitto is not kept: mosquitto does not declare "broker" as an own secret; it declares: admin — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for mssql is not kept: mssql does not declare "broker" as an own secret; it declares: reader, sa — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for nftables is not kept: nftables does not declare "broker" as an own secret; it declares no own secrets — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for nodered is not kept: nodered does not declare "broker" as an own secret; it declares: admin, api-token — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for nzbget is not kept: nzbget does not declare "broker" as an own secret; it declares: password — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for ombi is not kept: ombi does not declare "broker" as an own secret; it declares: api-key — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for plex is not kept: plex does not declare "broker" as an own secret; it declares no own secrets — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for postgres is not kept: postgres does not declare "broker" as an own secret; it declares: reader, superuser — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for qbittorrent is not kept: qbittorrent does not declare "broker" as an own secret; it declares: password — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for radarr is not kept: radarr does not declare "broker" as an own secret; it declares: api-key — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for redis is not kept: redis does not declare "broker" as an own secret; it declares no own secrets — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for searxng is not kept: searxng does not declare "broker" as an own secret; it declares: secret — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for sonarr is not kept: sonarr does not declare "broker" as an own secret; it declares: api-key — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for tautulli is not kept: tautulli does not declare "broker" as an own secret; it declares no own secrets — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for unifi is not kept: unifi does not declare "broker" as an own secret; it declares: controller — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr)'s given broker for fail2ban is not kept: fail2ban does not declare "broker" as an own secret; it declares no own secrets — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr)'s given broker for gitea is not kept: gitea does not declare "broker" as an own secret; it declares no own secrets — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr)'s given broker for keycloak is not kept: keycloak does not declare "broker" as an own secret; it declares: admin — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr)'s given broker for mailu is not kept: mailu does not declare "broker" as an own secret; it declares no own secrets — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr)'s given broker for mesh-catalog is not kept: mesh-catalog does not declare "broker" as an own secret; it declares no own secrets — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr)'s given broker for mesh-vault is not kept: mesh-vault does not declare "broker" as an own secret; it declares no own secrets — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr)'s given broker for minio is not kept: minio does not declare "broker" as an own secret; it declares: root — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr)'s given broker for mongodb is not kept: mongodb does not declare "broker" as an own secret; it declares: root — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr)'s given broker for mssql is not kept: mssql does not declare "broker" as an own secret; it declares: reader, sa — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr)'s given broker for nextcloud is not kept: nextcloud does not declare "broker" as an own secret; it declares: admin — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr)'s given broker for nftables is not kept: nftables does not declare "broker" as an own secret; it declares no own secrets — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr)'s given broker for postgres is not kept: postgres does not declare "broker" as an own secret; it declares: reader, superuser — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr)'s given broker for records is not kept: records does not declare "broker" as an own secret; it declares no own secrets — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr)'s given broker for umami is not kept: umami does not declare "broker" as an own secret; it declares no own secrets — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- a machine (yvbpsm)'s given broker for fail2ban is not kept: fail2ban does not declare "broker" as an own secret; it declares no own secrets — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- a machine (yvbpsm)'s given broker for lab is not kept: lab does not declare "broker" as an own secret; it declares no own secrets — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- a machine (yvbpsm)'s given broker for nftables is not kept: nftables does not declare "broker" as an own secret; it declares no own secrets — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- a machine (f35) composes on the mesh and not as the snapshot raised it: build-agent on f35 has no bus credential: nothing was issued for f35.build-agent, and a push would seal a placeholder its process cannot read (novox/hq issue 203). `module issue build-agent --node f35`, then push again — judged by what the change adds
- holds mesh-dns-resolver (idt) composes on the mesh and not as the snapshot raised it: route-proxy on idt has no bus credential: nothing was issued for idt.route-proxy, and a push would seal a placeholder its process cannot read (novox/hq issue 203). `module issue route-proxy --node idt`, then push again — judged by what the change adds
- holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr) composes on the mesh and not as the snapshot raised it: distribution on ygcyr has no bus credential: nothing was issued for ygcyr.distribution, and a push would seal a placeholder its process cannot read (novox/hq issue 203). `module issue distribution --node ygcyr`, then push again — judged by what the change adds
- a machine (yvbpsm) composes on the mesh and not as the snapshot raised it: build-agent on yvbpsm has no bus credential: nothing was issued for yvbpsm.build-agent, and a push would seal a placeholder its process cannot read (novox/hq issue 203). `module issue build-agent --node yvbpsm`, then push again — judged by what the change adds
--- its merge-check.sh (go toolchain)
not gofmt'd:
internal/bootstrap/publish_test.go
**Merge check** at `b196cabd`
- `mesh/merge-gate`: **PASS** — every machine composes with the change as it did without (0 of 4 compose) (modules: mesh-host)
- `mesh/repo-check`: **FAIL** — its merge-check.sh failed: internal/bootstrap/publish_test.go
**Change plan** — builds mesh-host → ace, g14, novox, shanks; no bus step
- tier 0: mesh-host
- ace: receives mesh-host
- g14: receives mesh-host
- novox: receives mesh-host
- shanks: receives mesh-host
Run by the build seat on shanks as `build-1791325457862789427` (`builds --log build-1791325457862789427`).
```
--- the gate: mesh-host
mesh-host: ok
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-06T22:15:09Z says they run
composing every machine as the mesh is
composing every machine with the change
merge gate: PASS — every machine composes with the change as it did without (0 of 4 compose)
judged by controller development build against the facts of 2026-10-06T22:15:09Z
machines:
- a machine (f35): does not compose
- holds mesh-dns-resolver (idt): does not compose
- holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr): does not compose
- a machine (yvbpsm): does not compose
a merge would rebuild 1 module(s) in 1 tier(s): mesh-host
notes:
- the mesh's settings of nzbget are not kept: refused: nzbget on the mesh cannot compose with the layer "the mesh" — nzbget has a file that says ${setting:username}, and nothing sets "username" for it — an operator's value is the assignment's, never the definition's (novox/hq ADR 0112): `settings set nzbget <file>` with {"username": …}; set today: pgid, puid
- the mesh's settings of qbittorrent are not kept: refused: qbittorrent on the mesh cannot compose with the layer "the mesh" — qbittorrent has a file that says ${setting:username}, and nothing sets "username" for it — an operator's value is the assignment's, never the definition's (novox/hq ADR 0112): `settings set qbittorrent <file>` with {"username": …}; set today: pgid, puid
- a machine (f35)'s given broker for fail2ban is not kept: fail2ban does not declare "broker" as an own secret; it declares no own secrets — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- a machine (f35)'s given broker for nftables is not kept: nftables does not declare "broker" as an own secret; it declares no own secrets — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s settings of plex are not kept: refused: plex on idt cannot compose with the layer "idt" — plex places the access "formula-1" at withheld, which is not an absolute path
- holds mesh-dns-resolver (idt)'s given broker for baserow is not kept: baserow does not declare "broker" as an own secret; it declares: admin — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for bazarr is not kept: bazarr does not declare "broker" as an own secret; it declares no own secrets — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for bookshelf is not kept: bookshelf does not declare "broker" as an own secret; it declares no own secrets — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for fail2ban is not kept: fail2ban does not declare "broker" as an own secret; it declares no own secrets — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for grafana is not kept: grafana does not declare "broker" as an own secret; it declares: admin — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for home-assistant is not kept: home-assistant does not declare "broker" as an own secret; it declares: token — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for icecast is not kept: icecast does not declare "broker" as an own secret; it declares no own secrets — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for influxdb is not kept: influxdb does not declare "broker" as an own secret; it declares: admin, admin-token — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for jackett is not kept: jackett does not declare "broker" as an own secret; it declares: api-key — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for kometa is not kept: kometa does not declare "broker" as an own secret; it declares: tmdb — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for letta is not kept: letta does not declare "broker" as an own secret; it declares: openai-api-key, server-password — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for lidarr is not kept: lidarr does not declare "broker" as an own secret; it declares: api-key — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for mosquitto is not kept: mosquitto does not declare "broker" as an own secret; it declares: admin — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for mssql is not kept: mssql does not declare "broker" as an own secret; it declares: reader, sa — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for nftables is not kept: nftables does not declare "broker" as an own secret; it declares no own secrets — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for nodered is not kept: nodered does not declare "broker" as an own secret; it declares: admin, api-token — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for nzbget is not kept: nzbget does not declare "broker" as an own secret; it declares: password — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for ombi is not kept: ombi does not declare "broker" as an own secret; it declares: api-key — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for plex is not kept: plex does not declare "broker" as an own secret; it declares no own secrets — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for postgres is not kept: postgres does not declare "broker" as an own secret; it declares: reader, superuser — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for qbittorrent is not kept: qbittorrent does not declare "broker" as an own secret; it declares: password — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for radarr is not kept: radarr does not declare "broker" as an own secret; it declares: api-key — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for redis is not kept: redis does not declare "broker" as an own secret; it declares no own secrets — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for searxng is not kept: searxng does not declare "broker" as an own secret; it declares: secret — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for sonarr is not kept: sonarr does not declare "broker" as an own secret; it declares: api-key — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for tautulli is not kept: tautulli does not declare "broker" as an own secret; it declares no own secrets — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds mesh-dns-resolver (idt)'s given broker for unifi is not kept: unifi does not declare "broker" as an own secret; it declares: controller — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr)'s given broker for fail2ban is not kept: fail2ban does not declare "broker" as an own secret; it declares no own secrets — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr)'s given broker for gitea is not kept: gitea does not declare "broker" as an own secret; it declares no own secrets — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr)'s given broker for keycloak is not kept: keycloak does not declare "broker" as an own secret; it declares: admin — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr)'s given broker for mailu is not kept: mailu does not declare "broker" as an own secret; it declares no own secrets — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr)'s given broker for mesh-catalog is not kept: mesh-catalog does not declare "broker" as an own secret; it declares no own secrets — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr)'s given broker for mesh-vault is not kept: mesh-vault does not declare "broker" as an own secret; it declares no own secrets — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr)'s given broker for minio is not kept: minio does not declare "broker" as an own secret; it declares: root — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr)'s given broker for mongodb is not kept: mongodb does not declare "broker" as an own secret; it declares: root — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr)'s given broker for mssql is not kept: mssql does not declare "broker" as an own secret; it declares: reader, sa — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr)'s given broker for nextcloud is not kept: nextcloud does not declare "broker" as an own secret; it declares: admin — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr)'s given broker for nftables is not kept: nftables does not declare "broker" as an own secret; it declares no own secrets — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr)'s given broker for postgres is not kept: postgres does not declare "broker" as an own secret; it declares: reader, superuser — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr)'s given broker for records is not kept: records does not declare "broker" as an own secret; it declares no own secrets — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr)'s given broker for umami is not kept: umami does not declare "broker" as an own secret; it declares no own secrets — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- a machine (yvbpsm)'s given broker for fail2ban is not kept: fail2ban does not declare "broker" as an own secret; it declares no own secrets — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- a machine (yvbpsm)'s given broker for lab is not kept: lab does not declare "broker" as an own secret; it declares no own secrets — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- a machine (yvbpsm)'s given broker for nftables is not kept: nftables does not declare "broker" as an own secret; it declares no own secrets — a secret it requires from a provider is accepted with `--provider <node> [--local <name>]`, the value the running service already uses (novox/hq ADR 0163)
- a machine (f35) composes on the mesh and not as the snapshot raised it: build-agent on f35 has no bus credential: nothing was issued for f35.build-agent, and a push would seal a placeholder its process cannot read (novox/hq issue 203). `module issue build-agent --node f35`, then push again — judged by what the change adds
- holds mesh-dns-resolver (idt) composes on the mesh and not as the snapshot raised it: route-proxy on idt has no bus credential: nothing was issued for idt.route-proxy, and a push would seal a placeholder its process cannot read (novox/hq issue 203). `module issue route-proxy --node idt`, then push again — judged by what the change adds
- holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr) composes on the mesh and not as the snapshot raised it: distribution on ygcyr has no bus credential: nothing was issued for ygcyr.distribution, and a push would seal a placeholder its process cannot read (novox/hq issue 203). `module issue distribution --node ygcyr`, then push again — judged by what the change adds
- a machine (yvbpsm) composes on the mesh and not as the snapshot raised it: build-agent on yvbpsm has no bus credential: nothing was issued for yvbpsm.build-agent, and a push would seal a placeholder its process cannot read (novox/hq issue 203). `module issue build-agent --node yvbpsm`, then push again — judged by what the change adds
--- its merge-check.sh (go toolchain)
not gofmt'd:
internal/bootstrap/publish_test.go
```
Deliverynovox/mesh-host@b196cabd8f45 — delivered since 2026-10-06T23:05:28Z
Delivery plan — builds mesh-host → ace, g14, novox, shanks; no bus step
tier 0: mesh-host
ace: receives mesh-host
g14: receives mesh-host
novox: receives mesh-host
shanks: receives mesh-host
Groupfeat/mesh-delivery-waits-said, in order:
Machines
mesh-host on ace: passed — healthy 3 times over 2m25s
mesh-host on the rest running it: sent
mesh-host on novox: passed — carried by plan-1791325877675541828
Transitions
2026-10-06 23:05 (new) → proposed (announced): novox/mesh-host#45's head announced
2026-10-06 23:05 proposed → checked (checked): the verdict names this commit
2026-10-06 23:05 checked → rejected (refused): the gate failed or could not run, or the repository's own check failed
2026-10-06 23:05 rejected → held (merged-unchecked): merged without a passing check — a verdict known with it is taken first: only a person decides that it goes on
2026-10-06 23:05 held → delivering (go): its walk started on a word that was not this owner's: the controller's own path, which waits for nobody, or a person's plans go
2026-10-06 23:05 delivering → delivered (done): its walk is done: every machine of its deploy plan passed, or was left as its policy says
The commit's note under refs/notes/mesh-plan keeps every transition: git log --notes=mesh-plan.
<!-- mesh-delivery:view -->
**Delivery** `novox/mesh-host@b196cabd8f45` — **delivered** since 2026-10-06T23:05:28Z
**Delivery plan** — builds mesh-host → ace, g14, novox, shanks; no bus step
- tier 0: mesh-host
- ace: receives mesh-host
- g14: receives mesh-host
- novox: receives mesh-host
- shanks: receives mesh-host
**Group** `feat/mesh-delivery-waits-said`, in order:
**Machines**
- mesh-host on ace: passed — healthy 3 times over 2m25s
- mesh-host on the rest running it: sent
- mesh-host on novox: passed — carried by plan-1791325877675541828
**Transitions**
- 2026-10-06 23:05 (new) → proposed (announced): novox/mesh-host#45's head announced
- 2026-10-06 23:05 proposed → checked (checked): the verdict names this commit
- 2026-10-06 23:05 checked → rejected (refused): the gate failed or could not run, or the repository's own check failed
- 2026-10-06 23:05 rejected → held (merged-unchecked): merged without a passing check — a verdict known with it is taken first: only a person decides that it goes on
- 2026-10-06 23:05 held → delivering (go): its walk started on a word that was not this owner's: the controller's own path, which waits for nobody, or a person's `plans go`
- 2026-10-06 23:05 delivering → delivered (done): its walk is done: every machine of its deploy plan passed, or was left as its policy says
The commit's note under `refs/notes/mesh-plan` keeps every transition: `git log --notes=mesh-plan`.
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.
Mirrors mesh-controller #103 in the genesis lock: the controller's first user list may publish
mesh.seat.mesh-delivery.tool.stalledandmesh.seat.mesh-delivery.tool.close. The self-check (D14) reads the first, and healer H2 calls the second. The controller's genesis-template test passes against this branch;merge-check.shpasses.Merge and roll out before mesh-controller #103 is checked: the controller's repo-check reads this repository at the commit the mesh runs.
Merge check at
b196cabdmesh/merge-gate: PASS — every machine composes with the change as it did without (0 of 4 compose) (modules: mesh-host)mesh/repo-check: FAIL — its merge-check.sh failed: internal/bootstrap/publish_test.goChange plan — builds mesh-host → ace, g14, novox, shanks; no bus step
Run by the build seat on shanks as
build-1791325457862789427(builds --log build-1791325457862789427).Delivery
novox/mesh-host@b196cabd8f45— delivered since 2026-10-06T23:05:28ZDelivery plan — builds mesh-host → ace, g14, novox, shanks; no bus step
Group
feat/mesh-delivery-waits-said, in order:Machines
Transitions
plans goThe commit's note under
refs/notes/mesh-plankeeps every transition:git log --notes=mesh-plan.