The build modules' shared steps: the forge key keeper, a call to a named machine, long steps on a key, the toolchain guard, fetching a commit, packing an artifact (design 47 R4c-3) #51

Merged
mesh-tools merged 13 commits from feat/r4c3-sdk into main 2026-10-20 20:46:27 +00:00
Member

Design 47 R4c-3, its first delivery: what both build modules share, in mesh-sdk before they pin it (ADR 0453 §2, ADR 0469 §3).

  • go/forgekey: ssh-client's key keeper moved here, with the key's kind (machine, builder) as the caller's (issue 1469, ADR 0466 §2); ExecRunnerFor(bound) and ExecRunnerClean(bound) for long steps with only the caller's environment (issue 1497, ADR 0466 §4).
  • go/process: CallOn, a call to a module's tool on a named machine (issue 1470, ADR 0469 §3).
  • go/delivery/steps.go and go/buildstep Start: a long step answers its id and ends on the steps key (issue 1471, ADR 0469 §2).
  • go/buildstep Guard and Refusal: the installed toolchain written to toolchains, a step refused on another version (issue 1473, ADR 0469 §1, ADR 0470 §4).
  • go/buildstep FetchCommit: one commit over ssh://mesh-forge, a pull request's ref when needed, no credential (issue 1474, ADR 0466 §4 §5).
  • go/buildstep Pack: build-agent's deterministic archive (issue 1479; the gzip layer's bytes depend on the Go version, issue 1499).

Nothing builds from it until mesh-catalog's ssh-client and build modules pin it (this release's second delivery). Tries: build-1792528801121855455 passed at this head (46 s).

Reviewed-by: review-r4c3@shanks at 1572e50e0e

Design 47 R4c-3, its first delivery: what both build modules share, in mesh-sdk before they pin it (ADR 0453 §2, ADR 0469 §3). - go/forgekey: ssh-client's key keeper moved here, with the key's kind (machine, builder) as the caller's (issue 1469, ADR 0466 §2); ExecRunnerFor(bound) and ExecRunnerClean(bound) for long steps with only the caller's environment (issue 1497, ADR 0466 §4). - go/process: CallOn, a call to a module's tool on a named machine (issue 1470, ADR 0469 §3). - go/delivery/steps.go and go/buildstep Start: a long step answers its id and ends on the `steps` key (issue 1471, ADR 0469 §2). - go/buildstep Guard and Refusal: the installed toolchain written to `toolchains`, a step refused on another version (issue 1473, ADR 0469 §1, ADR 0470 §4). - go/buildstep FetchCommit: one commit over ssh://mesh-forge, a pull request's ref when needed, no credential (issue 1474, ADR 0466 §4 §5). - go/buildstep Pack: build-agent's deterministic archive (issue 1479; the gzip layer's bytes depend on the Go version, issue 1499). Nothing builds from it until mesh-catalog's ssh-client and build modules pin it (this release's second delivery). Tries: build-1792528801121855455 passed at this head (46 s). Reviewed-by: review-r4c3@shanks at 1572e50e0ef0e91ffe224dbec545735d7b51b60e
mesh-tools added 13 commits 2026-10-20 20:41:19 +00:00
Give a build step's commands only the environment its caller names (issue 1497)
mesh/merge-gate head 1572e50e0ef0 merged into trunk 4024909a2960 — pass, with a note: builds mesh-sdk (+41 dependent(s)) → ace, g14, novox, shanks; no bus …
mesh/repo-check head 1572e50e0ef0 merged into trunk 4024909a2960 — pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (typescript)…
mesh/delivery delivered
1572e50e0e
Author
Member

Delivery novox/mesh-sdk@1572e50e0ef0 — delivered since 2026-10-20T21:05:03Z

