Cite the gate issues by their real numbers, 285 and 286 #128

Merged
mesh-admin merged 1 commits from fix/gate-baseline-composes into main 2026-10-08 00:36:49 +00:00
Contributor

Seven files cite hq issues 282 and 283 for the merge gate's baseline work; those numbers belong to unrelated issues (282 is a secret-handling issue). The right ones are 285 and 286. Citation-only.

Seven files cite hq issues 282 and 283 for the merge gate's baseline work; those numbers belong to unrelated issues (282 is a secret-handling issue). The right ones are 285 and 286. Citation-only.
Author
Contributor

Delivery novox/mesh-controller@56b206fe04a0 — covered since 2026-10-09T07:31:59Z

Delivery plan — builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step

  • tier 0: mesh-controller
  • tier 1: build-agent
  • tier 2: route-proxy
  • ace: receives build-agent, route-proxy
  • g14: receives build-agent
  • novox: receives mesh-controller, build-agent, route-proxy
  • shanks: receives build-agent
  • build-agent keeps data (ADR 0233): what it holds is backed up before it moves
  • route-proxy provides route: its consumers are sent again after it
  • route-proxy keeps data (ADR 0233): what it holds is backed up before it moves

Transitions

  • 2026-10-07 23:42 (new) → proposed (announced): novox/mesh-controller#128's head announced
  • 2026-10-07 23:52 proposed → checked (checked): the verdict names this commit
  • 2026-10-07 23:52 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
  • 2026-10-08 00:47 ready → held (hold): something holds it for a person: its group's composed check did not pass for the heads that merged, or it merged and no walk was opened for it
  • 2026-10-09 07:31 held → covered (covered): covered: a later merge that contains it was delivered: novox/mesh-controller@6faf701656 (merged as c714d077 into main, walk plan-1791419838311287219): build-agent, mesh-controller, route-proxy

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

<!-- mesh-delivery:view --> **Delivery** `novox/mesh-controller@56b206fe04a0` — **covered** since 2026-10-09T07:31:59Z **Delivery plan** — builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step - tier 0: mesh-controller - tier 1: build-agent - tier 2: route-proxy - ace: receives build-agent, route-proxy - g14: receives build-agent - novox: receives mesh-controller, build-agent, route-proxy - shanks: receives build-agent - build-agent keeps data (ADR 0233): what it holds is backed up before it moves - route-proxy provides route: its consumers are sent again after it - route-proxy keeps data (ADR 0233): what it holds is backed up before it moves **Transitions** - 2026-10-07 23:42 (new) → proposed (announced): novox/mesh-controller#128's head announced - 2026-10-07 23:52 proposed → checked (checked): the verdict names this commit - 2026-10-07 23:52 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail - 2026-10-08 00:47 ready → held (hold): something holds it for a person: its group's composed check did not pass for the heads that merged, or it merged and no walk was opened for it - 2026-10-09 07:31 held → covered (covered): covered: a later merge that contains it was delivered: novox/mesh-controller@6faf701656fe (merged as c714d077 into main, walk plan-1791419838311287219): build-agent, mesh-controller, route-proxy The commit's note under `refs/notes/mesh-plan` keeps every transition: `git log --notes=mesh-plan`.
Author
Contributor

Merge check at 8bf7026d

  • mesh/merge-gate: ERROR — the mesh as it is could not be raised, so the change cannot be judged against it (4 of 4 machines compose on the mesh and not in the gate); the first: a machine (f35) composes on the mesh and not as the gate raised it from the snapshot: these assignments cannot be applied: - f35 needs "artifact-store" from ygcyr, and they are not both on the private network — assign mesh-wireguard to whichever is missing it - f35 needs "internal-acme-ca" from ygcyr, and they are not both on the private network — assign mesh-wireguard to whichever is missing it - f35 needs "npm-package-registry" from ygcyr, and they are not both on the private network — assign mesh-wireguard to whichever is missing it - f35 needs "wildcard-resolution" from ygcyr, and they are not both on the private network — assign mesh-wireguard to whichever is missing it - systemd-resolved and networkmanager both declare the path "/etc/resolv.conf" (modules: build-agent, mesh-controller, route-proxy)
  • mesh/repo-check: FAIL — its merge-check.sh failed: --- FAIL: TestEveryCatalogueManifestParses (0.18s)

Delivery plan — builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step

  • tier 0: mesh-controller
  • tier 1: build-agent
  • tier 2: route-proxy
  • ace: receives build-agent, route-proxy
  • g14: receives build-agent
  • novox: receives mesh-controller, build-agent, route-proxy
  • shanks: receives build-agent
  • build-agent keeps data (ADR 0233): what it holds is backed up before it moves
  • route-proxy provides route: its consumers are sent again after it
  • route-proxy keeps data (ADR 0233): what it holds is backed up before it moves

Run by the build seat on g14 as build-1791415530514803850 (builds --log build-1791415530514803850).

  tier 0: plan-retry: tier 0 done; asking tier 1: b
  tier 1:   tier 0: rebuild asked as build-1791415797075913159, joining plan-join at tier 0 (novox/a at c0ffee): the plan takes this build as a's outcome; the plan had failed and builds again from this tier
