The forge messages carry manifests and lock hashes, a module keeps its new-form inputs, and the build modules' toolchain keys get a layout (design 47 R4c-1, issues 1442, 1443) #50

Merged
mesh-tools merged 2 commits from feat/r4c1-sdk-layouts into main 2026-10-20 18:28:15 +00:00
Member

Design 47 R4c's first delivery (ADR 0465 clauses 1, 2, 5): the SDK layouts the bridge, the indexer and the build modules use in R4c's later deliveries ship first (ADR 0453 §2).

  • issue 1442: Forge gains Manifests (module.json bytes, exact) and Locks (lock files' hex sha256) on merged and pull messages, checked against the trees or the directories, refused on refused and open messages, absent for older writers; Module gains Inputs2 (KeptInputs2), the new-form inputs a merge gave it, so its fingerprint can be computed again when a toolchain is reported; SameModule compares with reflect.DeepEqual (its one caller outside, the indexer, is unaffected with Inputs2 nil).
  • issue 1443: toolchains.go: the build modules' toolchains state, key <node>.<language>, value {language, version, recipe, at}, and AgreedToolchain (none with 'toolchain not yet reported', or 'builders disagree' naming versions and nodes).

Tests cite their criteria (1442/AC1-AC5, 1443/AC1-AC4); the json names are pinned by the encoded bytes (review round 1). Tries: build-1792520426447599368 (31c3b6ce) and build-1792520587296328598 (6f9a8364) passed.

No module builds from this change; its users pin it after it is on main.

Reviewed-by: review-r4c1@shanks at 6f9a83646a

Design 47 R4c's first delivery (ADR 0465 clauses 1, 2, 5): the SDK layouts the bridge, the indexer and the build modules use in R4c's later deliveries ship first (ADR 0453 §2). - issue 1442: `Forge` gains `Manifests` (module.json bytes, exact) and `Locks` (lock files' hex sha256) on merged and pull messages, checked against the trees or the directories, refused on refused and open messages, absent for older writers; `Module` gains `Inputs2` (`KeptInputs2`), the new-form inputs a merge gave it, so its fingerprint can be computed again when a toolchain is reported; `SameModule` compares with `reflect.DeepEqual` (its one caller outside, the indexer, is unaffected with Inputs2 nil). - issue 1443: `toolchains.go`: the build modules' `toolchains` state, key `<node>.<language>`, value {language, version, recipe, at}, and `AgreedToolchain` (none with 'toolchain not yet reported', or 'builders disagree' naming versions and nodes). Tests cite their criteria (1442/AC1-AC5, 1443/AC1-AC4); the json names are pinned by the encoded bytes (review round 1). Tries: build-1792520426447599368 (31c3b6ce) and build-1792520587296328598 (6f9a8364) passed. No module builds from this change; its users pin it after it is on main. Reviewed-by: review-r4c1@shanks at 6f9a83646ab7083e88d3ed68371aea9f750be5b9
mesh-tools added 2 commits 2026-10-20 18:24:16 +00:00
The indexer needs a module's manifest, lock hashes and toolchain to compute its new-form fingerprint, and has none of them (ADR 0465 clauses 1, 2, 5): the forge messages now carry the first two, a module keeps its inputs so it can be computed again when a toolchain is reported, and the build modules' toolchain keys have a layout and an agreement rule.
Pin the json names of manifests, locks and inputs2 by the encoded bytes (issue 1442, review round 1)
mesh/merge-gate head 6f9a83646ab7 merged into trunk ab0c16ddad26 — pass, with a note: builds mesh-sdk (+41 dependent(s)) → ace, g14, novox, shanks; no bus …
mesh/repo-check head 6f9a83646ab7 merged into trunk ab0c16ddad26 — pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (typescript)…
mesh/delivery delivered
6f9a83646a
Go decodes keys case-insensitively, so a round trip could not see a dropped tag; the encoded bytes now name each field and an older message re-encodes to its own bytes.
Author
Member

Delivery novox/mesh-sdk@6f9a83646ab7 — delivered since 2026-10-20T18:43:51Z

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
  • confluence on every machine running it: sent
  • gitlab on every machine running it: sent
  • jira on every machine running it: sent
  • mesh-catalog on every machine running it: sent
  • model-usage on every machine running it: sent
  • openai-consumer on every machine running it: sent
  • route-adapter on every machine running it: sent
  • showcase on every machine running it: sent

Transitions

  • 2026-10-20 18:24 (new) → proposed (announced): novox/mesh-sdk#50's head announced
  • 2026-10-20 18:27 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
  • 2026-10-20 18:27 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
  • 2026-10-20 18:28 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 18:28 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 18:43 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@6f9a83646ab7` — **delivered** since 2026-10-20T18:43:51Z **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 - confluence on every machine running it: sent - gitlab on every machine running it: sent - jira on every machine running it: sent - mesh-catalog on every machine running it: sent - model-usage on every machine running it: sent - openai-consumer on every machine running it: sent - route-adapter on every machine running it: sent - showcase on every machine running it: sent **Transitions** - 2026-10-20 18:24 (new) → proposed (announced): novox/mesh-sdk#50's head announced - 2026-10-20 18:27 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit - 2026-10-20 18:27 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail - 2026-10-20 18:28 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 18:28 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 18:43 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 6f9a8364
Judged: head 6f9a83646ab7 merged into trunk ab0c16ddad26; read beside it: mesh-catalog 809dd76973fd, mesh-controller f2d7bc94800d, mesh-controller-main f2d7bc94800d, 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 ace as build-1792520660864355324 (builds --log build-1792520660864355324).

    mounts_test.go:78: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    no_subjects_test.go:22: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check
    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.148s
PASS
ok  	git.novox.be/novox/mesh-sdk/go/cli	1.038s
PASS
ok  	git.novox.be/novox/mesh-sdk/go/compose	0.140s
    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.010s
PASS
ok  	git.novox.be/novox/mesh-sdk/go/delivery	0.009s
?   	git.novox.be/novox/mesh-sdk/go/example	[no test files]
PASS
ok  	git.novox.be/novox/mesh-sdk/go/facts	0.004s
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.036s
PASS
ok  	git.novox.be/novox/mesh-sdk/go/internal/testbus	0.139s
PASS
ok  	git.novox.be/novox/mesh-sdk/go/outward	0.053s
PASS
ok  	git.novox.be/novox/mesh-sdk/go/overlay	0.005s
PASS
ok  	git.novox.be/novox/mesh-sdk/go/process	6.469s
PASS
ok  	git.novox.be/novox/mesh-sdk/go/provider	0.118s
PASS
ok  	git.novox.be/novox/mesh-sdk/go/provider/harness	0.120s
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: 1435 tests (4 skipped), 8 s
**Merge check** at `6f9a8364` Judged: head `6f9a83646ab7` merged into trunk `ab0c16ddad26`; read beside it: mesh-catalog `809dd76973fd`, mesh-controller `f2d7bc94800d`, mesh-controller-main `f2d7bc94800d`, 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 ace as `build-1792520660864355324` (`builds --log build-1792520660864355324`). ``` mounts_test.go:78: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check no_subjects_test.go:22: judged against /var/lib/build-agent/workspace/check/mesh-catalog as cloned beside this check 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.148s PASS ok git.novox.be/novox/mesh-sdk/go/cli 1.038s PASS ok git.novox.be/novox/mesh-sdk/go/compose 0.140s 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.010s PASS ok git.novox.be/novox/mesh-sdk/go/delivery 0.009s ? git.novox.be/novox/mesh-sdk/go/example [no test files] PASS ok git.novox.be/novox/mesh-sdk/go/facts 0.004s 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.036s PASS ok git.novox.be/novox/mesh-sdk/go/internal/testbus 0.139s PASS ok git.novox.be/novox/mesh-sdk/go/outward 0.053s PASS ok git.novox.be/novox/mesh-sdk/go/overlay 0.005s PASS ok git.novox.be/novox/mesh-sdk/go/process 6.469s PASS ok git.novox.be/novox/mesh-sdk/go/provider 0.118s PASS ok git.novox.be/novox/mesh-sdk/go/provider/harness 0.120s 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: 1435 tests (4 skipped), 8 s ```
mesh-tools merged commit 4024909a29 into main 2026-10-20 18:28:15 +00:00
mesh-tools deleted branch feat/r4c1-sdk-layouts 2026-10-20 18:28:15 +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#50