The builder says it writes references only once its build modules proved it (issue 1886, ADR 0522) #23

Merged
jschoubben merged 2 commits from fix/1886-builder-says-references into main 2026-10-23 00:26:18 +00:00
Member

Issue 1886 (critical): R4e's delivery plan cannot finish, because the controller takes modules only from referenced builder keys and only R4e's own, not yet delivered, build modules write references. ADR 0522 §1: each builder instance keeps a key under its node name in its state instances, written only once mesh-build-go, mesh-build-node and mesh-build-image have each answered a step with a reference, and deleted when it stops; the controller watches it (the other member of this group, mesh-controller, same branch).

Tests: TestManifestDeclarations, TestTheBuilderTellsWhichBuildModuleAnsweredAReference, TestTheBuilderSaysItWritesReferencesOnceEveryBuildModuleAnsweredOne (seen failing first); unit suite and vet (with and without the integration tag) green. No try could run: mesh-controller.try is served by R4e's checker, which is stuck in the same plan (issue 1886); the integration test runs at the merge check.

Reviewed-by: review-1886@shanks at 9fad90ee89

Issue 1886 (critical): R4e's delivery plan cannot finish, because the controller takes modules only from referenced builder keys and only R4e's own, not yet delivered, build modules write references. ADR 0522 §1: each builder instance keeps a key under its node name in its state `instances`, written only once mesh-build-go, mesh-build-node and mesh-build-image have each answered a step with a reference, and deleted when it stops; the controller watches it (the other member of this group, mesh-controller, same branch). Tests: TestManifestDeclarations, TestTheBuilderTellsWhichBuildModuleAnsweredAReference, TestTheBuilderSaysItWritesReferencesOnceEveryBuildModuleAnsweredOne (seen failing first); unit suite and vet (with and without the integration tag) green. No try could run: mesh-controller.try is served by R4e's checker, which is stuck in the same plan (issue 1886); the integration test runs at the merge check. Reviewed-by: review-1886@shanks at 9fad90ee890a2097a6dd49bc28d4e08af56c5a90
mesh-tools added 2 commits 2026-10-22 23:07:12 +00:00
The controller delivers from the builder's keys only while a running builder
says its done keys name references; a builder from before R4e says nothing,
so R4e's own delivery is asked of build-agent instead of waiting for ever.
The say is put once started and taken away when stopped.
Say that the builder writes references only once each build module answered one (issue 1886, ADR 0522 review)
mesh/merge-gate head 9fad90ee890a merged into trunk b714eab995a5 — pass: builds mesh-delivery-builder → novox; no bus step; the change touches no module of…
mesh/repo-check head 9fad90ee890a merged into trunk b714eab995a5 — pass: its merge-check.sh passed
mesh/check failed: integration: github.com/novox/mesh-controller/internal/identity.TestACertificateChainsToTheMeshsOwnAuthority: authority_test.go:45:…
mesh/delivery delivered
mesh/delivery-group group fix/1886-builder-says-references delivered: every member is delivered
9fad90ee89
The references come from the build modules' own pushes, so a new builder beside
an old build module writes none; saying it at start would send the controller
to keys that fail not stored.
Author
Member

Delivery novox/mesh-delivery@9fad90ee890a — delivered since 2026-10-23T00:35:30Z

Delivery plan — builds mesh-delivery-builder → novox; no bus step

  • tier 0: mesh-delivery-builder
  • novox: receives mesh-delivery-builder

Group fix/1886-builder-says-references: novox/mesh-controller@bbadbb2af0, novox/mesh-delivery@9fad90ee89

Machines

  • mesh-delivery-builder on every machine running it: sent