rebuild asked as build-1791415797119787856
build-1791415797716052837:  could not build https://forge.example/novox/a.git:
cancelled by hand
plan-cancel: a failed to build in tier 0; the tiers after it are not asked
cancelled build-1791415797716052837 (https://forge.example/novox/a.git, waiting): deleted from the node-build-agent queue and recorded failed, cancelled by hand — a plan that asked for it fails with that
build-1791415798419078135:  could not build https://forge.example/novox/w1.git:
cancelled by hand
build-1791415798420078135:  could not build https://forge.example/novox/w2.git:
cancelled by hand
build-1791415798418078135:  could not build https://forge.example/novox/dead.git:
cancelled by hand
could not read what is assigned, so the build is asked of node-build-agent: this process has neither MESH_STORE_INVENTORY nor MESH_STORE_INVENTORY_FILE, so it was not granted the inventory store. A context reaches only the store it exclusively owns (novox/hq ADR 0008), so this is either the wrong context or a missing grant — it is never something to work around by reusing another context's connection
ace: killed build-running
could not read what is assigned, so the build is asked of node-build-agent: this process has neither MESH_STORE_INVENTORY nor MESH_STORE_INVENTORY_FILE, so it was not granted the inventory store. A context reaches only the store it exclusively owns (novox/hq ADR 0008), so this is either the wrong context or a missing grant — it is never something to work around by reusing another context's connection
ace: ace is not building build-other
could not read what is assigned, so the build is asked of node-build-agent: this process has neither MESH_STORE_INVENTORY nor MESH_STORE_INVENTORY_FILE, so it was not granted the inventory store. A context reaches only the store it exclusively owns (novox/hq ADR 0008), so this is either the wrong context or a missing grant — it is never something to work around by reusing another context's connection
could not read what is assigned, so the build is asked of node-build-agent: this process has neither MESH_STORE_INVENTORY nor MESH_STORE_INVENTORY_FILE, so it was not granted the inventory store. A context reaches only the store it exclusively owns (novox/hq ADR 0008), so this is either the wrong context or a missing grant — it is never something to work around by reusing another context's connection
ace: ace is paused
could not read what is assigned, so the build is asked of node-build-agent: this process has neither MESH_STORE_INVENTORY nor MESH_STORE_INVENTORY_FILE, so it was not granted the inventory store. A context reaches only the store it exclusively owns (novox/hq ADR 0008), so this is either the wrong context or a missing grant — it is never something to work around by reusing another context's connection
g14: nothing on g14 answers node-build-agent.resume: its holder is not running, or is older than the verb
plan-rollout: tier 0 done; asking tier 1: b
  tier 1: plan-own: done — novox/a at c0ffee, 1 tier(s)
build-at-commit was built at commit 01234567; a rebuild asks what a follows now, main — `replay build-at-commit` builds that commit
rebuild asked as build-1791415809715214513
plan-1: mesh-controller settled from the build records as built (build-2)
plan-3: postgres settled from the build records as built (build-mine)
plan-2: x settled from the build records as failed (b)
release-1791415813421886821: 2 build(s) wait for a gate on anchor, laptop; one machine at a time, each judged
release-1791415813421886821: sent anchor 1 build(s) that waited for a gate; judging them there
release-1791415813421886821: sent laptop 2 build(s) that waited for a gate; judging them there
release-1791415814328726613: 2 build(s) wait for a gate on anchor, laptop; one machine at a time, each judged
release-1791415814328726613: sent anchor 1 build(s) that waited for a gate; judging them there
app's build c2 failed its gate on anchor and was put back to c1: anchor failed what it was sent
release-1791415814328726613: failed its gate on anchor: anchor failed what it was sent — app failed its gate on anchor in tier 0: anchor failed what it was sent; put back app to c1 on anchor, in one send
this act by hand could NOT be recorded in the hand-act log, and is done anyway: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus
release-1791415814402133505: 1 build(s) wait for a gate on laptop; one machine at a time, each judged
release-1791415814402133505 releases it; `plans release-1791415814402133505` says where it is
release-1791415814402133505: sent laptop 1 build(s) that waited for a gate; judging them there
laptop is not counted as on the network: it does not resolve: these assignments cannot be applied:
  - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node
laptop is not counted as on the network: it does not resolve: these assignments cannot be applied:
  - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node
build-1791412220361146929: the build seat did not say whether c1aaaaaa is on its repository's trunk (it predates ADR 0238); registered as before
build-1791412280361146929: the build seat did not say whether c2bbbbbb is on its repository's trunk (it predates ADR 0238); registered as before
app at c2bbbbbb was made from the source build-1791412220361146929 was: registered with its artifacts, no move
build-1791412340361146929: the build seat did not say whether c3cccccc is on its repository's trunk (it predates ADR 0238); registered as before
build-1791412400361146929: the build seat did not say whether c4dddddd is on its repository's trunk (it predates ADR 0238); registered as before
build-1791412221130981864: the build seat did not say whether n1111111 is on its repository's trunk (it predates ADR 0238); registered as before
build-1791412281130981864: the build seat did not say whether n2222222 is on its repository's trunk (it predates ADR 0238); registered as before
nats at n2222222 was made from the source build-1791412221130981864 was: registered with its artifacts, no move
every machine running nats runs the build the mesh holds (n2222222): nothing to upgrade
build-1791412341130981864: the build seat did not say whether n3333333 is on its repository's trunk (it predates ADR 0238); registered as before
plan-gate: app built from the source every machine running it runs: no move, nothing sent
plan-gate: done — novox/mesh-catalog at c2, 1 tier(s)
plan-gate: tier 0 built; sent 1 module(s) to anchor first in one send (app), the rest once its gate passes
status could not be composed (after 0s): the store did not answer — `status` answers the last summary, with its age
anchor is not counted as on the network: it does not resolve: these assignments cannot be applied:
  - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node
anchor is not counted as on the network: it does not resolve: these assignments cannot be applied:
  - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node
anchor is not counted as on the network: it does not resolve: these assignments cannot be applied:
  - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node
anchor is left out of the rest of the mesh: it does not resolve: these assignments cannot be applied:
  - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node
anchor is not counted as on the network: it does not resolve: these assignments cannot be applied:
  - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node
anchor is not counted as on the network: it does not resolve: these assignments cannot be applied:
  - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node
anchor is not counted as on the network: it does not resolve: these assignments cannot be applied:
  - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node
anchor is not counted as on the network: it does not resolve: these assignments cannot be applied:
  - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node
anchor is left out of the rest of the mesh: it does not resolve: these assignments cannot be applied:
  - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node
anchor is not counted as on the network: it does not resolve: these assignments cannot be applied:
  - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node
anchor is not counted as on the network: it does not resolve: these assignments cannot be applied:
  - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node
anchor is not counted as on the network: it does not resolve: these assignments cannot be applied:
  - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node
anchor is not counted as on the network: it does not resolve: these assignments cannot be applied:
  - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node
anchor is left out of the rest of the mesh: it does not resolve: these assignments cannot be applied:
  - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node
anchor is not counted as on the network: it does not resolve: these assignments cannot be applied:
  - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node
anchor is not counted as on the network: it does not resolve: these assignments cannot be applied:
  - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node
anchor is not counted as on the network: it does not resolve: these assignments cannot be applied:
  - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node
anchor is not counted as on the network: it does not resolve: these assignments cannot be applied:
  - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node
anchor is left out of the rest of the mesh: it does not resolve: these assignments cannot be applied:
  - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node
anchor is not counted as on the network: it does not resolve: these assignments cannot be applied:
  - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node
anchor is not counted as on the network: it does not resolve: these assignments cannot be applied:
  - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node
anchor is not counted as on the network: it does not resolve: these assignments cannot be applied:
  - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node
anchor is not counted as on the network: it does not resolve: these assignments cannot be applied:
  - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node
anchor is left out of the rest of the mesh: it does not resolve: these assignments cannot be applied:
  - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node
anchor is not counted as on the network: it does not resolve: these assignments cannot be applied:
  - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node
anchor is not counted as on the network: it does not resolve: these assignments cannot be applied:
  - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node
anchor is not counted as on the network: it does not resolve: these assignments cannot be applied:
  - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node
anchor is not counted as on the network: it does not resolve: these assignments cannot be applied:
  - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node
anchor is left out of the rest of the mesh: it does not resolve: these assignments cannot be applied:
  - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node
anchor is not counted as on the network: it does not resolve: these assignments cannot be applied:
  - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node
anchor is not counted as on the network: it does not resolve: these assignments cannot be applied:
  - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node
anchor is not counted as on the network: it does not resolve: these assignments cannot be applied:
  - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node
anchor is not counted as on the network: it does not resolve: these assignments cannot be applied:
  - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node
anchor is left out of the rest of the mesh: it does not resolve: these assignments cannot be applied:
  - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node
anchor is not counted as on the network: it does not resolve: these assignments cannot be applied:
  - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node
anchor is not counted as on the network: it does not resolve: these assignments cannot be applied:
  - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node
anchor is not counted as on the network: it does not resolve: these assignments cannot be applied:
  - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node
anchor is not counted as on the network: it does not resolve: these assignments cannot be applied:
  - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node
anchor is left out of the rest of the mesh: it does not resolve: these assignments cannot be applied:
  - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node
anchor is not counted as on the network: it does not resolve: these assignments cannot be applied:
  - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node
this act by hand could NOT be recorded in the hand-act log, and is done anyway: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus
plan-97b1b2b closed at tier 1 of 2; what was asked still builds and registers, nothing further is asked
plan-tier: tier 0 built; sent 12 module(s) to anchor first in one send (m01, m02, m03, m04, m05, m06, m07, m08, m09, m10, m11, m12), the rest once its gate passes
plan-tier: m01 passed its gate on anchor (healthy 3 times over 0s); the rest are sent
plan-tier: tier 0 built; sent m01, m02, m03, m04, m05, m06, m07, m08, m09, m10, m11, m12 to laptop, one send each
plan-tier: done — novox/mesh-catalog at c2, 1 tier(s)
plan-tier: tier 0 built; sent 3 module(s) to anchor first in one send (app1, app2, node-tools), the rest once its gate passes
node-tools's build c2 failed its gate on anchor and was put back to c1: not healthy within -1s of its apply: raised since it was sent: machine.anchor.core-behind — anchor runs the node tools it was last sent, not yet reported applied, and no plan is rolling them out (its settle window runs to the gate's bound)
plan-tier: the send to anchor in tier 0 failed its gate: not healthy within -1s of its apply: raised since it was sent: machine.anchor.core-behind — anchor runs the node tools it was last sent, not yet reported applied, and no plan is rolling them out (its settle window runs to the gate's bound); app1 was not found wanting and is left as it is; node-tools failed its gate on anchor in tier 0: not healthy within -1s of its apply: raised since it was sent: machine.anchor.core-behind — anchor runs the node tools it was last sent, not yet reported applied, and no plan is rolling them out (its settle window runs to the gate's bound); put back node-tools to c1 on anchor, in one send; none reported left as it was
plan-tier: tier 0 built; sent 3 module(s) to anchor first in one send (app1, app2, app3), the rest once its gate passes
app1's build c2 failed its gate on anchor and was put back to c1: not healthy within -1s of its apply: anchor as a whole: raised since it was sent: machine.anchor.disk-full — anchor's root file system is full
app2's build c2 failed its gate on anchor and was put back to c1: not healthy within -1s of its apply: anchor as a whole: raised since it was sent: machine.anchor.disk-full — anchor's root file system is full
app3's build c2 failed its gate on anchor and was put back to c1: not healthy within -1s of its apply: anchor as a whole: raised since it was sent: machine.anchor.disk-full — anchor's root file system is full
plan-tier: app1 failed its gate on anchor in tier 0: not healthy within -1s of its apply: anchor as a whole: raised since it was sent: machine.anchor.disk-full — anchor's root file system is full; app2 failed its gate on anchor in tier 0: not healthy within -1s of its apply: anchor as a whole: raised since it was sent: machine.anchor.disk-full — anchor's root file system is full; app3 failed its gate on anchor in tier 0: not healthy within -1s of its apply: anchor as a whole: raised since it was sent: machine.anchor.disk-full — anchor's root file system is full; put back app1 to c1, app2 to c1, app3 to c1 on anchor, in one send; none reported left as it was
plan-gate: tier 0 built; sent 1 module(s) to anchor first in one send (app), the rest once its gate passes
plan-gate: the send to anchor in tier 0 failed its gate: not healthy within -1s of its apply: anchor has not reported on what it was sent; app was left as it was — anchor already ran app c2, or a build identical to it, before the send, so nothing of it moved and nothing is put back
plan-gate: the send to anchor in tier 0 failed its gate: not healthy within -1s of its apply: anchor has not reported on what it was sent; app was left as it was — anchor already ran app c2, or a build identical to it, before the send, so nothing of it moved and nothing is put back; none reported left as it was
  tier 0: FAIL
