Answer held and say artifacts-gone; write the grants again; integration tests match R4g (issues 1937, 1938, 1931) #453

Open
mesh-tools wants to merge 30 commits from fix/1937-done-key-blobs into main
Member

Issue 1937 (critical). The controller serves held (read-only, using #451's store check) and says artifacts-gone on mesh.seat.mesh-controller.event.artifacts-gone when a take-in is refused because blobs are gone, naming every gone blob. The grant lets it publish the event.

Also carries, merged from fix/1931-reconnects-verb:

  • Issue 1938: chainBuildByID (internal/inventory/chain_builds.go) returns the build's SourceFingerprint again, so the controller writes the grants the assigner reads; it has written none since 2026-10-18 (the live grants bucket holds 0 keys).
  • Issue 1931: about 20 integration test files made to match R4g (modules taken from the builder's done key, no build asked), so mesh-controller's integration level passes: 2566 tests, nothing kept, in 5m38s (try-1792817721004558884); and the rollout test's race between anchor's report and the silence bound removed (anchor reports on its send).

Group fix/1937-done-key-blobs: mesh-sdk, mesh-controller, mesh-delivery. The builder's recovery at its start holds when this controller is delivered before the builder (the delivery plan's tiers will be read). Nothing the operator sees changes.

Reviewed-by: review-1937@shanks at 3b51d3f86e
Reviewed-by: review-453b@shanks at 16ea033124
Reviewed-by: review-453b@shanks at c06f75d083
Pushed-by: lead-47@shanks

Issue 1937 (critical). The controller serves `held` (read-only, using #451's store check) and says `artifacts-gone` on `mesh.seat.mesh-controller.event.artifacts-gone` when a take-in is refused because blobs are gone, naming every gone blob. The grant lets it publish the event. Also carries, merged from fix/1931-reconnects-verb: - Issue 1938: chainBuildByID (internal/inventory/chain_builds.go) returns the build's SourceFingerprint again, so the controller writes the grants the assigner reads; it has written none since 2026-10-18 (the live grants bucket holds 0 keys). - Issue 1931: about 20 integration test files made to match R4g (modules taken from the builder's done key, no build asked), so mesh-controller's integration level passes: 2566 tests, nothing kept, in 5m38s (try-1792817721004558884); and the rollout test's race between anchor's report and the silence bound removed (anchor reports on its send). Group `fix/1937-done-key-blobs`: mesh-sdk, mesh-controller, mesh-delivery. The builder's recovery at its start holds when this controller is delivered before the builder (the delivery plan's tiers will be read). Nothing the operator sees changes. Reviewed-by: review-1937@shanks at 3b51d3f86ea65c17af9753430550ee271a8d8703 Reviewed-by: review-453b@shanks at 16ea033124e1a6b9b2aa7ac74dd0778046915708 Reviewed-by: review-453b@shanks at c06f75d083a990e43cd25f7e69c4f54056edf327 Pushed-by: lead-47@shanks
mesh-tools added 1 commit 2026-10-24 02:39:02 +00:00
Answer held and say artifacts-gone, so the builder rebuilds a done key whose blob the artifact store no longer holds (issue 1937)
mesh/delivery-group group fix/1937-done-key-blobs rejected: composed together: the checker's verdict at the members' heads (c20fdcb8c623): integration: github.…
mesh/delivery superseded: a newer head of the same pull request
3b51d3f86e
A done key the controller never took in holds no manifest, and the store's nightly collector deleted its bare blob:
node-tools', mesh-host's and the forge bridge's keys name blobs that answer 404. Since issue 1933 the take-in refuses such a
key, and nothing built it again. held (in the serving process, HEADs only) lets the builder ask before it reuses a key; a
refused take-in now names every gone archive and says artifacts-gone with the module, key, fingerprint and references.
Author
Member

Delivery novox/mesh-controller@c06f75d083a9 — proposed since 2026-10-24T05:16:29Z

Group fix/1937-done-key-blobs: novox/mesh-controller@c06f75d083, novox/mesh-delivery@28ee22ef27, novox/mesh-sdk@34f210e5eb

Transitions

  • 2026-10-24 05:16 (new) → proposed (announced): novox/mesh-controller#453's head announced

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

<!-- mesh-delivery:view --> **Delivery** `novox/mesh-controller@c06f75d083a9` — **proposed** since 2026-10-24T05:16:29Z **Group** `fix/1937-done-key-blobs`: novox/mesh-controller@c06f75d083a9, novox/mesh-delivery@28ee22ef27e2, novox/mesh-sdk@34f210e5eba1 **Transitions** - 2026-10-24 05:16 (new) → proposed (announced): novox/mesh-controller#453's head announced The commit's note under `refs/notes/mesh-plan` keeps every transition: `git log --notes=mesh-plan`.
jschoubben added 27 commits 2026-10-24 05:02:55 +00:00
chainBuildByID answered a trimmed build without SourceFingerprint since builds moved to the builds bucket (issue 1090), so
currentFingerprints read every fingerprint empty and grantsFrom skipped every module: mesh-controller_grants has never held
a key, and TestTheGrantOfAnIssuedCredentialIsOnTheBus failed on main.
The test was kept from older runs and ran again only once the inventory changed beneath it; e419d018 changed the words.
Merge remote-tracking branch 'origin/fix/1931-reconnects-verb' into fix/1937-done-key-blobs
mesh/delivery superseded: a newer head of the same pull request
mesh/delivery-group group fix/1937-done-key-blobs rejected: composed together: the checker's verdict at the members' heads (dbd9c3771cd8): integration: github.…
16ea033124
mesh-tools changed title from Answer held and say artifacts-gone, so the builder rebuilds a done key whose blob is gone (issue 1937) to Answer held and say artifacts-gone; write the grants again; integration tests match R4g (issues 1937, 1938, 1931) 2026-10-24 05:07:11 +00:00
jschoubben added 2 commits 2026-10-24 05:16:28 +00:00
Under a loaded run the report came 5.7 s and then more than 10 s after the send, and anchor was named silent. Now the
fake send makes anchor's report as soon as tier 1 is recorded, and the test waits for it; laptop never reports and is
named silent.
Merge remote-tracking branch 'origin/fix/1931-reconnects-verb' into fix/1937-done-key-blobs
mesh/delivery checking
mesh/delivery-group group fix/1937-done-key-blobs checking: 0 of 3 member(s) ready
c06f75d083
Some checks are pending
mesh/delivery checking
mesh/delivery-group group fix/1937-done-key-blobs checking: 0 of 3 member(s) ready
You are not authorized to merge this pull request.
This pull request can be merged automatically.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin fix/1937-done-key-blobs:fix/1937-done-key-blobs
git checkout fix/1937-done-key-blobs
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-controller#453