Delivery plan — builds mesh-sdk (+41 dependent(s)) → ace, g14, novox, shanks; no bus step; 9 wait(s) for a person

  • tier 0: mesh-sdk
  • tier 1: mesh-tools
  • tier 2: audit-logger, baserow, bazarr, bookshelf, confluence, gitea, gitlab, grafana, home-assistant, icecast, influxdb, jackett, jira, kometa, lab, letta, lidarr, mailu, mesh-catalog, minio, model-usage, mongodb, mosquitto, mssql, netcheck, nextcloud, nftables, nodered, ombi, openai-consumer, radarr, redis, route-adapter, searxng, showcase, sonarr, tautulli, umami, unifi, zsh
  • ace: receives baserow, bazarr, bookshelf, grafana, home-assistant, icecast, influxdb, jackett, kometa, letta, lidarr, mosquitto, netcheck, nodered, ombi, radarr, redis, searxng, sonarr, tautulli, unifi, zsh; waits for a person: mssql, nftables
  • g14: receives netcheck, zsh; waits for a person: nftables
  • novox: receives gitea, mesh-catalog, netcheck, nextcloud, umami, zsh; waits for a person: mailu, minio, mongodb, mssql, nftables
  • shanks: receives lab, netcheck, zsh; waits for a person: nftables
  • baserow keeps data (ADR 0233): what it holds is backed up before it moves
  • bazarr keeps data (ADR 0233): what it holds is backed up before it moves
  • bookshelf keeps data (ADR 0233): what it holds is backed up before it moves
  • gitea provides npm-package-registry, git, gitea-read, forge-account: its consumers are sent again after it
  • gitea keeps data (ADR 0233): what it holds is backed up before it moves
  • grafana keeps data (ADR 0233): what it holds is backed up before it moves
  • home-assistant keeps data (ADR 0233): what it holds is backed up before it moves
  • icecast keeps data (ADR 0233): what it holds is backed up before it moves
  • influxdb provides influxdb-api: its consumers are sent again after it
  • influxdb keeps data (ADR 0233): what it holds is backed up before it moves
  • jackett provides jackett-api: its consumers are sent again after it
  • jackett keeps data (ADR 0233): what it holds is backed up before it moves
  • kometa keeps data (ADR 0233): what it holds is backed up before it moves
  • lab keeps data (ADR 0233): what it holds is backed up before it moves
  • lidarr provides lidarr-api: its consumers are sent again after it
  • lidarr keeps data (ADR 0233): what it holds is backed up before it moves
  • mailu waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
  • mailu provides smtp: its consumers are sent again after it
  • mailu keeps data (ADR 0233): what it holds is backed up before it moves
  • minio waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
  • minio provides s3-bucket: its consumers are sent again after it
  • minio keeps data (ADR 0233): what it holds is backed up before it moves
  • mongodb waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
  • mongodb provides mongodb-database: its consumers are sent again after it
  • mongodb keeps data (ADR 0233): what it holds is backed up before it moves
  • mosquitto provides mqtt-topic: its consumers are sent again after it
  • mosquitto keeps data (ADR 0233): what it holds is backed up before it moves
  • mssql waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
  • mssql provides mssql-database: its consumers are sent again after it
  • mssql keeps data (ADR 0233): what it holds is backed up before it moves
  • nextcloud keeps data (ADR 0233): what it holds is backed up before it moves
  • nftables waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
  • nodered keeps data (ADR 0233): what it holds is backed up before it moves
  • ombi keeps data (ADR 0233): what it holds is backed up before it moves
  • radarr provides radarr-api: its consumers are sent again after it
  • radarr keeps data (ADR 0233): what it holds is backed up before it moves
  • redis provides redis-cache: its consumers are sent again after it
  • redis keeps data (ADR 0233): what it holds is backed up before it moves
  • searxng keeps data (ADR 0233): what it holds is backed up before it moves
  • sonarr provides sonarr-api: its consumers are sent again after it
  • sonarr keeps data (ADR 0233): what it holds is backed up before it moves
  • tautulli keeps data (ADR 0233): what it holds is backed up before it moves
  • umami provides analytics: its consumers are sent again after it
  • umami keeps data (ADR 0233): what it holds is backed up before it moves
  • unifi keeps data (ADR 0233): what it holds is backed up before it moves
  • grants step: if this changes what the bus's user list says (a new tool, subject or user), novox is sent that list alone, every build there kept, before baserow, bazarr, bookshelf, grafana, home-assistant, icecast, influxdb, jackett, kometa, lab, letta, lidarr, mosquitto, netcheck, nodered, ombi, radarr, redis, searxng, sonarr, tautulli, unifi, zsh is judged on its first machine

Machines

  • mesh-sdk on every machine running it: sent
  • mesh-tools on every machine running it: sent
  • audit-logger on every machine running it: sent
  • baserow on every machine running it: sent
  • bazarr on every machine running it: sent
  • bookshelf on every machine running it: sent
  • confluence on every machine running it: sent
  • gitea on every machine running it: sent
  • gitlab on every machine running it: sent
  • grafana on every machine running it: sent
  • home-assistant on every machine running it: sent
  • icecast on every machine running it: sent
  • influxdb on every machine running it: sent
  • jackett on every machine running it: sent
  • jira on every machine running it: sent
  • kometa on every machine running it: sent
  • lab on every machine running it: sent
  • letta on every machine running it: sent
  • lidarr on every machine running it: sent
  • mesh-catalog on every machine running it: sent
  • model-usage on every machine running it: sent
  • mosquitto on every machine running it: sent
  • netcheck on every machine running it: sent
  • nextcloud on every machine running it: sent
  • nodered on every machine running it: sent
  • ombi on every machine running it: sent
  • openai-consumer on every machine running it: sent
  • radarr on every machine running it: sent
  • redis on every machine running it: sent
  • route-adapter on every machine running it: sent
  • searxng on every machine running it: sent
  • showcase on every machine running it: sent
  • sonarr on every machine running it: sent
  • tautulli on every machine running it: sent
  • umami on every machine running it: sent
  • unifi on every machine running it: sent
  • zsh on every machine running it: sent