FAIL	github.com/novox/mesh-controller/cmd/mesh-controller	189.675s
ok  	github.com/novox/mesh-controller/examples/objectstore-provisioner	1.020s
ok  	github.com/novox/mesh-controller/examples/postgres-provisioner	1.023s
ok  	github.com/novox/mesh-controller/examples/redis-provisioner	1.021s
ok  	github.com/novox/mesh-controller/examples/route-proxy	1.155s
ok  	github.com/novox/mesh-controller/internal/artifacts	1.037s
ok  	github.com/novox/mesh-controller/internal/broker	2.442s
ok  	github.com/novox/mesh-controller/internal/builder	1.268s
--- FAIL: TestEveryCatalogueManifestParses (0.18s)
    catalogue_check_test.go:44: systemd-resolved: this manifest cannot be used:
          - systemd-resolved claims "node-resolver", which is a seat in the mesh's own namespace (mesh-*/node-*) that it does not define (novox/hq ADR 0121) — the seats are: git, mesh-artifact-store, mesh-broker, mesh-build-machine, mesh-catalog, mesh-controller, mesh-delivery, mesh-dns-resolver, mesh-store, mesh-vault, node-backup, node-bar, node-build-agent, node-clipboard, node-compositor, node-container-runtime, node-display-server, node-display-session, node-environment, node-hostname, node-hotkeys, node-intrusion-prevention, node-launcher, node-lock-screen, node-login-manager, node-login-shell, node-message-bus, node-notifier, node-package-manager, node-packet-filter, node-power, node-secret-service, node-service-manager, node-terminal-emulator, node-uplink, npm-package-registry, the-private-network
    catalogue_check_test.go:57: 114 manifests, 68 named endpoints, 30 routed endpoints resolved
--- FAIL: TestNoCatalogueManifestNamesAnInstallation (0.60s)
    catalogue_check_test.go:80: ../../../mesh-catalog/modules/systemd-resolved/module.json: this manifest cannot be used:
          - systemd-resolved claims "node-resolver", which is a seat in the mesh's own namespace (mesh-*/node-*) that it does not define (novox/hq ADR 0121) — the seats are: git, mesh-artifact-store, mesh-broker, mesh-build-machine, mesh-catalog, mesh-controller, mesh-delivery, mesh-dns-resolver, mesh-store, mesh-vault, node-backup, node-bar, node-build-agent, node-clipboard, node-compositor, node-container-runtime, node-display-server, node-display-session, node-environment, node-hostname, node-hotkeys, node-intrusion-prevention, node-launcher, node-lock-screen, node-login-manager, node-login-shell, node-message-bus, node-notifier, node-package-manager, node-packet-filter, node-power, node-secret-service, node-service-manager, node-terminal-emulator, node-uplink, npm-package-registry, the-private-network
