Excuse no wait for a move from a build not known, and test the tier path's at-once put-back (hq issue 318 review) #152

Merged
mesh-admin merged 1 commits from fix/318-follow-up-2 into main 2026-10-08 14:02:22 +00:00
Contributor

The three small points from the re-review of #146.

  • A move from a build that is not known excuses no wait. This covers an empty previous build (a plan's own module whose Previous was not recorded) and a previous build with no kept manifest. movesAddingGroups now answers false for both. Test: TestAMoveFromAnUnknownBuildExcusesNoWait.
  • The tier path's at-once put-back has a test. In TestATierPutsABrokenModuleBackAtOnce, the node tools' witness reverts them on the first machine. The test covers two cases: the gate is kept on the node tools, and the gate is kept on the module beside them. In both, the node tools are registered back and marked in the judging that finds them broken. The plan then judges the other module to its own pass, and only then fails.
  • putBackBroken counts a module as returned only after it is found among the carried moves, or is the plan's own.

merge-check.sh passes locally on main 41d6019.

The three small points from the re-review of #146. - **A move from a build that is not known excuses no wait.** This covers an empty previous build (a plan's own module whose `Previous` was not recorded) and a previous build with no kept manifest. `movesAddingGroups` now answers false for both. Test: `TestAMoveFromAnUnknownBuildExcusesNoWait`. - **The tier path's at-once put-back has a test.** In `TestATierPutsABrokenModuleBackAtOnce`, the node tools' witness reverts them on the first machine. The test covers two cases: the gate is kept on the node tools, and the gate is kept on the module beside them. In both, the node tools are registered back and marked in the judging that finds them broken. The plan then judges the other module to its own pass, and only then fails. - **`putBackBroken` counts a module as returned only after it is found among the carried moves, or is the plan's own.** `merge-check.sh` passes locally on main 41d6019.
mesh-admin added 1 commit 2026-10-08 13:51:53 +00:00
Excuse no wait for a move from a build not known, and count a module put back only once there is one (hq issue 318 review)
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 superseded: a newer delivery to the same trunk took over its walk
a44dc01c65
Author
Contributor

Delivery novox/mesh-controller@a44dc01c6540 — superseded since 2026-10-08T14:03:10Z

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

Machines

  • mesh-controller on novox: judging — 0 healthy judging(s) so far

Transitions

  • 2026-10-08 13:52 (new) → proposed (announced): novox/mesh-controller#152's head announced
  • 2026-10-08 13:56 proposed → checked (checked): the verdict names this commit
  • 2026-10-08 13:56 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
  • 2026-10-08 14:02 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
  • 2026-10-08 14:02 published → delivering (go): its walk started: let go by this owner in its group's order, by a person, or on the controller's own path
  • 2026-10-08 14:03 delivering → superseded (superseded): a newer delivery to the same trunk took over its walk

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

<!-- mesh-delivery:view --> **Delivery** `novox/mesh-controller@a44dc01c6540` — **superseded** since 2026-10-08T14:03:10Z **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 **Machines** - mesh-controller on novox: judging — 0 healthy judging(s) so far **Transitions** - 2026-10-08 13:52 (new) → proposed (announced): novox/mesh-controller#152's head announced - 2026-10-08 13:56 proposed → checked (checked): the verdict names this commit - 2026-10-08 13:56 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail - 2026-10-08 14:02 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move - 2026-10-08 14:02 published → delivering (go): its walk started: let go by this owner in its group's order, by a person, or on the controller's own path - 2026-10-08 14:03 delivering → superseded (superseded): a newer delivery to the same trunk took over its walk The commit's note under `refs/notes/mesh-plan` keeps every transition: `git log --notes=mesh-plan`.
Author
Contributor

Merge check at a44dc01c

  • 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 ace as build-1791467523544381420 (builds --log build-1791467523544381420).

--- the gate: build-agent, mesh-controller, route-proxy
mesh-controller: ok, 50 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-08T13:48:06Z 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-08T13:48:06Z

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	148.383s
ok  	github.com/novox/mesh-controller/examples/objectstore-provisioner	1.022s
ok  	github.com/novox/mesh-controller/examples/postgres-provisioner	1.036s
ok  	github.com/novox/mesh-controller/examples/redis-provisioner	1.024s
ok  	github.com/novox/mesh-controller/examples/route-proxy	1.136s
ok  	github.com/novox/mesh-controller/internal/artifacts	1.054s
ok  	github.com/novox/mesh-controller/internal/broker	2.445s
ok  	github.com/novox/mesh-controller/internal/builder	1.685s
ok  	github.com/novox/mesh-controller/internal/catalogue	4.049s
ok  	github.com/novox/mesh-controller/internal/conditions	2.144s
ok  	github.com/novox/mesh-controller/internal/envfile	1.034s
ok  	github.com/novox/mesh-controller/internal/facts	1.035s
ok  	github.com/novox/mesh-controller/internal/identity	4.032s
ok  	github.com/novox/mesh-controller/internal/inventory	66.659s
ok  	github.com/novox/mesh-controller/internal/lease	17.671s
ok  	github.com/novox/mesh-controller/internal/licences	3.680s
ok  	github.com/novox/mesh-controller/internal/licences/adapters	1.031s
ok  	github.com/novox/mesh-controller/internal/link	43.464s
ok  	github.com/novox/mesh-controller/internal/lint	1.882s
ok  	github.com/novox/mesh-controller/internal/outward	1.060s
ok  	github.com/novox/mesh-controller/internal/overlay	1.060s
ok  	github.com/novox/mesh-controller/internal/secrets	1.416s
ok  	github.com/novox/mesh-controller/internal/store	3.244s
ok  	github.com/novox/mesh-controller/internal/testbus	1.219s
ok  	github.com/novox/mesh-controller/internal/token	1.017s
**Merge check** at `a44dc01c` - `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 ace as `build-1791467523544381420` (`builds --log build-1791467523544381420`). ``` --- the gate: build-agent, mesh-controller, route-proxy mesh-controller: ok, 50 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-08T13:48:06Z 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-08T13:48:06Z 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 148.383s ok github.com/novox/mesh-controller/examples/objectstore-provisioner 1.022s ok github.com/novox/mesh-controller/examples/postgres-provisioner 1.036s ok github.com/novox/mesh-controller/examples/redis-provisioner 1.024s ok github.com/novox/mesh-controller/examples/route-proxy 1.136s ok github.com/novox/mesh-controller/internal/artifacts 1.054s ok github.com/novox/mesh-controller/internal/broker 2.445s ok github.com/novox/mesh-controller/internal/builder 1.685s ok github.com/novox/mesh-controller/internal/catalogue 4.049s ok github.com/novox/mesh-controller/internal/conditions 2.144s ok github.com/novox/mesh-controller/internal/envfile 1.034s ok github.com/novox/mesh-controller/internal/facts 1.035s ok github.com/novox/mesh-controller/internal/identity 4.032s ok github.com/novox/mesh-controller/internal/inventory 66.659s ok github.com/novox/mesh-controller/internal/lease 17.671s ok github.com/novox/mesh-controller/internal/licences 3.680s ok github.com/novox/mesh-controller/internal/licences/adapters 1.031s ok github.com/novox/mesh-controller/internal/link 43.464s ok github.com/novox/mesh-controller/internal/lint 1.882s ok github.com/novox/mesh-controller/internal/outward 1.060s ok github.com/novox/mesh-controller/internal/overlay 1.060s ok github.com/novox/mesh-controller/internal/secrets 1.416s ok github.com/novox/mesh-controller/internal/store 3.244s ok github.com/novox/mesh-controller/internal/testbus 1.219s ok github.com/novox/mesh-controller/internal/token 1.017s ```
mesh-admin merged commit 59620fdacb into main 2026-10-08 14:02:22 +00:00
mesh-admin deleted branch fix/318-follow-up-2 2026-10-08 14:02:23 +00:00
This repo is archived. You cannot comment on pull requests.
No Reviewers
1 Participants
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-controller#152