Build a done key again when the store no longer holds its blob (issue 1937) #33

Merged
jschoubben merged 3 commits from fix/1937-done-key-blobs into main 2026-10-24 10:35:21 +00:00
Member

Issue 1937 (critical). The builder asks the controller's held for each done trunk key's bundle and archive blobs at its start and when a module value arrives, and consumes artifacts-gone; a key with a gone blob is claimed building as a new revision, said in a log line and in the key's step. No timer. Once delivered, the builder rebuilds the about 100 dead keys, queued by the build seats' capacity.

Group fix/1937-done-key-blobs: mesh-sdk, mesh-controller, mesh-delivery. Nothing the operator sees changes.

Reviewed-by: review-1937@shanks at 28ee22ef27
Pushed-by: lead-47@shanks

Issue 1937 (critical). The builder asks the controller's `held` for each done trunk key's bundle and archive blobs at its start and when a module value arrives, and consumes `artifacts-gone`; a key with a gone blob is claimed building as a new revision, said in a log line and in the key's step. No timer. Once delivered, the builder rebuilds the about 100 dead keys, queued by the build seats' capacity. Group `fix/1937-done-key-blobs`: mesh-sdk, mesh-controller, mesh-delivery. Nothing the operator sees changes. Reviewed-by: review-1937@shanks at 28ee22ef27e2f67355be3dc890ce7abed65b7cbd Pushed-by: lead-47@shanks
mesh-tools added 3 commits 2026-10-24 02:39:06 +00:00
The store's nightly collector deleted the bare blobs of node-tools', mesh-host's and the forge bridge's done keys, which
the controller had never taken in, and the builder kept them done: their next delivery would refuse. The builder now asks
the controller's held before it leaves a done trunk key done (once per key per process, at its start and on each module
value), claims a key whose blob is gone building as a new revision and says so in its log and the key's step, and hears
artifacts-gone, said when a take-in found a gone blob. No timer: a start, a value or an event.
Give the integration test's EVENTS stream the artifacts-gone subject alone, so it does not overlap the build seats' streams (issue 1937)
mesh/check pass 28ee22ef27e2 on d8b19cb332b6 | unit 126 run, 370 kept | integration 136 run, 420 kept | composition passed on shanks
mesh/delivery-group group fix/1937-done-key-blobs delivering: 0 of 3 delivered
mesh/delivery covered after its stop: a later walk that contains it was delivered: plan-1792840300970624489 (novox/mesh-delivery at 42d880f0 into main, d…
28ee22ef27
Author
Member

Delivery novox/mesh-delivery@28ee22ef27e2 — stopped since 2026-10-24T10:53:06Z

Covered: covered after its stop: a later walk that contains it was delivered: plan-1792840300970624489 (novox/mesh-delivery at 42d880f0 into main, done, contains its merge d8b19cb3)

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

  • tier 0: mesh-delivery-builder
  • shanks: receives mesh-delivery-builder
  • grants step: if this changes what the bus's user list says (a new tool, subject or user), novox is sent that list alone, every build there kept, before mesh-delivery-builder is judged on its first machine

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

  • composed together: pass — the checker's verdict at the members' heads (5bd558b99155)

Transitions

  • 2026-10-24 02:39 (new) → proposed (announced): novox/mesh-delivery#33's head announced
  • 2026-10-24 10:35 proposed → held (merged-unchecked): merged without a passing check — a verdict known with it is taken first: only a person decides that it goes on
  • 2026-10-24 10:35 held → delivering (release): the operator merged the reviewed group fix/1937-done-key-blobs by hand at 12:35 (temporary build-publish-deliver mode since 00:24; their merge is their word to release); the group's composed check passed at 07:26 but never reached the forge (issue 1726)
  • 2026-10-24 10:53 delivering → stopped (stop): its walk plan-1792838111606250980 was stopped by a person (mesh-controller): the operator's word 12:53: close it. Its tier 0 waits for ever on mesh-sdk ('builders disagree': a stale ace.typescript key in mesh-build-node_toolchains, issue 1940), and the 1940 fix can become a plan only after this one ends (ADR 0276 §4). Retried after the 1940 fix is delivered.

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

<!-- mesh-delivery:view --> **Delivery** `novox/mesh-delivery@28ee22ef27e2` — **stopped** since 2026-10-24T10:53:06Z **Covered**: covered after its stop: a later walk that contains it was delivered: plan-1792840300970624489 (novox/mesh-delivery at 42d880f0 into main, done, contains its merge d8b19cb3) **Delivery plan** — builds mesh-delivery-builder → shanks; no bus step - tier 0: mesh-delivery-builder - shanks: receives mesh-delivery-builder - grants step: if this changes what the bus's user list says (a new tool, subject or user), novox is sent that list alone, every build there kept, before mesh-delivery-builder is judged on its first machine **Group** `fix/1937-done-key-blobs`: novox/mesh-controller@c06f75d083a9, novox/mesh-delivery@28ee22ef27e2, novox/mesh-sdk@34f210e5eba1 - composed together: pass — the checker's verdict at the members' heads (5bd558b99155) **Transitions** - 2026-10-24 02:39 (new) → proposed (announced): novox/mesh-delivery#33's head announced - 2026-10-24 10:35 proposed → held (merged-unchecked): merged without a passing check — a verdict known with it is taken first: only a person decides that it goes on - 2026-10-24 10:35 held → delivering (release): the operator merged the reviewed group fix/1937-done-key-blobs by hand at 12:35 (temporary build-publish-deliver mode since 00:24; their merge is their word to release); the group's composed check passed at 07:26 but never reached the forge (issue 1726) - 2026-10-24 10:53 delivering → stopped (stop): its walk plan-1792838111606250980 was stopped by a person (mesh-controller): the operator's word 12:53: close it. Its tier 0 waits for ever on mesh-sdk ('builders disagree': a stale ace.typescript key in mesh-build-node_toolchains, issue 1940), and the 1940 fix can become a plan only after this one ends (ADR 0276 §4). Retried after the 1940 fix is delivered. The commit's note under `refs/notes/mesh-plan` keeps every transition: `git log --notes=mesh-plan`.
jschoubben merged commit d8b19cb332 into main 2026-10-24 10:35:21 +00:00
jschoubben deleted branch fix/1937-done-key-blobs 2026-10-24 10:35:22 +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#33