Transitions

  • 2026-10-22 23:07 (new) → proposed (announced): novox/mesh-delivery#23's head announced
  • 2026-10-22 23:38 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
  • 2026-10-22 23:38 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
  • 2026-10-23 00:28 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
  • 2026-10-23 00:28 published → delivering (go): its walk started: let go by this owner in its group's order, by a person, or on the controller's own path — not a failed walk that carried a later commit for it, after which it waits for a walk of its own commit
  • 2026-10-23 00:35 delivering → delivered (done): its walk is done, carrying its own commit: every machine of its deploy plan passed, or was left as its policy says

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

<!-- mesh-delivery:view --> **Delivery** `novox/mesh-delivery@9fad90ee890a` — **delivered** since 2026-10-23T00:35:30Z **Delivery plan** — builds mesh-delivery-builder → novox; no bus step - tier 0: mesh-delivery-builder - novox: receives mesh-delivery-builder **Group** `fix/1886-builder-says-references`: novox/mesh-controller@bbadbb2af021, novox/mesh-delivery@9fad90ee890a **Machines** - mesh-delivery-builder on every machine running it: sent **Transitions** - 2026-10-22 23:07 (new) → proposed (announced): novox/mesh-delivery#23's head announced - 2026-10-22 23:38 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit - 2026-10-22 23:38 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail - 2026-10-23 00:28 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move - 2026-10-23 00:28 published → delivering (go): its walk started: let go by this owner in its group's order, by a person, or on the controller's own path — not a failed walk that carried a later commit for it, after which it waits for a walk of its own commit - 2026-10-23 00:35 delivering → delivered (done): its walk is done, carrying its own commit: every machine of its deploy plan passed, or was left as its policy says The commit's note under `refs/notes/mesh-plan` keeps every transition: `git log --notes=mesh-plan`.
Author
Member

Merge check at 9fad90ee
Judged: head 9fad90ee890a merged into trunk b714eab995a5; read beside it: mesh-catalog 89e15c7bcda6, mesh-controller 289bbf68e4f9, mesh-controller-main 289bbf68e4f9, mesh-host 48c3e3834c69, mesh-tools e0fadc43d9dd

  • mesh/merge-gate: PASS — the change touches no module of the mesh's graph
  • mesh/repo-check: PASS — its merge-check.sh passed

Delivery plan — builds mesh-delivery-builder → novox; no bus step

  • tier 0: mesh-delivery-builder
  • novox: receives mesh-delivery-builder

Run by the build seat on ace as build-1792710441350896188 (builds --log build-1792710441350896188).

