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-toolsmerged 2 commits from feat/r4c1-sdk-layouts into main2026-10-20 18:28:15 +00:00
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.
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
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.
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)…
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.
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`.
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
```
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
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).
ForgegainsManifests(module.json bytes, exact) andLocks(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;ModulegainsInputs2(KeptInputs2), the new-form inputs a merge gave it, so its fingerprint can be computed again when a toolchain is reported;SameModulecompares withreflect.DeepEqual(its one caller outside, the indexer, is unaffected with Inputs2 nil).toolchains.go: the build modules'toolchainsstate, key<node>.<language>, value {language, version, recipe, at}, andAgreedToolchain(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
6f9a83646aDelivery
novox/mesh-sdk@6f9a83646ab7— delivered since 2026-10-20T18:43:51ZDelivery plan — builds mesh-sdk (+41 dependent(s)) → ace, g14, novox, shanks; no bus step; 9 wait(s) for a person
Machines
Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition:git log --notes=mesh-plan.Merge check at
6f9a8364Judged: head
6f9a83646ab7merged into trunkab0c16ddad26; read beside it: mesh-catalog809dd76973fd, mesh-controllerf2d7bc94800d, mesh-controller-mainf2d7bc94800d, mesh-hostce1b97ad973d, mesh-tools18260ce9becamesh/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
Run by the build seat on ace as
build-1792520660864355324(builds --log build-1792520660864355324).