Transitions

  • 2026-10-20 20:41 (new) → proposed (announced): novox/mesh-sdk#51's head announced
  • 2026-10-20 20:45 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
  • 2026-10-20 20:45 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
  • 2026-10-20 20:46 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
  • 2026-10-20 20:46 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-20 21:05 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-sdk@1572e50e0ef0` — **delivered** since 2026-10-20T21:05:03Z **Delivery plan** — builds mesh-sdk (+41 dependent(s)) → ace, g14, novox, shanks; no bus step; 9 wait(s) for a person - tier 0: mesh-sdk - tier 1: mesh-tools - tier 2: audit-logger, baserow, bazarr, bookshelf, confluence, gitea, gitlab, grafana, home-assistant, icecast, influxdb, jackett, jira, kometa, lab, letta, lidarr, mailu, mesh-catalog, minio, model-usage, mongodb, mosquitto, mssql, netcheck, nextcloud, nftables, nodered, ombi, openai-consumer, radarr, redis, route-adapter, searxng, showcase, sonarr, tautulli, umami, unifi, zsh - ace: receives baserow, bazarr, bookshelf, grafana, home-assistant, icecast, influxdb, jackett, kometa, letta, lidarr, mosquitto, netcheck, nodered, ombi, radarr, redis, searxng, sonarr, tautulli, unifi, zsh; waits for a person: mssql, nftables - g14: receives netcheck, zsh; waits for a person: nftables - novox: receives gitea, mesh-catalog, netcheck, nextcloud, umami, zsh; waits for a person: mailu, minio, mongodb, mssql, nftables - shanks: receives lab, netcheck, zsh; waits for a person: nftables - baserow keeps data (ADR 0233): what it holds is backed up before it moves - bazarr keeps data (ADR 0233): what it holds is backed up before it moves - bookshelf keeps data (ADR 0233): what it holds is backed up before it moves - gitea provides npm-package-registry, git, gitea-read, forge-account: its consumers are sent again after it - gitea keeps data (ADR 0233): what it holds is backed up before it moves - grafana keeps data (ADR 0233): what it holds is backed up before it moves - home-assistant keeps data (ADR 0233): what it holds is backed up before it moves - icecast keeps data (ADR 0233): what it holds is backed up before it moves - influxdb provides influxdb-api: its consumers are sent again after it - influxdb keeps data (ADR 0233): what it holds is backed up before it moves - jackett provides jackett-api: its consumers are sent again after it - jackett keeps data (ADR 0233): what it holds is backed up before it moves - kometa keeps data (ADR 0233): what it holds is backed up before it moves - lab keeps data (ADR 0233): what it holds is backed up before it moves - lidarr provides lidarr-api: its consumers are sent again after it - lidarr keeps data (ADR 0233): what it holds is backed up before it moves - mailu waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends - mailu provides smtp: its consumers are sent again after it - mailu keeps data (ADR 0233): what it holds is backed up before it moves - minio waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends - minio provides s3-bucket: its consumers are sent again after it - minio keeps data (ADR 0233): what it holds is backed up before it moves - mongodb waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends - mongodb provides mongodb-database: its consumers are sent again after it - mongodb keeps data (ADR 0233): what it holds is backed up before it moves - mosquitto provides mqtt-topic: its consumers are sent again after it - mosquitto keeps data (ADR 0233): what it holds is backed up before it moves - mssql waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends - mssql provides mssql-database: its consumers are sent again after it - mssql keeps data (ADR 0233): what it holds is backed up before it moves - nextcloud keeps data (ADR 0233): what it holds is backed up before it moves - nftables waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends - nodered keeps data (ADR 0233): what it holds is backed up before it moves - ombi keeps data (ADR 0233): what it holds is backed up before it moves - radarr provides radarr-api: its consumers are sent again after it - radarr keeps data (ADR 0233): what it holds is backed up before it moves - redis provides redis-cache: its consumers are sent again after it - redis keeps data (ADR 0233): what it holds is backed up before it moves - searxng keeps data (ADR 0233): what it holds is backed up before it moves - sonarr provides sonarr-api: its consumers are sent again after it - sonarr keeps data (ADR 0233): what it holds is backed up before it moves - tautulli keeps data (ADR 0233): what it holds is backed up before it moves - umami provides analytics: its consumers are sent again after it - umami keeps data (ADR 0233): what it holds is backed up before it moves - unifi keeps data (ADR 0233): what it holds is backed up before it moves - grants step: if this changes what the bus's user list says (a new tool, subject or user), novox is sent that list alone, every build there kept, before baserow, bazarr, bookshelf, grafana, home-assistant, icecast, influxdb, jackett, kometa, lab, letta, lidarr, mosquitto, netcheck, nodered, ombi, radarr, redis, searxng, sonarr, tautulli, unifi, zsh is judged on its first machine **Machines** - mesh-sdk on every machine running it: sent - mesh-tools on every machine running it: sent - audit-logger on every machine running it: sent - baserow on every machine running it: sent - bazarr on every machine running it: sent - bookshelf on every machine running it: sent - confluence on every machine running it: sent - gitea on every machine running it: sent - gitlab on every machine running it: sent - grafana on every machine running it: sent - home-assistant on every machine running it: sent - icecast on every machine running it: sent - influxdb on every machine running it: sent - jackett on every machine running it: sent - jira on every machine running it: sent - kometa on every machine running it: sent - lab on every machine running it: sent - letta on every machine running it: sent - lidarr on every machine running it: sent - mesh-catalog on every machine running it: sent - model-usage on every machine running it: sent - mosquitto on every machine running it: sent - netcheck on every machine running it: sent - nextcloud on every machine running it: sent - nodered on every machine running it: sent - ombi on every machine running it: sent - openai-consumer on every machine running it: sent - radarr on every machine running it: sent - redis on every machine running it: sent - route-adapter on every machine running it: sent - searxng on every machine running it: sent - showcase on every machine running it: sent - sonarr on every machine running it: sent - tautulli on every machine running it: sent - umami on every machine running it: sent - unifi on every machine running it: sent - zsh on every machine running it: sent **Transitions** - 2026-10-20 20:41 (new) → proposed (announced): novox/mesh-sdk#51's head announced - 2026-10-20 20:45 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit - 2026-10-20 20:45 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail - 2026-10-20 20:46 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move - 2026-10-20 20:46 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-20 21:05 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 1572e50e
Judged: head 1572e50e0ef0 merged into trunk 4024909a2960; read beside it: mesh-catalog c294f7bd16dc, mesh-controller f29d193ddbc1, mesh-controller-main f29d193ddbc1, mesh-host ce1b97ad973d, mesh-tools 18260ce9beca

  • mesh/merge-gate: PASS, WITH A NOTE — a merge rebuilds 42 module(s) in 3 tier(s) (modules: mesh-sdk; built after them: audit-logger, baserow, bazarr, bookshelf, confluence, gitea, gitlab, grafana, home-assistant, icecast, influxdb, jackett, jira, kometa, lab, letta, lidarr, mailu, mesh-catalog, mesh-tools, minio, model-usage, mongodb, mosquitto, mssql, netcheck, nextcloud, nftables, nodered, ombi, openai-consumer, radarr, redis, route-adapter, searxng, showcase, sonarr, tautulli, umami, unifi, zsh)
  • mesh/repo-check: PASS — its merge-check.sh passed, each part in its toolchain: merge-check.sh (typescript), go/merge-check.sh (go)

Delivery plan — builds mesh-sdk (+41 dependent(s)) → ace, g14, novox, shanks; no bus step; 9 wait(s) for a person

  • tier 0: mesh-sdk
  • tier 1: mesh-tools
  • tier 2: audit-logger, baserow, bazarr, bookshelf, confluence, gitea, gitlab, grafana, home-assistant, icecast, influxdb, jackett, jira, kometa, lab, letta, lidarr, mailu, mesh-catalog, minio, model-usage, mongodb, mosquitto, mssql, netcheck, nextcloud, nftables, nodered, ombi, openai-consumer, radarr, redis, route-adapter, searxng, showcase, sonarr, tautulli, umami, unifi, zsh
  • ace: receives baserow, bazarr, bookshelf, grafana, home-assistant, icecast, influxdb, jackett, kometa, letta, lidarr, mosquitto, netcheck, nodered, ombi, radarr, redis, searxng, sonarr, tautulli, unifi, zsh; waits for a person: mssql, nftables
  • g14: receives netcheck, zsh; waits for a person: nftables
  • novox: receives gitea, mesh-catalog, netcheck, nextcloud, umami, zsh; waits for a person: mailu, minio, mongodb, mssql, nftables
  • shanks: receives lab, netcheck, zsh; waits for a person: nftables
  • baserow keeps data (ADR 0233): what it holds is backed up before it moves
  • bazarr keeps data (ADR 0233): what it holds is backed up before it moves
  • bookshelf keeps data (ADR 0233): what it holds is backed up before it moves
  • gitea provides npm-package-registry, git, gitea-read, forge-account: its consumers are sent again after it
  • gitea keeps data (ADR 0233): what it holds is backed up before it moves
  • grafana keeps data (ADR 0233): what it holds is backed up before it moves
  • home-assistant keeps data (ADR 0233): what it holds is backed up before it moves
  • icecast keeps data (ADR 0233): what it holds is backed up before it moves
  • influxdb provides influxdb-api: its consumers are sent again after it
  • influxdb keeps data (ADR 0233): what it holds is backed up before it moves
  • jackett provides jackett-api: its consumers are sent again after it
  • jackett keeps data (ADR 0233): what it holds is backed up before it moves
  • kometa keeps data (ADR 0233): what it holds is backed up before it moves
  • lab keeps data (ADR 0233): what it holds is backed up before it moves
  • lidarr provides lidarr-api: its consumers are sent again after it
  • lidarr keeps data (ADR 0233): what it holds is backed up before it moves
  • mailu waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
  • mailu provides smtp: its consumers are sent again after it
  • mailu keeps data (ADR 0233): what it holds is backed up before it moves
  • minio waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
  • minio provides s3-bucket: its consumers are sent again after it
  • minio keeps data (ADR 0233): what it holds is backed up before it moves
  • mongodb waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
  • mongodb provides mongodb-database: its consumers are sent again after it
  • mongodb keeps data (ADR 0233): what it holds is backed up before it moves
  • mosquitto provides mqtt-topic: its consumers are sent again after it
  • mosquitto keeps data (ADR 0233): what it holds is backed up before it moves
  • mssql waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
  • mssql provides mssql-database: its consumers are sent again after it
  • mssql keeps data (ADR 0233): what it holds is backed up before it moves
  • nextcloud keeps data (ADR 0233): what it holds is backed up before it moves
  • nftables waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends
  • nodered keeps data (ADR 0233): what it holds is backed up before it moves
  • ombi keeps data (ADR 0233): what it holds is backed up before it moves
  • radarr provides radarr-api: its consumers are sent again after it
  • radarr keeps data (ADR 0233): what it holds is backed up before it moves
  • redis provides redis-cache: its consumers are sent again after it
  • redis keeps data (ADR 0233): what it holds is backed up before it moves
  • searxng keeps data (ADR 0233): what it holds is backed up before it moves
  • sonarr provides sonarr-api: its consumers are sent again after it
  • sonarr keeps data (ADR 0233): what it holds is backed up before it moves
  • tautulli keeps data (ADR 0233): what it holds is backed up before it moves
  • umami provides analytics: its consumers are sent again after it
  • umami keeps data (ADR 0233): what it holds is backed up before it moves
  • unifi keeps data (ADR 0233): what it holds is backed up before it moves
  • grants step: if this changes what the bus's user list says (a new tool, subject or user), novox is sent that list alone, every build there kept, before baserow, bazarr, bookshelf, grafana, home-assistant, icecast, influxdb, jackett, kometa, lab, letta, lidarr, mosquitto, netcheck, nodered, ombi, radarr, redis, searxng, sonarr, tautulli, unifi, zsh is judged on its first machine

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

    no_subjects_test.go:74: 134 manifests hold no subject
    no_subjects_test.go:84: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    node_resolver_test.go:59: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    node_resolver_test.go:59: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    node_resolver_test.go:59: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    node_resolver_test.go:59: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    node_resolver_test.go:59: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    node_resolver_test.go:59: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    node_resolver_test.go:101: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    node_resolver_test.go:101: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    node_resolver_test.go:101: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    node_resolver_test.go:101: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    node_resolver_test.go:101: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    node_resolver_test.go:101: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    node_resolver_test.go:156: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    node_resolver_test.go:184: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    node_resolver_test.go:184: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    node_resolver_test.go:184: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    node_resolver_test.go:184: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    node_resolver_test.go:184: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    node_resolver_test.go:184: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    node_resolver_test.go:185: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    node_resolver_test.go:185: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    placed_paths_test.go:25: set MESH_CATALOGUE_BEFORE and MESH_CATALOGUE to two catalogue checkouts to run this
--- SKIP: TestPlacedDirectoriesKeepTheirPaths (0.00s)
    print_rehearsal_test.go:10: set PRINT_RULESET
--- SKIP: TestPrintRehearsalRuleset (0.00s)
    public_issuer_test.go:15: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    published_ports_test.go:27: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    reads_test.go:77: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    reads_test.go:77: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    resolver_file_is_the_uplinks_test.go:26: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    resolver_manifests_test.go:40: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    resolver_manifests_test.go:40: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    resolver_manifests_test.go:105: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    resolver_manifests_test.go:105: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    resolver_manifests_test.go:105: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    resolver_manifests_test.go:105: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    resolver_manifests_test.go:128: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    resolver_manifests_test.go:128: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    resolver_manifests_test.go:128: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    resolver_manifests_test.go:128: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    resolver_manifests_test.go:128: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    resolver_manifests_test.go:128: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    resolver_manifests_test.go:213: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    resolver_manifests_test.go:213: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    resolver_manifests_test.go:257: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    resolver_manifests_test.go:257: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    resolver_manifests_test.go:257: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    resolver_manifests_test.go:257: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    resolver_manifests_test.go:257: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    resolver_manifests_test.go:257: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    resolver_manifests_test.go:258: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    resolver_manifests_test.go:258: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    resolver_manifests_test.go:275: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    resolver_manifests_test.go:275: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    resolver_manifests_test.go:275: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    resolver_manifests_test.go:275: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    resolver_manifests_test.go:275: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    resolver_manifests_test.go:275: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    resolver_manifests_test.go:275: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    resolver_manifests_test.go:275: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    resolver_manifests_test.go:275: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    resolver_manifests_test.go:275: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    resolver_manifests_test.go:275: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    resolver_manifests_test.go:275: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    resolver_manifests_test.go:288: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    resolver_manifests_test.go:288: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    resolver_manifests_test.go:288: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    resolver_manifests_test.go:288: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    resolver_manifests_test.go:288: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    resolver_manifests_test.go:288: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    seat_data_test.go:165: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    seat_data_test.go:165: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    seat_paths_test.go:250: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    seat_paths_test.go:250: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    seat_paths_test.go:250: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    seat_paths_test.go:250: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    seat_paths_test.go:250: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    seat_paths_test.go:250: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    seat_paths_test.go:303: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    setting_in_unit_test.go:65: zfs.distribution-weekly: zfs-scrub-weekly@storage.timer
    setting_in_unit_test.go:65: zfs.distribution-monthly: zfs-scrub-monthly@storage.timer
    showcase_manifest_test.go:17: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    ssh_client_test.go:46: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    ssh_client_test.go:46: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    ssh_client_test.go:46: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    ssh_client_test.go:46: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    ssh_client_test.go:52: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    state_test.go:88: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:144: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:144: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:144: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:144: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:163: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:163: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:163: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:163: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:170: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:170: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:170: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:170: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:170: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:170: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:178: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:178: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:178: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:178: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:178: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:178: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:212: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:212: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:212: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:212: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:212: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:212: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:246: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:246: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:246: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:246: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:246: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    two_resolvers_test.go:246: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
PASS
ok  	git.novox.be/novox/mesh-sdk/go/catalogue	1.388s
PASS
ok  	git.novox.be/novox/mesh-sdk/go/cli	1.044s
PASS
ok  	git.novox.be/novox/mesh-sdk/go/compose	0.178s
    emitted_check_test.go:17: set MESH_EMITTED to a declaration the control plane produced
--- SKIP: TestWhatTheControlPlaneEmittedIsSomethingThisHostAccepts (0.00s)
PASS
ok  	git.novox.be/novox/mesh-sdk/go/declaration	0.014s
PASS
ok  	git.novox.be/novox/mesh-sdk/go/delivery	0.011s
?   	git.novox.be/novox/mesh-sdk/go/example	[no test files]
PASS
ok  	git.novox.be/novox/mesh-sdk/go/facts	0.005s
PASS
ok  	git.novox.be/novox/mesh-sdk/go/forgekey	0.310s
PASS
ok  	git.novox.be/novox/mesh-sdk/go/health	0.004s
    beside_test.go:16: judged against the copy of mesh-catalog captured in testdata/beside (see CAPTURED); a merge check judges it against the repository's own clone
    beside_test.go:17: judged against the copy of mesh-catalog captured in testdata/beside (see CAPTURED); a merge check judges it against the repository's own clone
PASS
ok  	git.novox.be/novox/mesh-sdk/go/internal/beside	0.038s
PASS
ok  	git.novox.be/novox/mesh-sdk/go/internal/testbus	0.141s
PASS
ok  	git.novox.be/novox/mesh-sdk/go/outward	0.073s
PASS
ok  	git.novox.be/novox/mesh-sdk/go/overlay	0.006s
PASS
ok  	git.novox.be/novox/mesh-sdk/go/process	6.502s
PASS
ok  	git.novox.be/novox/mesh-sdk/go/provider	0.118s
PASS
ok  	git.novox.be/novox/mesh-sdk/go/provider/harness	0.137s
PASS
ok  	git.novox.be/novox/mesh-sdk/go/sdkversion	0.002s
PASS
ok  	git.novox.be/novox/mesh-sdk/go/seal	0.006s
PASS
ok  	git.novox.be/novox/mesh-sdk/go/validate	0.003s
integration level: 1471 tests (4 skipped), 8 s
**Merge check** at `1572e50e` Judged: head `1572e50e0ef0` merged into trunk `4024909a2960`; read beside it: mesh-catalog `c294f7bd16dc`, mesh-controller `f29d193ddbc1`, mesh-controller-main `f29d193ddbc1`, mesh-host `ce1b97ad973d`, mesh-tools `18260ce9beca` - `mesh/merge-gate`: **PASS, WITH A NOTE** — a merge rebuilds 42 module(s) in 3 tier(s) (modules: mesh-sdk; built after them: audit-logger, baserow, bazarr, bookshelf, confluence, gitea, gitlab, grafana, home-assistant, icecast, influxdb, jackett, jira, kometa, lab, letta, lidarr, mailu, mesh-catalog, mesh-tools, minio, model-usage, mongodb, mosquitto, mssql, netcheck, nextcloud, nftables, nodered, ombi, openai-consumer, radarr, redis, route-adapter, searxng, showcase, sonarr, tautulli, umami, unifi, zsh) - `mesh/repo-check`: **PASS** — its merge-check.sh passed, each part in its toolchain: merge-check.sh (typescript), go/merge-check.sh (go) **Delivery plan** — builds mesh-sdk (+41 dependent(s)) → ace, g14, novox, shanks; no bus step; 9 wait(s) for a person - tier 0: mesh-sdk - tier 1: mesh-tools - tier 2: audit-logger, baserow, bazarr, bookshelf, confluence, gitea, gitlab, grafana, home-assistant, icecast, influxdb, jackett, jira, kometa, lab, letta, lidarr, mailu, mesh-catalog, minio, model-usage, mongodb, mosquitto, mssql, netcheck, nextcloud, nftables, nodered, ombi, openai-consumer, radarr, redis, route-adapter, searxng, showcase, sonarr, tautulli, umami, unifi, zsh - ace: receives baserow, bazarr, bookshelf, grafana, home-assistant, icecast, influxdb, jackett, kometa, letta, lidarr, mosquitto, netcheck, nodered, ombi, radarr, redis, searxng, sonarr, tautulli, unifi, zsh; waits for a person: mssql, nftables - g14: receives netcheck, zsh; waits for a person: nftables - novox: receives gitea, mesh-catalog, netcheck, nextcloud, umami, zsh; waits for a person: mailu, minio, mongodb, mssql, nftables - shanks: receives lab, netcheck, zsh; waits for a person: nftables - baserow keeps data (ADR 0233): what it holds is backed up before it moves - bazarr keeps data (ADR 0233): what it holds is backed up before it moves - bookshelf keeps data (ADR 0233): what it holds is backed up before it moves - gitea provides npm-package-registry, git, gitea-read, forge-account: its consumers are sent again after it - gitea keeps data (ADR 0233): what it holds is backed up before it moves - grafana keeps data (ADR 0233): what it holds is backed up before it moves - home-assistant keeps data (ADR 0233): what it holds is backed up before it moves - icecast keeps data (ADR 0233): what it holds is backed up before it moves - influxdb provides influxdb-api: its consumers are sent again after it - influxdb keeps data (ADR 0233): what it holds is backed up before it moves - jackett provides jackett-api: its consumers are sent again after it - jackett keeps data (ADR 0233): what it holds is backed up before it moves - kometa keeps data (ADR 0233): what it holds is backed up before it moves - lab keeps data (ADR 0233): what it holds is backed up before it moves - lidarr provides lidarr-api: its consumers are sent again after it - lidarr keeps data (ADR 0233): what it holds is backed up before it moves - mailu waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends - mailu provides smtp: its consumers are sent again after it - mailu keeps data (ADR 0233): what it holds is backed up before it moves - minio waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends - minio provides s3-bucket: its consumers are sent again after it - minio keeps data (ADR 0233): what it holds is backed up before it moves - mongodb waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends - mongodb provides mongodb-database: its consumers are sent again after it - mongodb keeps data (ADR 0233): what it holds is backed up before it moves - mosquitto provides mqtt-topic: its consumers are sent again after it - mosquitto keeps data (ADR 0233): what it holds is backed up before it moves - mssql waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends - mssql provides mssql-database: its consumers are sent again after it - mssql keeps data (ADR 0233): what it holds is backed up before it moves - nextcloud keeps data (ADR 0233): what it holds is backed up before it moves - nftables waits for a person: its policy records (module) — unless on a machine its move recreates none of its containers and moves none of its data, which the walk judges and then sends - nodered keeps data (ADR 0233): what it holds is backed up before it moves - ombi keeps data (ADR 0233): what it holds is backed up before it moves - radarr provides radarr-api: its consumers are sent again after it - radarr keeps data (ADR 0233): what it holds is backed up before it moves - redis provides redis-cache: its consumers are sent again after it - redis keeps data (ADR 0233): what it holds is backed up before it moves - searxng keeps data (ADR 0233): what it holds is backed up before it moves - sonarr provides sonarr-api: its consumers are sent again after it - sonarr keeps data (ADR 0233): what it holds is backed up before it moves - tautulli keeps data (ADR 0233): what it holds is backed up before it moves - umami provides analytics: its consumers are sent again after it - umami keeps data (ADR 0233): what it holds is backed up before it moves - unifi keeps data (ADR 0233): what it holds is backed up before it moves - grants step: if this changes what the bus's user list says (a new tool, subject or user), novox is sent that list alone, every build there kept, before baserow, bazarr, bookshelf, grafana, home-assistant, icecast, influxdb, jackett, kometa, lab, letta, lidarr, mosquitto, netcheck, nodered, ombi, radarr, redis, searxng, sonarr, tautulli, unifi, zsh is judged on its first machine Run by the build seat on shanks as `build-1792528882897723633` (`builds --log build-1792528882897723633`). ``` no_subjects_test.go:74: 134 manifests hold no subject no_subjects_test.go:84: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check node_resolver_test.go:59: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check node_resolver_test.go:59: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check node_resolver_test.go:59: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check node_resolver_test.go:59: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check node_resolver_test.go:59: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check node_resolver_test.go:59: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check node_resolver_test.go:101: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check node_resolver_test.go:101: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check node_resolver_test.go:101: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check node_resolver_test.go:101: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check node_resolver_test.go:101: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check node_resolver_test.go:101: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check node_resolver_test.go:156: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check node_resolver_test.go:184: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check node_resolver_test.go:184: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check node_resolver_test.go:184: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check node_resolver_test.go:184: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check node_resolver_test.go:184: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check node_resolver_test.go:184: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check node_resolver_test.go:185: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check node_resolver_test.go:185: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check placed_paths_test.go:25: set MESH_CATALOGUE_BEFORE and MESH_CATALOGUE to two catalogue checkouts to run this --- SKIP: TestPlacedDirectoriesKeepTheirPaths (0.00s) print_rehearsal_test.go:10: set PRINT_RULESET --- SKIP: TestPrintRehearsalRuleset (0.00s) public_issuer_test.go:15: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check published_ports_test.go:27: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check reads_test.go:77: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check reads_test.go:77: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check resolver_file_is_the_uplinks_test.go:26: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check resolver_manifests_test.go:40: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check resolver_manifests_test.go:40: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check resolver_manifests_test.go:105: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check resolver_manifests_test.go:105: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check resolver_manifests_test.go:105: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check resolver_manifests_test.go:105: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check resolver_manifests_test.go:128: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check resolver_manifests_test.go:128: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check resolver_manifests_test.go:128: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check resolver_manifests_test.go:128: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check resolver_manifests_test.go:128: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check resolver_manifests_test.go:128: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check resolver_manifests_test.go:213: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check resolver_manifests_test.go:213: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check resolver_manifests_test.go:257: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check resolver_manifests_test.go:257: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check resolver_manifests_test.go:257: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check resolver_manifests_test.go:257: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check resolver_manifests_test.go:257: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check resolver_manifests_test.go:257: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check resolver_manifests_test.go:258: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check resolver_manifests_test.go:258: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check resolver_manifests_test.go:275: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check resolver_manifests_test.go:275: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check resolver_manifests_test.go:275: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check resolver_manifests_test.go:275: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check resolver_manifests_test.go:275: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check resolver_manifests_test.go:275: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check resolver_manifests_test.go:275: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check resolver_manifests_test.go:275: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check resolver_manifests_test.go:275: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check resolver_manifests_test.go:275: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check resolver_manifests_test.go:275: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check resolver_manifests_test.go:275: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check resolver_manifests_test.go:288: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check resolver_manifests_test.go:288: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check resolver_manifests_test.go:288: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check resolver_manifests_test.go:288: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check resolver_manifests_test.go:288: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check resolver_manifests_test.go:288: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check seat_data_test.go:165: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check seat_data_test.go:165: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check seat_paths_test.go:250: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check seat_paths_test.go:250: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check seat_paths_test.go:250: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check seat_paths_test.go:250: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check seat_paths_test.go:250: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check seat_paths_test.go:250: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check seat_paths_test.go:303: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check setting_in_unit_test.go:65: zfs.distribution-weekly: zfs-scrub-weekly@storage.timer setting_in_unit_test.go:65: zfs.distribution-monthly: zfs-scrub-monthly@storage.timer showcase_manifest_test.go:17: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check ssh_client_test.go:46: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check ssh_client_test.go:46: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check ssh_client_test.go:46: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check ssh_client_test.go:46: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check ssh_client_test.go:52: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check state_test.go:88: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:123: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:144: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:144: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:144: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:144: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:163: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:163: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:163: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:163: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:170: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:170: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:170: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:170: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:170: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:170: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:178: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:178: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:178: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:178: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:178: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:178: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:212: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:212: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:212: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:212: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:212: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:212: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:246: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:246: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:246: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:246: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:246: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check two_resolvers_test.go:246: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check PASS ok git.novox.be/novox/mesh-sdk/go/catalogue 1.388s PASS ok git.novox.be/novox/mesh-sdk/go/cli 1.044s PASS ok git.novox.be/novox/mesh-sdk/go/compose 0.178s emitted_check_test.go:17: set MESH_EMITTED to a declaration the control plane produced --- SKIP: TestWhatTheControlPlaneEmittedIsSomethingThisHostAccepts (0.00s) PASS ok git.novox.be/novox/mesh-sdk/go/declaration 0.014s PASS ok git.novox.be/novox/mesh-sdk/go/delivery 0.011s ? git.novox.be/novox/mesh-sdk/go/example [no test files] PASS ok git.novox.be/novox/mesh-sdk/go/facts 0.005s PASS ok git.novox.be/novox/mesh-sdk/go/forgekey 0.310s PASS ok git.novox.be/novox/mesh-sdk/go/health 0.004s beside_test.go:16: judged against the copy of mesh-catalog captured in testdata/beside (see CAPTURED); a merge check judges it against the repository's own clone beside_test.go:17: judged against the copy of mesh-catalog captured in testdata/beside (see CAPTURED); a merge check judges it against the repository's own clone PASS ok git.novox.be/novox/mesh-sdk/go/internal/beside 0.038s PASS ok git.novox.be/novox/mesh-sdk/go/internal/testbus 0.141s PASS ok git.novox.be/novox/mesh-sdk/go/outward 0.073s PASS ok git.novox.be/novox/mesh-sdk/go/overlay 0.006s PASS ok git.novox.be/novox/mesh-sdk/go/process 6.502s PASS ok git.novox.be/novox/mesh-sdk/go/provider 0.118s PASS ok git.novox.be/novox/mesh-sdk/go/provider/harness 0.137s PASS ok git.novox.be/novox/mesh-sdk/go/sdkversion 0.002s PASS ok git.novox.be/novox/mesh-sdk/go/seal 0.006s PASS ok git.novox.be/novox/mesh-sdk/go/validate 0.003s integration level: 1471 tests (4 skipped), 8 s ```
mesh-tools merged commit 36d6f7745c into main 2026-10-20 20:46:27 +00:00
mesh-tools deleted branch feat/r4c3-sdk 2026-10-20 20:46:27 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-sdk#51