Stop committing mesh-sdk's Go dependencies (issue 1304) #43

Closed
mesh-tools wants to merge 1 commits from fix/1304-no-vendored-dependencies into main
Member

Fixes issue 1304: go/vendor (810 files) removed; no repository commits its dependencies (operator, 2026-10-19; ADR 0405 §5).

Survey (what assumed a vendor directory)

  • go/merge-check.sh: export GOFLAGS=-mod=vendor GOPROXY=off and the gofmt -not -path './vendor/*', plus a comment on vendoring. Changed: strips -mod=vendor from the toolchain's GOFLAGS, uses -mod=readonly, GOPRIVATE=git.novox.be, go mod download then go mod verify (fails by module name on a go.sum mismatch). The gofmt exclusion is harmless and kept.
  • go/internal/testbus/testbus.go:13: comment said go/vendor holds the server; reworded.
  • merge-check.sh (root), Makefiles, module.json, README: no vendor reference (grep over origin/main, outside go/vendor).
  • go.mod requires nothing of the forge (nats.go, nats-server and their public deps only), so mesh-catalog's checks/deps is not needed.
  • No Go code passes -mod=vendor; no unit test is due.

Acceptance

  • AC1: git ls-tree -r HEAD --name-only | grep -c /vendor/ gives 0; .gitignore names vendor/.
  • AC2: locally with the new script's flags: go mod verify (all modules verified), go build ./..., go vet ./..., go vet -tags integration ./..., unit suite green under -mod=readonly. The merge check itself proves the full run (integration level not run by hand).
  • AC3: proven by the delivery plan of the merge rebuilding dependents; to be read after merge.
Fixes issue 1304: go/vendor (810 files) removed; no repository commits its dependencies (operator, 2026-10-19; ADR 0405 §5). ## Survey (what assumed a vendor directory) - go/merge-check.sh: `export GOFLAGS=-mod=vendor GOPROXY=off` and the gofmt `-not -path './vendor/*'`, plus a comment on vendoring. Changed: strips -mod=vendor from the toolchain's GOFLAGS, uses -mod=readonly, GOPRIVATE=git.novox.be, `go mod download` then `go mod verify` (fails by module name on a go.sum mismatch). The gofmt exclusion is harmless and kept. - go/internal/testbus/testbus.go:13: comment said go/vendor holds the server; reworded. - merge-check.sh (root), Makefiles, module.json, README: no vendor reference (grep over origin/main, outside go/vendor). - go.mod requires nothing of the forge (nats.go, nats-server and their public deps only), so mesh-catalog's checks/deps is not needed. - No Go code passes -mod=vendor; no unit test is due. ## Acceptance - AC1: `git ls-tree -r HEAD --name-only | grep -c /vendor/` gives 0; .gitignore names vendor/. - AC2: locally with the new script's flags: `go mod verify` (all modules verified), `go build ./...`, `go vet ./...`, `go vet -tags integration ./...`, unit suite green under -mod=readonly. The merge check itself proves the full run (integration level not run by hand). - AC3: proven by the delivery plan of the merge rebuilding dependents; to be read after merge.
mesh-tools added 1 commit 2026-10-19 19:58:15 +00:00
Stop committing mesh-sdk's Go dependencies: resolve them by go.sum (issue 1304)
mesh/merge-gate checking again: Issue 1304 step 2. Rejected in review round 1 only because main's go/merge-check.sh still required go/vendor. Step 1, mesh-…
mesh/repo-check checking again: Issue 1304 step 2. Rejected in review round 1 only because main's go/merge-check.sh still required go/vendor. Step 1, mesh-…
mesh/delivery stopped: the pull request closed unmerged
1c20b9fb9b
Author
Member

Delivery novox/mesh-sdk@1c20b9fb9b25 — stopped since 2026-10-20T05:58:06Z

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

Transitions

  • 2026-10-19 19:58 (new) → proposed (announced): novox/mesh-sdk#43's head announced
  • 2026-10-19 20:03 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
  • 2026-10-19 20:03 checked → rejected (refused): the gate failed or could not run, or the repository's own check failed
  • 2026-10-19 20:39 rejected → proposed (recheck): Issue 1304 step 2. Rejected in review round 1 only because main's go/merge-check.sh still required go/vendor. Step 1, mesh-sdk #44 (the same script change, keeping go/vendor), has merged, so main's check now judges a tree without go/vendor. A rejected pull request is not asked again when its trunk moves (ADR 0421 §12).
  • 2026-10-20 00:45 proposed → proposed (re-ask): delivery.novox/mesh-sdk_1c20b9fb9b25.stalled — re-asked as build-1792457114204526578
  • 2026-10-20 05:58 proposed → stopped (closed): the pull request closed unmerged