--- FAIL: TestEveryCatalogueIdentityFitsWhatItRequires (0.23s)
    catalogue_check_test.go:142: ../../../mesh-catalog/modules/systemd-resolved/module.json: this manifest cannot be used:
          - systemd-resolved claims "node-resolver", which is a seat in the mesh's own namespace (mesh-*/node-*) that it does not define (novox/hq ADR 0121) — the seats are: git, mesh-artifact-store, mesh-broker, mesh-build-machine, mesh-catalog, mesh-controller, mesh-delivery, mesh-dns-resolver, mesh-store, mesh-vault, node-backup, node-bar, node-build-agent, node-clipboard, node-compositor, node-container-runtime, node-display-server, node-display-session, node-environment, node-hostname, node-hotkeys, node-intrusion-prevention, node-launcher, node-lock-screen, node-login-manager, node-login-shell, node-message-bus, node-notifier, node-package-manager, node-packet-filter, node-power, node-secret-service, node-service-manager, node-terminal-emulator, node-uplink, npm-package-registry, the-private-network
--- FAIL: TestEveryCatalogueManifestDeclaresWhatItMounts (0.19s)
    mounts_test.go:87: systemd-resolved: this manifest cannot be used:
          - systemd-resolved claims "node-resolver", which is a seat in the mesh's own namespace (mesh-*/node-*) that it does not define (novox/hq ADR 0121) — the seats are: git, mesh-artifact-store, mesh-broker, mesh-build-machine, mesh-catalog, mesh-controller, mesh-delivery, mesh-dns-resolver, mesh-store, mesh-vault, node-backup, node-bar, node-build-agent, node-clipboard, node-compositor, node-container-runtime, node-display-server, node-display-session, node-environment, node-hostname, node-hotkeys, node-intrusion-prevention, node-launcher, node-lock-screen, node-login-manager, node-login-shell, node-message-bus, node-notifier, node-package-manager, node-packet-filter, node-power, node-secret-service, node-service-manager, node-terminal-emulator, node-uplink, npm-package-registry, the-private-network
--- FAIL: TestTheCataloguesUplinksWriteTheResolverFileAndNothingElseDoes (0.14s)
    resolver_file_is_the_uplinks_test.go:45: systemd-resolved writes /etc/resolv.conf and does not hold the uplink
--- FAIL: TestEveryManifestInUseClaimsASeatTheMeshDefines (0.14s)
    seats_test.go:218: ../../../mesh-catalog/modules/systemd-resolved/module.json: systemd-resolved claims "node-resolver", which is a seat in the mesh's own namespace (mesh-*/node-*) that it does not define (novox/hq ADR 0121) — the seats are: git, mesh-artifact-store, mesh-broker, mesh-build-machine, mesh-catalog, mesh-controller, mesh-delivery, mesh-dns-resolver, mesh-store, mesh-vault, node-backup, node-bar, node-build-agent, node-clipboard, node-compositor, node-container-runtime, node-display-server, node-display-session, node-environment, node-hostname, node-hotkeys, node-intrusion-prevention, node-launcher, node-lock-screen, node-login-manager, node-login-shell, node-message-bus, node-notifier, node-package-manager, node-packet-filter, node-power, node-secret-service, node-service-manager, node-terminal-emulator, node-uplink, npm-package-registry, the-private-network