--- its merge-check.sh (go toolchain)
== ./modules/mesh-delivery-builder: go vet and the unit tests
ok  	mesh-delivery-builder	0.003s
ok  	mesh-delivery-builder/cmd/mesh-delivery-builder	0.004s
ok  	mesh-delivery-builder/internal/build	0.016s
== ./modules/mesh-delivery-builder: the integration tests (-tags integration)
ok  	mesh-delivery-builder	0.004s
ok  	mesh-delivery-builder/cmd/mesh-delivery-builder	3.297s
ok  	mesh-delivery-builder/internal/build	0.013s
== ./modules/mesh-delivery-checker: go vet and the unit tests
ok  	mesh-delivery-checker	0.004s
ok  	mesh-delivery-checker/cmd/mesh-delivery-checker	0.008s
ok  	mesh-delivery-checker/cmd/mesh-delivery-checker-tools	(cached)
ok  	mesh-delivery-checker/internal/check	0.046s
== ./modules/mesh-delivery-checker: the integration tests (-tags integration)
ok  	mesh-delivery-checker	0.005s
ok  	mesh-delivery-checker/cmd/mesh-delivery-checker	7.100s
ok  	mesh-delivery-checker/cmd/mesh-delivery-checker-tools	(cached)
ok  	mesh-delivery-checker/internal/check	0.047s
== ./modules/mesh-delivery-forge-bridge: go vet and the unit tests
ok  	mesh-delivery-forge-bridge	0.003s
ok  	mesh-delivery-forge-bridge/cmd/mesh-delivery-forge-bridge	(cached)
ok  	mesh-delivery-forge-bridge/internal/bridge	0.198s
== ./modules/mesh-delivery-forge-bridge: the integration tests (-tags integration)
ok  	mesh-delivery-forge-bridge	0.004s
ok  	mesh-delivery-forge-bridge/cmd/mesh-delivery-forge-bridge	5.630s
ok  	mesh-delivery-forge-bridge/internal/bridge	0.197s
== ./modules/mesh-delivery-indexer: go vet and the unit tests
ok  	mesh-delivery-indexer	0.003s
ok  	mesh-delivery-indexer/cmd/mesh-delivery-indexer	(cached)
ok  	mesh-delivery-indexer/internal/index	0.064s
== ./modules/mesh-delivery-indexer: the integration tests (-tags integration)
ok  	mesh-delivery-indexer	0.003s
ok  	mesh-delivery-indexer/cmd/mesh-delivery-indexer	1.022s
ok  	mesh-delivery-indexer/internal/index	0.057s
== ./modules/mesh-delivery-teller: go vet and the unit tests
ok  	mesh-delivery-teller	0.003s
ok  	mesh-delivery-teller/cmd/mesh-delivery-teller	(cached)
== ./modules/mesh-delivery-teller: the integration tests (-tags integration)
ok  	mesh-delivery-teller	0.002s
ok  	mesh-delivery-teller/cmd/mesh-delivery-teller	(cached)
== ./modules/mesh-delivery-view: go vet and the unit tests
ok  	mesh-delivery-view	0.003s
ok  	mesh-delivery-view/cmd/mesh-delivery-cli	(cached)
ok  	mesh-delivery-view/cmd/mesh-delivery-view	(cached)
ok  	mesh-delivery-view/cmd/mesh-delivery-view-tools	(cached)
ok  	mesh-delivery-view/internal/view	(cached)
== ./modules/mesh-delivery-view: the integration tests (-tags integration)
ok  	mesh-delivery-view	0.003s
ok  	mesh-delivery-view/cmd/mesh-delivery-cli	(cached)
ok  	mesh-delivery-view/cmd/mesh-delivery-view	(cached)
ok  	mesh-delivery-view/cmd/mesh-delivery-view-tools	(cached)
ok  	mesh-delivery-view/internal/view	(cached)
== ./modules/mesh-delivery-watchman: go vet and the unit tests
ok  	mesh-delivery-watchman	0.002s
ok  	mesh-delivery-watchman/cmd/mesh-delivery-watchman	(cached)
ok  	mesh-delivery-watchman/internal/watch	(cached)
== ./modules/mesh-delivery-watchman: the integration tests (-tags integration)
ok  	mesh-delivery-watchman	0.003s
ok  	mesh-delivery-watchman/cmd/mesh-delivery-watchman	(cached)
ok  	mesh-delivery-watchman/internal/watch	(cached)
**Merge check** at `9fad90ee` Judged: head `9fad90ee890a` merged into trunk `b714eab995a5`; read beside it: mesh-catalog `89e15c7bcda6`, mesh-controller `289bbf68e4f9`, mesh-controller-main `289bbf68e4f9`, mesh-host `48c3e3834c69`, mesh-tools `e0fadc43d9dd` - `mesh/merge-gate`: **PASS** — the change touches no module of the mesh's graph - `mesh/repo-check`: **PASS** — its merge-check.sh passed **Delivery plan** — builds mesh-delivery-builder → novox; no bus step - tier 0: mesh-delivery-builder - novox: receives mesh-delivery-builder Run by the build seat on ace as `build-1792710441350896188` (`builds --log build-1792710441350896188`). ``` --- its merge-check.sh (go toolchain) == ./modules/mesh-delivery-builder: go vet and the unit tests ok mesh-delivery-builder 0.003s ok mesh-delivery-builder/cmd/mesh-delivery-builder 0.004s ok mesh-delivery-builder/internal/build 0.016s == ./modules/mesh-delivery-builder: the integration tests (-tags integration) ok mesh-delivery-builder 0.004s ok mesh-delivery-builder/cmd/mesh-delivery-builder 3.297s ok mesh-delivery-builder/internal/build 0.013s == ./modules/mesh-delivery-checker: go vet and the unit tests ok mesh-delivery-checker 0.004s ok mesh-delivery-checker/cmd/mesh-delivery-checker 0.008s ok mesh-delivery-checker/cmd/mesh-delivery-checker-tools (cached) ok mesh-delivery-checker/internal/check 0.046s == ./modules/mesh-delivery-checker: the integration tests (-tags integration) ok mesh-delivery-checker 0.005s ok mesh-delivery-checker/cmd/mesh-delivery-checker 7.100s ok mesh-delivery-checker/cmd/mesh-delivery-checker-tools (cached) ok mesh-delivery-checker/internal/check 0.047s == ./modules/mesh-delivery-forge-bridge: go vet and the unit tests ok mesh-delivery-forge-bridge 0.003s ok mesh-delivery-forge-bridge/cmd/mesh-delivery-forge-bridge (cached) ok mesh-delivery-forge-bridge/internal/bridge 0.198s == ./modules/mesh-delivery-forge-bridge: the integration tests (-tags integration) ok mesh-delivery-forge-bridge 0.004s ok mesh-delivery-forge-bridge/cmd/mesh-delivery-forge-bridge 5.630s ok mesh-delivery-forge-bridge/internal/bridge 0.197s == ./modules/mesh-delivery-indexer: go vet and the unit tests ok mesh-delivery-indexer 0.003s ok mesh-delivery-indexer/cmd/mesh-delivery-indexer (cached) ok mesh-delivery-indexer/internal/index 0.064s == ./modules/mesh-delivery-indexer: the integration tests (-tags integration) ok mesh-delivery-indexer 0.003s ok mesh-delivery-indexer/cmd/mesh-delivery-indexer 1.022s ok mesh-delivery-indexer/internal/index 0.057s == ./modules/mesh-delivery-teller: go vet and the unit tests ok mesh-delivery-teller 0.003s ok mesh-delivery-teller/cmd/mesh-delivery-teller (cached) == ./modules/mesh-delivery-teller: the integration tests (-tags integration) ok mesh-delivery-teller 0.002s ok mesh-delivery-teller/cmd/mesh-delivery-teller (cached) == ./modules/mesh-delivery-view: go vet and the unit tests ok mesh-delivery-view 0.003s ok mesh-delivery-view/cmd/mesh-delivery-cli (cached) ok mesh-delivery-view/cmd/mesh-delivery-view (cached) ok mesh-delivery-view/cmd/mesh-delivery-view-tools (cached) ok mesh-delivery-view/internal/view (cached) == ./modules/mesh-delivery-view: the integration tests (-tags integration) ok mesh-delivery-view 0.003s ok mesh-delivery-view/cmd/mesh-delivery-cli (cached) ok mesh-delivery-view/cmd/mesh-delivery-view (cached) ok mesh-delivery-view/cmd/mesh-delivery-view-tools (cached) ok mesh-delivery-view/internal/view (cached) == ./modules/mesh-delivery-watchman: go vet and the unit tests ok mesh-delivery-watchman 0.002s ok mesh-delivery-watchman/cmd/mesh-delivery-watchman (cached) ok mesh-delivery-watchman/internal/watch (cached) == ./modules/mesh-delivery-watchman: the integration tests (-tags integration) ok mesh-delivery-watchman 0.003s ok mesh-delivery-watchman/cmd/mesh-delivery-watchman (cached) ok mesh-delivery-watchman/internal/watch (cached) ```
jschoubben merged commit 36bf3b7143 into main 2026-10-23 00:26:18 +00:00
jschoubben deleted branch fix/1886-builder-says-references 2026-10-23 00:26:18 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-delivery#23