The commit's note under refs/notes/mesh-plan keeps every transition: git log --notes=mesh-plan.

<!-- mesh-delivery:view --> **Delivery** `novox/mesh-sdk@1c20b9fb9b25` — **stopped** since 2026-10-20T05:58:06Z **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 **Transitions** - 2026-10-19 19:58 (new) → proposed (announced): novox/mesh-sdk#43's head announced - 2026-10-19 20:03 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit - 2026-10-19 20:03 checked → rejected (refused): the gate failed or could not run, or the repository's own check failed - 2026-10-19 20:39 rejected → proposed (recheck): Issue 1304 step 2. Rejected in review round 1 only because main's go/merge-check.sh still required go/vendor. Step 1, mesh-sdk #44 (the same script change, keeping go/vendor), has merged, so main's check now judges a tree without go/vendor. A rejected pull request is not asked again when its trunk moves (ADR 0421 §12). - 2026-10-20 00:45 proposed → proposed (re-ask): delivery.novox/mesh-sdk_1c20b9fb9b25.stalled — re-asked as build-1792457114204526578 - 2026-10-20 05:58 proposed → stopped (closed): the pull request closed unmerged The commit's note under `refs/notes/mesh-plan` keeps every transition: `git log --notes=mesh-plan`.
Author
Member

Merge check at 1c20b9fb
Judged: head 1c20b9fb9b25 merged into trunk 91763dd70ee4; read beside it: mesh-catalog 66aa204f6779, mesh-controller 880207649956, mesh-controller-main 880207649956, mesh-host 2474bf28330f, mesh-tools 7412c5b6c9c5

  • 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: FAIL — THE CHANGE ALTERS ITS OWN CHECK (go/merge-check.sh): main's version judged it; the change's judges the pull requests after it merges; merge-check.sh (typescript) passed; its go/merge-check.sh failed: go mod vendor

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-1792439976923086766 (builds --log build-1792439976923086766).

  duration_ms: 302.653053
  type: 'test'
  ...
# Subtest: modules can SERVE: a real async tool, loaded and invoked over the broker
ok 27 - modules can SERVE: a real async tool, loaded and invoked over the broker
  ---
  duration_ms: 24.528159
  type: 'test'
  ...
# Subtest: serving refuses one module exposing two tools of the same name
ok 28 - serving refuses one module exposing two tools of the same name
  ---
  duration_ms: 0.261812
  type: 'test'
  ...