FAIL
FAIL	github.com/novox/mesh-controller/internal/catalogue	2.769s
ok  	github.com/novox/mesh-controller/internal/conditions	1.945s
ok  	github.com/novox/mesh-controller/internal/envfile	1.022s
ok  	github.com/novox/mesh-controller/internal/facts	1.026s
ok  	github.com/novox/mesh-controller/internal/identity	6.431s
ok  	github.com/novox/mesh-controller/internal/inventory	101.121s
ok  	github.com/novox/mesh-controller/internal/lease	17.688s
ok  	github.com/novox/mesh-controller/internal/licences	5.658s
ok  	github.com/novox/mesh-controller/internal/licences/adapters	1.012s
ok  	github.com/novox/mesh-controller/internal/link	50.483s
ok  	github.com/novox/mesh-controller/internal/lint	1.780s
ok  	github.com/novox/mesh-controller/internal/outward	1.040s
ok  	github.com/novox/mesh-controller/internal/overlay	1.028s
ok  	github.com/novox/mesh-controller/internal/secrets	1.446s
ok  	github.com/novox/mesh-controller/internal/store	3.786s
ok  	github.com/novox/mesh-controller/internal/testbus	1.194s
ok  	github.com/novox/mesh-controller/internal/token	1.015s
FAIL
**Merge check** at `8bf7026d` - `mesh/merge-gate`: **ERROR** — the mesh as it is could not be raised, so the change cannot be judged against it (4 of 4 machines compose on the mesh and not in the gate); the first: a machine (f35) composes on the mesh and not as the gate raised it from the snapshot: these assignments cannot be applied: - f35 needs "artifact-store" from ygcyr, and they are not both on the private network — assign mesh-wireguard to whichever is missing it - f35 needs "internal-acme-ca" from ygcyr, and they are not both on the private network — assign mesh-wireguard to whichever is missing it - f35 needs "npm-package-registry" from ygcyr, and they are not both on the private network — assign mesh-wireguard to whichever is missing it - f35 needs "wildcard-resolution" from ygcyr, and they are not both on the private network — assign mesh-wireguard to whichever is missing it - systemd-resolved and networkmanager both declare the path "/etc/resolv.conf" (modules: build-agent, mesh-controller, route-proxy) - `mesh/repo-check`: **FAIL** — its merge-check.sh failed: --- FAIL: TestEveryCatalogueManifestParses (0.18s) **Delivery plan** — builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step - tier 0: mesh-controller - tier 1: build-agent - tier 2: route-proxy - ace: receives build-agent, route-proxy - g14: receives build-agent - novox: receives mesh-controller, build-agent, route-proxy - shanks: receives build-agent - build-agent keeps data (ADR 0233): what it holds is backed up before it moves - route-proxy provides route: its consumers are sent again after it - route-proxy keeps data (ADR 0233): what it holds is backed up before it moves Run by the build seat on g14 as `build-1791415530514803850` (`builds --log build-1791415530514803850`). ``` tier 0: plan-retry: tier 0 done; asking tier 1: b tier 1: tier 0: rebuild asked as build-1791415797075913159, joining plan-join at tier 0 (novox/a at c0ffee): the plan takes this build as a's outcome; the plan had failed and builds again from this tier rebuild asked as build-1791415797119787856 build-1791415797716052837: could not build https://forge.example/novox/a.git: cancelled by hand plan-cancel: a failed to build in tier 0; the tiers after it are not asked cancelled build-1791415797716052837 (https://forge.example/novox/a.git, waiting): deleted from the node-build-agent queue and recorded failed, cancelled by hand — a plan that asked for it fails with that build-1791415798419078135: could not build https://forge.example/novox/w1.git: cancelled by hand build-1791415798420078135: could not build https://forge.example/novox/w2.git: cancelled by hand build-1791415798418078135: could not build https://forge.example/novox/dead.git: cancelled by hand could not read what is assigned, so the build is asked of node-build-agent: this process has neither MESH_STORE_INVENTORY nor MESH_STORE_INVENTORY_FILE, so it was not granted the inventory store. A context reaches only the store it exclusively owns (novox/hq ADR 0008), so this is either the wrong context or a missing grant — it is never something to work around by reusing another context's connection ace: killed build-running could not read what is assigned, so the build is asked of node-build-agent: this process has neither MESH_STORE_INVENTORY nor MESH_STORE_INVENTORY_FILE, so it was not granted the inventory store. A context reaches only the store it exclusively owns (novox/hq ADR 0008), so this is either the wrong context or a missing grant — it is never something to work around by reusing another context's connection ace: ace is not building build-other could not read what is assigned, so the build is asked of node-build-agent: this process has neither MESH_STORE_INVENTORY nor MESH_STORE_INVENTORY_FILE, so it was not granted the inventory store. A context reaches only the store it exclusively owns (novox/hq ADR 0008), so this is either the wrong context or a missing grant — it is never something to work around by reusing another context's connection could not read what is assigned, so the build is asked of node-build-agent: this process has neither MESH_STORE_INVENTORY nor MESH_STORE_INVENTORY_FILE, so it was not granted the inventory store. A context reaches only the store it exclusively owns (novox/hq ADR 0008), so this is either the wrong context or a missing grant — it is never something to work around by reusing another context's connection ace: ace is paused could not read what is assigned, so the build is asked of node-build-agent: this process has neither MESH_STORE_INVENTORY nor MESH_STORE_INVENTORY_FILE, so it was not granted the inventory store. A context reaches only the store it exclusively owns (novox/hq ADR 0008), so this is either the wrong context or a missing grant — it is never something to work around by reusing another context's connection g14: nothing on g14 answers node-build-agent.resume: its holder is not running, or is older than the verb plan-rollout: tier 0 done; asking tier 1: b tier 1: plan-own: done — novox/a at c0ffee, 1 tier(s) build-at-commit was built at commit 01234567; a rebuild asks what a follows now, main — `replay build-at-commit` builds that commit rebuild asked as build-1791415809715214513 plan-1: mesh-controller settled from the build records as built (build-2) plan-3: postgres settled from the build records as built (build-mine) plan-2: x settled from the build records as failed (b) release-1791415813421886821: 2 build(s) wait for a gate on anchor, laptop; one machine at a time, each judged release-1791415813421886821: sent anchor 1 build(s) that waited for a gate; judging them there release-1791415813421886821: sent laptop 2 build(s) that waited for a gate; judging them there release-1791415814328726613: 2 build(s) wait for a gate on anchor, laptop; one machine at a time, each judged release-1791415814328726613: sent anchor 1 build(s) that waited for a gate; judging them there app's build c2 failed its gate on anchor and was put back to c1: anchor failed what it was sent release-1791415814328726613: failed its gate on anchor: anchor failed what it was sent — app failed its gate on anchor in tier 0: anchor failed what it was sent; put back app to c1 on anchor, in one send this act by hand could NOT be recorded in the hand-act log, and is done anyway: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus release-1791415814402133505: 1 build(s) wait for a gate on laptop; one machine at a time, each judged release-1791415814402133505 releases it; `plans release-1791415814402133505` says where it is release-1791415814402133505: sent laptop 1 build(s) that waited for a gate; judging them there laptop is not counted as on the network: it does not resolve: these assignments cannot be applied: - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node laptop is not counted as on the network: it does not resolve: these assignments cannot be applied: - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node build-1791412220361146929: the build seat did not say whether c1aaaaaa is on its repository's trunk (it predates ADR 0238); registered as before build-1791412280361146929: the build seat did not say whether c2bbbbbb is on its repository's trunk (it predates ADR 0238); registered as before app at c2bbbbbb was made from the source build-1791412220361146929 was: registered with its artifacts, no move build-1791412340361146929: the build seat did not say whether c3cccccc is on its repository's trunk (it predates ADR 0238); registered as before build-1791412400361146929: the build seat did not say whether c4dddddd is on its repository's trunk (it predates ADR 0238); registered as before build-1791412221130981864: the build seat did not say whether n1111111 is on its repository's trunk (it predates ADR 0238); registered as before build-1791412281130981864: the build seat did not say whether n2222222 is on its repository's trunk (it predates ADR 0238); registered as before nats at n2222222 was made from the source build-1791412221130981864 was: registered with its artifacts, no move every machine running nats runs the build the mesh holds (n2222222): nothing to upgrade build-1791412341130981864: the build seat did not say whether n3333333 is on its repository's trunk (it predates ADR 0238); registered as before plan-gate: app built from the source every machine running it runs: no move, nothing sent plan-gate: done — novox/mesh-catalog at c2, 1 tier(s) plan-gate: tier 0 built; sent 1 module(s) to anchor first in one send (app), the rest once its gate passes status could not be composed (after 0s): the store did not answer — `status` answers the last summary, with its age anchor is not counted as on the network: it does not resolve: these assignments cannot be applied: - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node anchor is not counted as on the network: it does not resolve: these assignments cannot be applied: - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node anchor is not counted as on the network: it does not resolve: these assignments cannot be applied: - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node anchor is left out of the rest of the mesh: it does not resolve: these assignments cannot be applied: - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node anchor is not counted as on the network: it does not resolve: these assignments cannot be applied: - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node anchor is not counted as on the network: it does not resolve: these assignments cannot be applied: - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node anchor is not counted as on the network: it does not resolve: these assignments cannot be applied: - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node anchor is not counted as on the network: it does not resolve: these assignments cannot be applied: - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node anchor is left out of the rest of the mesh: it does not resolve: these assignments cannot be applied: - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node anchor is not counted as on the network: it does not resolve: these assignments cannot be applied: - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node anchor is not counted as on the network: it does not resolve: these assignments cannot be applied: - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node anchor is not counted as on the network: it does not resolve: these assignments cannot be applied: - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node anchor is not counted as on the network: it does not resolve: these assignments cannot be applied: - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node anchor is left out of the rest of the mesh: it does not resolve: these assignments cannot be applied: - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node anchor is not counted as on the network: it does not resolve: these assignments cannot be applied: - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node anchor is not counted as on the network: it does not resolve: these assignments cannot be applied: - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node anchor is not counted as on the network: it does not resolve: these assignments cannot be applied: - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node anchor is not counted as on the network: it does not resolve: these assignments cannot be applied: - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node anchor is left out of the rest of the mesh: it does not resolve: these assignments cannot be applied: - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node anchor is not counted as on the network: it does not resolve: these assignments cannot be applied: - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node anchor is not counted as on the network: it does not resolve: these assignments cannot be applied: - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node anchor is not counted as on the network: it does not resolve: these assignments cannot be applied: - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node anchor is not counted as on the network: it does not resolve: these assignments cannot be applied: - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node anchor is left out of the rest of the mesh: it does not resolve: these assignments cannot be applied: - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node anchor is not counted as on the network: it does not resolve: these assignments cannot be applied: - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node anchor is not counted as on the network: it does not resolve: these assignments cannot be applied: - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node anchor is not counted as on the network: it does not resolve: these assignments cannot be applied: - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node anchor is not counted as on the network: it does not resolve: these assignments cannot be applied: - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node anchor is left out of the rest of the mesh: it does not resolve: these assignments cannot be applied: - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node anchor is not counted as on the network: it does not resolve: these assignments cannot be applied: - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node anchor is not counted as on the network: it does not resolve: these assignments cannot be applied: - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node anchor is not counted as on the network: it does not resolve: these assignments cannot be applied: - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node anchor is not counted as on the network: it does not resolve: these assignments cannot be applied: - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node anchor is left out of the rest of the mesh: it does not resolve: these assignments cannot be applied: - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node anchor is not counted as on the network: it does not resolve: these assignments cannot be applied: - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node anchor is not counted as on the network: it does not resolve: these assignments cannot be applied: - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node anchor is not counted as on the network: it does not resolve: these assignments cannot be applied: - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node anchor is not counted as on the network: it does not resolve: these assignments cannot be applied: - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node anchor is left out of the rest of the mesh: it does not resolve: these assignments cannot be applied: - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node anchor is not counted as on the network: it does not resolve: these assignments cannot be applied: - rival-one and rival-two both claim "the-seat", and only one thing may hold it per node this act by hand could NOT be recorded in the hand-act log, and is done anyway: this control plane has no MESH_BUS_NATS, so it cannot reach the mesh's bus plan-97b1b2b closed at tier 1 of 2; what was asked still builds and registers, nothing further is asked plan-tier: tier 0 built; sent 12 module(s) to anchor first in one send (m01, m02, m03, m04, m05, m06, m07, m08, m09, m10, m11, m12), the rest once its gate passes plan-tier: m01 passed its gate on anchor (healthy 3 times over 0s); the rest are sent plan-tier: tier 0 built; sent m01, m02, m03, m04, m05, m06, m07, m08, m09, m10, m11, m12 to laptop, one send each plan-tier: done — novox/mesh-catalog at c2, 1 tier(s) plan-tier: tier 0 built; sent 3 module(s) to anchor first in one send (app1, app2, node-tools), the rest once its gate passes node-tools's build c2 failed its gate on anchor and was put back to c1: not healthy within -1s of its apply: raised since it was sent: machine.anchor.core-behind — anchor runs the node tools it was last sent, not yet reported applied, and no plan is rolling them out (its settle window runs to the gate's bound) plan-tier: the send to anchor in tier 0 failed its gate: not healthy within -1s of its apply: raised since it was sent: machine.anchor.core-behind — anchor runs the node tools it was last sent, not yet reported applied, and no plan is rolling them out (its settle window runs to the gate's bound); app1 was not found wanting and is left as it is; node-tools failed its gate on anchor in tier 0: not healthy within -1s of its apply: raised since it was sent: machine.anchor.core-behind — anchor runs the node tools it was last sent, not yet reported applied, and no plan is rolling them out (its settle window runs to the gate's bound); put back node-tools to c1 on anchor, in one send; none reported left as it was plan-tier: tier 0 built; sent 3 module(s) to anchor first in one send (app1, app2, app3), the rest once its gate passes app1's build c2 failed its gate on anchor and was put back to c1: not healthy within -1s of its apply: anchor as a whole: raised since it was sent: machine.anchor.disk-full — anchor's root file system is full app2's build c2 failed its gate on anchor and was put back to c1: not healthy within -1s of its apply: anchor as a whole: raised since it was sent: machine.anchor.disk-full — anchor's root file system is full app3's build c2 failed its gate on anchor and was put back to c1: not healthy within -1s of its apply: anchor as a whole: raised since it was sent: machine.anchor.disk-full — anchor's root file system is full plan-tier: app1 failed its gate on anchor in tier 0: not healthy within -1s of its apply: anchor as a whole: raised since it was sent: machine.anchor.disk-full — anchor's root file system is full; app2 failed its gate on anchor in tier 0: not healthy within -1s of its apply: anchor as a whole: raised since it was sent: machine.anchor.disk-full — anchor's root file system is full; app3 failed its gate on anchor in tier 0: not healthy within -1s of its apply: anchor as a whole: raised since it was sent: machine.anchor.disk-full — anchor's root file system is full; put back app1 to c1, app2 to c1, app3 to c1 on anchor, in one send; none reported left as it was plan-gate: tier 0 built; sent 1 module(s) to anchor first in one send (app), the rest once its gate passes plan-gate: the send to anchor in tier 0 failed its gate: not healthy within -1s of its apply: anchor has not reported on what it was sent; app was left as it was — anchor already ran app c2, or a build identical to it, before the send, so nothing of it moved and nothing is put back plan-gate: the send to anchor in tier 0 failed its gate: not healthy within -1s of its apply: anchor has not reported on what it was sent; app was left as it was — anchor already ran app c2, or a build identical to it, before the send, so nothing of it moved and nothing is put back; none reported left as it was tier 0: FAIL FAIL github.com/novox/mesh-controller/cmd/mesh-controller 189.675s ok github.com/novox/mesh-controller/examples/objectstore-provisioner 1.020s ok github.com/novox/mesh-controller/examples/postgres-provisioner 1.023s ok github.com/novox/mesh-controller/examples/redis-provisioner 1.021s ok github.com/novox/mesh-controller/examples/route-proxy 1.155s ok github.com/novox/mesh-controller/internal/artifacts 1.037s ok github.com/novox/mesh-controller/internal/broker 2.442s ok github.com/novox/mesh-controller/internal/builder 1.268s --- FAIL: TestEveryCatalogueManifestParses (0.18s) catalogue_check_test.go:44: systemd-resolved: this manifest cannot be used: - systemd-resolved claims "node-resolver", which is a seat in the mesh's own namespace (mesh-*/node-*) that it does not define (novox/hq ADR 0121) — the seats are: git, mesh-artifact-store, mesh-broker, mesh-build-machine, mesh-catalog, mesh-controller, mesh-delivery, mesh-dns-resolver, mesh-store, mesh-vault, node-backup, node-bar, node-build-agent, node-clipboard, node-compositor, node-container-runtime, node-display-server, node-display-session, node-environment, node-hostname, node-hotkeys, node-intrusion-prevention, node-launcher, node-lock-screen, node-login-manager, node-login-shell, node-message-bus, node-notifier, node-package-manager, node-packet-filter, node-power, node-secret-service, node-service-manager, node-terminal-emulator, node-uplink, npm-package-registry, the-private-network catalogue_check_test.go:57: 114 manifests, 68 named endpoints, 30 routed endpoints resolved --- FAIL: TestNoCatalogueManifestNamesAnInstallation (0.60s) catalogue_check_test.go:80: ../../../mesh-catalog/modules/systemd-resolved/module.json: this manifest cannot be used: - systemd-resolved claims "node-resolver", which is a seat in the mesh's own namespace (mesh-*/node-*) that it does not define (novox/hq ADR 0121) — the seats are: git, mesh-artifact-store, mesh-broker, mesh-build-machine, mesh-catalog, mesh-controller, mesh-delivery, mesh-dns-resolver, mesh-store, mesh-vault, node-backup, node-bar, node-build-agent, node-clipboard, node-compositor, node-container-runtime, node-display-server, node-display-session, node-environment, node-hostname, node-hotkeys, node-intrusion-prevention, node-launcher, node-lock-screen, node-login-manager, node-login-shell, node-message-bus, node-notifier, node-package-manager, node-packet-filter, node-power, node-secret-service, node-service-manager, node-terminal-emulator, node-uplink, npm-package-registry, the-private-network --- FAIL: TestEveryCatalogueIdentityFitsWhatItRequires (0.23s) catalogue_check_test.go:142: ../../../mesh-catalog/modules/systemd-resolved/module.json: this manifest cannot be used: - systemd-resolved claims "node-resolver", which is a seat in the mesh's own namespace (mesh-*/node-*) that it does not define (novox/hq ADR 0121) — the seats are: git, mesh-artifact-store, mesh-broker, mesh-build-machine, mesh-catalog, mesh-controller, mesh-delivery, mesh-dns-resolver, mesh-store, mesh-vault, node-backup, node-bar, node-build-agent, node-clipboard, node-compositor, node-container-runtime, node-display-server, node-display-session, node-environment, node-hostname, node-hotkeys, node-intrusion-prevention, node-launcher, node-lock-screen, node-login-manager, node-login-shell, node-message-bus, node-notifier, node-package-manager, node-packet-filter, node-power, node-secret-service, node-service-manager, node-terminal-emulator, node-uplink, npm-package-registry, the-private-network --- FAIL: TestEveryCatalogueManifestDeclaresWhatItMounts (0.19s) mounts_test.go:87: systemd-resolved: this manifest cannot be used: - systemd-resolved claims "node-resolver", which is a seat in the mesh's own namespace (mesh-*/node-*) that it does not define (novox/hq ADR 0121) — the seats are: git, mesh-artifact-store, mesh-broker, mesh-build-machine, mesh-catalog, mesh-controller, mesh-delivery, mesh-dns-resolver, mesh-store, mesh-vault, node-backup, node-bar, node-build-agent, node-clipboard, node-compositor, node-container-runtime, node-display-server, node-display-session, node-environment, node-hostname, node-hotkeys, node-intrusion-prevention, node-launcher, node-lock-screen, node-login-manager, node-login-shell, node-message-bus, node-notifier, node-package-manager, node-packet-filter, node-power, node-secret-service, node-service-manager, node-terminal-emulator, node-uplink, npm-package-registry, the-private-network --- FAIL: TestTheCataloguesUplinksWriteTheResolverFileAndNothingElseDoes (0.14s) resolver_file_is_the_uplinks_test.go:45: systemd-resolved writes /etc/resolv.conf and does not hold the uplink --- FAIL: TestEveryManifestInUseClaimsASeatTheMeshDefines (0.14s) seats_test.go:218: ../../../mesh-catalog/modules/systemd-resolved/module.json: systemd-resolved claims "node-resolver", which is a seat in the mesh's own namespace (mesh-*/node-*) that it does not define (novox/hq ADR 0121) — the seats are: git, mesh-artifact-store, mesh-broker, mesh-build-machine, mesh-catalog, mesh-controller, mesh-delivery, mesh-dns-resolver, mesh-store, mesh-vault, node-backup, node-bar, node-build-agent, node-clipboard, node-compositor, node-container-runtime, node-display-server, node-display-session, node-environment, node-hostname, node-hotkeys, node-intrusion-prevention, node-launcher, node-lock-screen, node-login-manager, node-login-shell, node-message-bus, node-notifier, node-package-manager, node-packet-filter, node-power, node-secret-service, node-service-manager, node-terminal-emulator, node-uplink, npm-package-registry, the-private-network FAIL FAIL github.com/novox/mesh-controller/internal/catalogue 2.769s ok github.com/novox/mesh-controller/internal/conditions 1.945s ok github.com/novox/mesh-controller/internal/envfile 1.022s ok github.com/novox/mesh-controller/internal/facts 1.026s ok github.com/novox/mesh-controller/internal/identity 6.431s ok github.com/novox/mesh-controller/internal/inventory 101.121s ok github.com/novox/mesh-controller/internal/lease 17.688s ok github.com/novox/mesh-controller/internal/licences 5.658s ok github.com/novox/mesh-controller/internal/licences/adapters 1.012s ok github.com/novox/mesh-controller/internal/link 50.483s ok github.com/novox/mesh-controller/internal/lint 1.780s ok github.com/novox/mesh-controller/internal/outward 1.040s ok github.com/novox/mesh-controller/internal/overlay 1.028s ok github.com/novox/mesh-controller/internal/secrets 1.446s ok github.com/novox/mesh-controller/internal/store 3.786s ok github.com/novox/mesh-controller/internal/testbus 1.194s ok github.com/novox/mesh-controller/internal/token 1.015s FAIL ```
jschoubben added 1 commit 2026-10-07 23:42:25 +00:00
Cite the hq issues by the numbers they were given: 285, 286, 287
mesh/merge-gate pass: builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step; every machine composes with the change as it…
mesh/repo-check pass: its merge-check.sh passed
mesh/delivery covered: a later merge that contains it was delivered: novox/mesh-controller@6faf701656fe (merged as c714d077 into main, walk plan-17914198…
56b206fe04
(cherry picked from commit 8bf7026d97)
jschoubben force-pushed fix/gate-baseline-composes from 8bf7026d97 to 56b206fe04 2026-10-07 23:42:25 +00:00 Compare
Author
Contributor

Merge check at 56b206fe

  • mesh/merge-gate: PASS — every machine composes with the change as it did without (4 of 4 compose) (modules: build-agent, mesh-controller, route-proxy)
  • mesh/repo-check: PASS — its merge-check.sh passed

Delivery plan — builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step

  • tier 0: mesh-controller
  • tier 1: build-agent
  • tier 2: route-proxy
  • ace: receives build-agent, route-proxy
  • g14: receives build-agent
  • novox: receives mesh-controller, build-agent, route-proxy
  • shanks: receives build-agent
  • build-agent keeps data (ADR 0233): what it holds is backed up before it moves
  • route-proxy provides route: its consumers are sent again after it
  • route-proxy keeps data (ADR 0233): what it holds is backed up before it moves

Run by the build seat on g14 as build-1791416586636764170 (builds --log build-1791416586636764170).

--- the gate: build-agent, mesh-controller, route-proxy
mesh-controller: ok, 46 tool(s); WARNING: controller stay(s) up and say(s) not how it is ready — judged by liveness alone, refused from 2026-11-18 (ADR 0240 rule 8)
long-running resources without health: 1
1 manifest(s) checked. Judged against the seats this binary carries; a claim on one of the mesh's own seats is judged fully at registration, and a seat declared by a module not given here reads as unknown. Identities judged on a 6-character machine name, against the bounds of the providers given here
judging 0 module(s) changed against 4 machine(s), as the snapshot of 2026-10-07T23:44:12Z says they run
composing every machine as the mesh is
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
composing every machine with the change
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
merge gate: PASS — every machine composes with the change as it did without (4 of 4 compose)
judged by controller development build against the facts of 2026-10-07T23:44:12Z

machines:
  - a machine (f35): composes
  - holds mesh-dns-resolver (idt): composes
  - holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-delivery, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr): composes
  - a machine (yvbpsm): composes

a merge would rebuild 3 module(s) in 3 tier(s): build-agent, mesh-controller, route-proxy
--- its merge-check.sh (go toolchain)
ok  	github.com/novox/mesh-controller/cmd/mesh-builder	1.031s
ok  	github.com/novox/mesh-controller/cmd/mesh-controller	311.844s
ok  	github.com/novox/mesh-controller/examples/objectstore-provisioner	1.013s
ok  	github.com/novox/mesh-controller/examples/postgres-provisioner	1.016s
ok  	github.com/novox/mesh-controller/examples/redis-provisioner	1.013s
ok  	github.com/novox/mesh-controller/examples/route-proxy	1.198s
ok  	github.com/novox/mesh-controller/internal/artifacts	1.040s
ok  	github.com/novox/mesh-controller/internal/broker	2.490s
ok  	github.com/novox/mesh-controller/internal/builder	1.328s
ok  	github.com/novox/mesh-controller/internal/catalogue	3.936s
ok  	github.com/novox/mesh-controller/internal/conditions	1.998s
ok  	github.com/novox/mesh-controller/internal/envfile	1.043s
ok  	github.com/novox/mesh-controller/internal/facts	1.030s
ok  	github.com/novox/mesh-controller/internal/identity	13.345s
ok  	github.com/novox/mesh-controller/internal/inventory	213.083s
ok  	github.com/novox/mesh-controller/internal/lease	17.679s
ok  	github.com/novox/mesh-controller/internal/licences	9.798s
ok  	github.com/novox/mesh-controller/internal/licences/adapters	1.012s
ok  	github.com/novox/mesh-controller/internal/link	64.237s
ok  	github.com/novox/mesh-controller/internal/lint	1.850s
ok  	github.com/novox/mesh-controller/internal/outward	1.040s
ok  	github.com/novox/mesh-controller/internal/overlay	1.024s
ok  	github.com/novox/mesh-controller/internal/secrets	1.453s
ok  	github.com/novox/mesh-controller/internal/store	4.494s
ok  	github.com/novox/mesh-controller/internal/testbus	1.184s
ok  	github.com/novox/mesh-controller/internal/token	1.017s
**Merge check** at `56b206fe` - `mesh/merge-gate`: **PASS** — every machine composes with the change as it did without (4 of 4 compose) (modules: build-agent, mesh-controller, route-proxy) - `mesh/repo-check`: **PASS** — its merge-check.sh passed **Delivery plan** — builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step - tier 0: mesh-controller - tier 1: build-agent - tier 2: route-proxy - ace: receives build-agent, route-proxy - g14: receives build-agent - novox: receives mesh-controller, build-agent, route-proxy - shanks: receives build-agent - build-agent keeps data (ADR 0233): what it holds is backed up before it moves - route-proxy provides route: its consumers are sent again after it - route-proxy keeps data (ADR 0233): what it holds is backed up before it moves Run by the build seat on g14 as `build-1791416586636764170` (`builds --log build-1791416586636764170`). ``` --- the gate: build-agent, mesh-controller, route-proxy mesh-controller: ok, 46 tool(s); WARNING: controller stay(s) up and say(s) not how it is ready — judged by liveness alone, refused from 2026-11-18 (ADR 0240 rule 8) long-running resources without health: 1 1 manifest(s) checked. Judged against the seats this binary carries; a claim on one of the mesh's own seats is judged fully at registration, and a seat declared by a module not given here reads as unknown. Identities judged on a 6-character machine name, against the bounds of the providers given here judging 0 module(s) changed against 4 machine(s), as the snapshot of 2026-10-07T23:44:12Z says they run composing every machine as the mesh is the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued composing every machine with the change the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued merge gate: PASS — every machine composes with the change as it did without (4 of 4 compose) judged by controller development build against the facts of 2026-10-07T23:44:12Z machines: - a machine (f35): composes - holds mesh-dns-resolver (idt): composes - holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-delivery, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr): composes - a machine (yvbpsm): composes a merge would rebuild 3 module(s) in 3 tier(s): build-agent, mesh-controller, route-proxy --- its merge-check.sh (go toolchain) ok github.com/novox/mesh-controller/cmd/mesh-builder 1.031s ok github.com/novox/mesh-controller/cmd/mesh-controller 311.844s ok github.com/novox/mesh-controller/examples/objectstore-provisioner 1.013s ok github.com/novox/mesh-controller/examples/postgres-provisioner 1.016s ok github.com/novox/mesh-controller/examples/redis-provisioner 1.013s ok github.com/novox/mesh-controller/examples/route-proxy 1.198s ok github.com/novox/mesh-controller/internal/artifacts 1.040s ok github.com/novox/mesh-controller/internal/broker 2.490s ok github.com/novox/mesh-controller/internal/builder 1.328s ok github.com/novox/mesh-controller/internal/catalogue 3.936s ok github.com/novox/mesh-controller/internal/conditions 1.998s ok github.com/novox/mesh-controller/internal/envfile 1.043s ok github.com/novox/mesh-controller/internal/facts 1.030s ok github.com/novox/mesh-controller/internal/identity 13.345s ok github.com/novox/mesh-controller/internal/inventory 213.083s ok github.com/novox/mesh-controller/internal/lease 17.679s ok github.com/novox/mesh-controller/internal/licences 9.798s ok github.com/novox/mesh-controller/internal/licences/adapters 1.012s ok github.com/novox/mesh-controller/internal/link 64.237s ok github.com/novox/mesh-controller/internal/lint 1.850s ok github.com/novox/mesh-controller/internal/outward 1.040s ok github.com/novox/mesh-controller/internal/overlay 1.024s ok github.com/novox/mesh-controller/internal/secrets 1.453s ok github.com/novox/mesh-controller/internal/store 4.494s ok github.com/novox/mesh-controller/internal/testbus 1.184s ok github.com/novox/mesh-controller/internal/token 1.017s ```
mesh-admin merged commit e35c0e69b6 into main 2026-10-08 00:36:49 +00:00
mesh-admin deleted branch fix/gate-baseline-composes 2026-10-08 00:36:49 +00:00
This repo is archived. You cannot comment on pull requests.
No Reviewers
2 Participants
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-controller#128