# Subtest: events: a module emits, a listener and the audit sink (\#) both receive it, with metadata
ok 29 - events: a module emits, a listener and the audit sink (\#) both receive it, with metadata
  ---
  duration_ms: 0.350969
  type: 'test'
  ...
# Subtest: each registration is given the environment asked for it, and sees no other's (ADR 0192)
ok 30 - each registration is given the environment asked for it, and sees no other's (ADR 0192)
  ---
  duration_ms: 0.184697
  type: 'test'
  ...
# Subtest: the provider loop is named for what it is, and its old name stays an alias until its providers move (issue 678)
ok 31 - the provider loop is named for what it is, and its old name stays an alias until its providers move (issue 678)
  ---
  duration_ms: 4.703526
  type: 'test'
  ...
# Subtest: seal: every box the licence manager sealed opens to its plaintext
ok 32 - seal: every box the licence manager sealed opens to its plaintext
  ---
  duration_ms: 4.060559
  type: 'test'
  ...
# Subtest: seal: given the same one-time key and iv, the box is byte for byte the licence manager's
ok 33 - seal: given the same one-time key and iv, the box is byte for byte the licence manager's
  ---
  duration_ms: 3.995427
  type: 'test'
  ...
# Subtest: seal: the agent module's TypeScript box opens
ok 34 - seal: the agent module's TypeScript box opens
  ---
  duration_ms: 0.535927
  type: 'test'
  ...
# Subtest: seal: a box opens for its recipient only, and two boxes share no one-time key or iv
ok 35 - seal: a box opens for its recipient only, and two boxes share no one-time key or iv
  ---
  duration_ms: 1.699534
  type: 'test'
  ...
# Subtest: seal: a box changed in any field, or of another version, does not open
ok 36 - seal: a box changed in any field, or of another version, does not open
  ---
  duration_ms: 1.046987
  type: 'test'
  ...
# Subtest: seal: a key that is not X25519 PEM is refused
ok 37 - seal: a key that is not X25519 PEM is refused
  ---
  duration_ms: 0.272392
  type: 'test'
  ...
# Subtest: a consumer failed for minutes is announced, naming it, its machine and the class, again while it lasts, and recovered
ok 38 - a consumer failed for minutes is announced, naming it, its machine and the class, again while it lasts, and recovered
  ---
  duration_ms: 594.03623
  type: 'test'
  ...
# Subtest: one success between failures starts the run again
ok 39 - one success between failures starts the run again
  ---
  duration_ms: 187.105988
  type: 'test'
  ...
# Subtest: a check that keeps failing is a failure too
ok 40 - a check that keeps failing is a failure too
  ---
  duration_ms: 190.926156
  type: 'test'
  ...
# Subtest: an unreadable secret is announced as such
ok 41 - an unreadable secret is announced as such
  ---
  duration_ms: 168.861553
  type: 'test'
  ...
# Subtest: a consumer no longer asked for is no longer failing
ok 42 - a consumer no longer asked for is no longer failing
  ---
  duration_ms: 183.777365
  type: 'test'
  ...
# Subtest: a failing consumer the mesh stopped asking for is said recovered when it is retired
ok 43 - a failing consumer the mesh stopped asking for is said recovered when it is retired
  ---
  duration_ms: 226.480299
  type: 'test'
  ...
# Subtest: an error is classed by its words
ok 44 - an error is classed by its words
  ---
  duration_ms: 0.219863
  type: 'test'
  ...
# Subtest: an adapter that classes its own errors is believed
ok 45 - an adapter that classes its own errors is believed
  ---
  duration_ms: 164.317528
  type: 'test'
  ...
# Subtest: the first success since start is announced once
ok 46 - the first success since start is announced once
  ---
  duration_ms: 118.451148
  type: 'test'
  ...
# Subtest: without announce the standing is said through the SDK's emit
ok 47 - without announce the standing is said through the SDK's emit
  ---
  duration_ms: 170.837956
  type: 'test'
  ...
# Subtest: a bundle on stdio lists its tools and answers a call, a seat's verb among them
ok 48 - a bundle on stdio lists its tools and answers a call, a seat's verb among them
  ---
  duration_ms: 125.462812
  type: 'test'
  ...
# Subtest: a bundle served as its module lists the seat's verbs as the seat's, whichever registered first (ADR 0193)
ok 49 - a bundle served as its module lists the seat's verbs as the seat's, whichever registered first (ADR 0193)
  ---
  duration_ms: 82.050633
  type: 'test'
  ...
# Subtest: a launched tool's emit is asked of the runtime, and the call answers once the runtime has published (ADR 0193)
ok 50 - a launched tool's emit is asked of the runtime, and the call answers once the runtime has published (ADR 0193)
  ---
  duration_ms: 82.727878
  type: 'test'
  ...
# Subtest: a launched bundle subscribes as it is imported, handles events the runtime hands it, and asks through it (ADR 0198)
ok 51 - a launched bundle subscribes as it is imported, handles events the runtime hands it, and asks through it (ADR 0198)
  ---
  duration_ms: 3197.135709
  type: 'test'
  ...
# Subtest: a subscribe the runtime refused leaves no handler behind, so one event is handled once (novox/hq issue 276)
ok 52 - a subscribe the runtime refused leaves no handler behind, so one event is handled once (novox/hq issue 276)
  ---
  duration_ms: 82.277702
  type: 'test'
  ...
# Subtest: a launched bundle watches its state as it is imported, has the current values before it goes on, and keeps state through the runtime (ADR 0201)
ok 53 - a launched bundle watches its state as it is imported, has the current values before it goes on, and keeps state through the runtime (ADR 0201)
  ---
  duration_ms: 286.285916
  type: 'test'
  ...
# Subtest: topics match as the runtime's do: * one segment, \# and ** any number
ok 54 - topics match as the runtime's do: * one segment, \# and ** any number
  ---
  duration_ms: 2.346477
  type: 'test'
  ...
1..54
# tests 54
# suites 0
# pass 54
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 3944.116403
NOT TESTED HERE: go/ (the Go binding) — the Go toolchain runs it from go/merge-check.sh
NOT TESTED HERE: python/, rust/, c/ — no toolchain of theirs runs a merge check
--- its go/merge-check.sh (go toolchain)
go: inconsistent vendoring in /var/lib/build-agent/workspace/check/mesh-sdk/go:
	github.com/nats-io/nats-server/v2@v2.11.17: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
	github.com/nats-io/nats.go@v1.54.0: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
	github.com/antithesishq/antithesis-sdk-go@v0.7.0-default-no-op: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
	github.com/google/go-tpm@v0.9.8: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
	github.com/klauspost/compress@v1.20.0: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
	github.com/minio/highwayhash@v1.0.4: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
	github.com/nats-io/jwt/v2@v2.8.1: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
	github.com/nats-io/nkeys@v0.4.16: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
	github.com/nats-io/nuid@v1.0.1: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
	golang.org/x/crypto@v0.57.0: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
	golang.org/x/sys@v0.48.0: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
	golang.org/x/time@v0.15.0: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt

	To ignore the vendor directory, use -mod=readonly or -mod=mod.
	To sync the vendor directory, run:
		go mod vendor
**Merge check** at `1c20b9fb` Judged: head `1c20b9fb9b25` merged into trunk `91763dd70ee4`; read beside it: mesh-catalog `66aa204f6779`, mesh-controller `880207649956`, mesh-controller-main `880207649956`, mesh-host `2474bf28330f`, mesh-tools `7412c5b6c9c5` - `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`: **FAIL** — THE CHANGE ALTERS ITS OWN CHECK (go/merge-check.sh): main's version judged it; the change's judges the pull requests after it merges; merge-check.sh (typescript) passed; its go/merge-check.sh failed: go mod vendor **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-1792439976923086766` (`builds --log build-1792439976923086766`). ``` duration_ms: 302.653053 type: 'test' ... # Subtest: modules can SERVE: a real async tool, loaded and invoked over the broker ok 27 - modules can SERVE: a real async tool, loaded and invoked over the broker --- duration_ms: 24.528159 type: 'test' ... # Subtest: serving refuses one module exposing two tools of the same name ok 28 - serving refuses one module exposing two tools of the same name --- duration_ms: 0.261812 type: 'test' ... # Subtest: events: a module emits, a listener and the audit sink (\#) both receive it, with metadata ok 29 - events: a module emits, a listener and the audit sink (\#) both receive it, with metadata --- duration_ms: 0.350969 type: 'test' ... # Subtest: each registration is given the environment asked for it, and sees no other's (ADR 0192) ok 30 - each registration is given the environment asked for it, and sees no other's (ADR 0192) --- duration_ms: 0.184697 type: 'test' ... # Subtest: the provider loop is named for what it is, and its old name stays an alias until its providers move (issue 678) ok 31 - the provider loop is named for what it is, and its old name stays an alias until its providers move (issue 678) --- duration_ms: 4.703526 type: 'test' ... # Subtest: seal: every box the licence manager sealed opens to its plaintext ok 32 - seal: every box the licence manager sealed opens to its plaintext --- duration_ms: 4.060559 type: 'test' ... # Subtest: seal: given the same one-time key and iv, the box is byte for byte the licence manager's ok 33 - seal: given the same one-time key and iv, the box is byte for byte the licence manager's --- duration_ms: 3.995427 type: 'test' ... # Subtest: seal: the agent module's TypeScript box opens ok 34 - seal: the agent module's TypeScript box opens --- duration_ms: 0.535927 type: 'test' ... # Subtest: seal: a box opens for its recipient only, and two boxes share no one-time key or iv ok 35 - seal: a box opens for its recipient only, and two boxes share no one-time key or iv --- duration_ms: 1.699534 type: 'test' ... # Subtest: seal: a box changed in any field, or of another version, does not open ok 36 - seal: a box changed in any field, or of another version, does not open --- duration_ms: 1.046987 type: 'test' ... # Subtest: seal: a key that is not X25519 PEM is refused ok 37 - seal: a key that is not X25519 PEM is refused --- duration_ms: 0.272392 type: 'test' ... # Subtest: a consumer failed for minutes is announced, naming it, its machine and the class, again while it lasts, and recovered ok 38 - a consumer failed for minutes is announced, naming it, its machine and the class, again while it lasts, and recovered --- duration_ms: 594.03623 type: 'test' ... # Subtest: one success between failures starts the run again ok 39 - one success between failures starts the run again --- duration_ms: 187.105988 type: 'test' ... # Subtest: a check that keeps failing is a failure too ok 40 - a check that keeps failing is a failure too --- duration_ms: 190.926156 type: 'test' ... # Subtest: an unreadable secret is announced as such ok 41 - an unreadable secret is announced as such --- duration_ms: 168.861553 type: 'test' ... # Subtest: a consumer no longer asked for is no longer failing ok 42 - a consumer no longer asked for is no longer failing --- duration_ms: 183.777365 type: 'test' ... # Subtest: a failing consumer the mesh stopped asking for is said recovered when it is retired ok 43 - a failing consumer the mesh stopped asking for is said recovered when it is retired --- duration_ms: 226.480299 type: 'test' ... # Subtest: an error is classed by its words ok 44 - an error is classed by its words --- duration_ms: 0.219863 type: 'test' ... # Subtest: an adapter that classes its own errors is believed ok 45 - an adapter that classes its own errors is believed --- duration_ms: 164.317528 type: 'test' ... # Subtest: the first success since start is announced once ok 46 - the first success since start is announced once --- duration_ms: 118.451148 type: 'test' ... # Subtest: without announce the standing is said through the SDK's emit ok 47 - without announce the standing is said through the SDK's emit --- duration_ms: 170.837956 type: 'test' ... # Subtest: a bundle on stdio lists its tools and answers a call, a seat's verb among them ok 48 - a bundle on stdio lists its tools and answers a call, a seat's verb among them --- duration_ms: 125.462812 type: 'test' ... # Subtest: a bundle served as its module lists the seat's verbs as the seat's, whichever registered first (ADR 0193) ok 49 - a bundle served as its module lists the seat's verbs as the seat's, whichever registered first (ADR 0193) --- duration_ms: 82.050633 type: 'test' ... # Subtest: a launched tool's emit is asked of the runtime, and the call answers once the runtime has published (ADR 0193) ok 50 - a launched tool's emit is asked of the runtime, and the call answers once the runtime has published (ADR 0193) --- duration_ms: 82.727878 type: 'test' ... # Subtest: a launched bundle subscribes as it is imported, handles events the runtime hands it, and asks through it (ADR 0198) ok 51 - a launched bundle subscribes as it is imported, handles events the runtime hands it, and asks through it (ADR 0198) --- duration_ms: 3197.135709 type: 'test' ... # Subtest: a subscribe the runtime refused leaves no handler behind, so one event is handled once (novox/hq issue 276) ok 52 - a subscribe the runtime refused leaves no handler behind, so one event is handled once (novox/hq issue 276) --- duration_ms: 82.277702 type: 'test' ... # Subtest: a launched bundle watches its state as it is imported, has the current values before it goes on, and keeps state through the runtime (ADR 0201) ok 53 - a launched bundle watches its state as it is imported, has the current values before it goes on, and keeps state through the runtime (ADR 0201) --- duration_ms: 286.285916 type: 'test' ... # Subtest: topics match as the runtime's do: * one segment, \# and ** any number ok 54 - topics match as the runtime's do: * one segment, \# and ** any number --- duration_ms: 2.346477 type: 'test' ... 1..54 # tests 54 # suites 0 # pass 54 # fail 0 # cancelled 0 # skipped 0 # todo 0 # duration_ms 3944.116403 NOT TESTED HERE: go/ (the Go binding) — the Go toolchain runs it from go/merge-check.sh NOT TESTED HERE: python/, rust/, c/ — no toolchain of theirs runs a merge check --- its go/merge-check.sh (go toolchain) go: inconsistent vendoring in /var/lib/build-agent/workspace/check/mesh-sdk/go: github.com/nats-io/nats-server/v2@v2.11.17: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt github.com/nats-io/nats.go@v1.54.0: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt github.com/antithesishq/antithesis-sdk-go@v0.7.0-default-no-op: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt github.com/google/go-tpm@v0.9.8: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt github.com/klauspost/compress@v1.20.0: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt github.com/minio/highwayhash@v1.0.4: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt github.com/nats-io/jwt/v2@v2.8.1: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt github.com/nats-io/nkeys@v0.4.16: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt github.com/nats-io/nuid@v1.0.1: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt golang.org/x/crypto@v0.57.0: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt golang.org/x/sys@v0.48.0: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt golang.org/x/time@v0.15.0: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt To ignore the vendor directory, use -mod=readonly or -mod=mod. To sync the vendor directory, run: go mod vendor ```
mesh-tools closed this pull request 2026-10-20 05:58:04 +00:00

Pull request closed

Please reopen this pull request to perform a merge.
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#43