A build step's run that meets a transport fault is again; the asker waits through it and drops what it withdraws (issue 1748; group fix/1748-transport-retry) #196

Merged
mesh-tools merged 16 commits from fix/1748-transport-retry into main 2026-11-09 22:58:33 +00:00
Member

ADR 0664 (proposed). The build seats' part build-step.json gains the states again and dropped, the fields run, again-at, passing and the verb drop; the three build seats are regenerated. sdk/buildstep gains StepAgain, Ended, Passing, PassingCause, HolderSilent, AgainAfter, DropKey. The asker (builder and checker) reads again as running, ends a third failed run as a transport fault on N runs, and drops an ask only on a withdrawal: a build superseded by a newer fingerprint, a candidate taken out on its pull request's merge or close, an ask asked again by hand. The builder does not retake a key failed on a transport fault by itself; a hand act or its next start does (changes ADR 0429 §18). checker_ask_again takes a verdict whose failing steps all met a transport fault. mesh-grants: a row holds the build seats' work queues above three deliveries and at most ten.

Group fix/1748-transport-retry, merge order: mesh-sdk, mesh-tools, mesh-delivery, mesh-catalog.

issue 1748
issue 1966

Reviewed-by: review-1748@shanks at 7e0634205a
Pushed-by: lead-47@shanks

https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ

ADR 0664 (proposed). The build seats' part `build-step.json` gains the states `again` and `dropped`, the fields `run`, `again-at`, `passing` and the verb `drop`; the three build seats are regenerated. `sdk/buildstep` gains `StepAgain`, `Ended`, `Passing`, `PassingCause`, `HolderSilent`, `AgainAfter`, `DropKey`. The asker (builder and checker) reads `again` as running, ends a third failed run as a transport fault on N runs, and drops an ask only on a withdrawal: a build superseded by a newer fingerprint, a candidate taken out on its pull request's merge or close, an ask asked again by hand. The builder does not retake a key failed on a transport fault by itself; a hand act or its next start does (changes ADR 0429 §18). `checker_ask_again` takes a verdict whose failing steps all met a transport fault. mesh-grants: a row holds the build seats' work queues above three deliveries and at most ten. Group fix/1748-transport-retry, merge order: mesh-sdk, mesh-tools, mesh-delivery, mesh-catalog. issue 1748 issue 1966 Reviewed-by: review-1748@shanks at 7e0634205aa46fc54542cf1325a9045b4b31e673 Pushed-by: lead-47@shanks https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
mesh-tools added 16 commits 2026-11-09 22:57:02 +00:00
Shared lines for the join with milestone G: contracts/parts/build-step.json, the three seats' fixtures and generated contract files.

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
Shared line for the join with milestone G: sdk/buildstep/ask.go (AgainAfter beside AskRuns).

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
Shared lines for the join with milestone G: mesh-delivery-checker internal/check/read.go (one line), mesh-delivery-builder buildrun/asks.go.

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
builder_seat_queue listing asks waiting to be given again, and the claim row for a FailedUntilChanged key, are left for D4's rest.

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
R2: a row holds the build seats' work queues above three deliveries and at most ten (ADR 0664 §2, ADR 0436 §6, issue 1748 review 2)
mesh/check checking 7e0634205aa4 on 8b03cc036ec7 | novox/mesh-delivery#196 in group fix/1748-transport-retry
mesh/delivery merged: source.main moved to novox/mesh-delivery@8b03cc036ec7
mesh/delivery-group group fix/1748-transport-retry merged: every member is merged
7e0634205a
Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
Author
Member

Delivery novox/mesh-delivery@7e0634205aa4 — merged since 2026-11-09T22:58:37Z

Source — source.main moved to novox/mesh-delivery@8b03cc036e. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.

Group fix/1748-transport-retry: novox/mesh-catalog@e712cd227f, novox/mesh-delivery@7e0634205a, novox/mesh-sdk@ca46b8938f, novox/mesh-tools@62dce9fec7

Transitions

  • 2026-11-09 22:57 (new) → proposed (announced): novox/mesh-delivery#196's head announced
  • 2026-11-09 22:57 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false)
  • 2026-11-09 22:58 ready → merged (merged): on the trunk its modules follow: merged there

The commit's note under refs/notes/mesh-plan keeps every transition of this change up to its merge: git log --notes=mesh-plan.

<!-- mesh-delivery:view --> **Delivery** `novox/mesh-delivery@7e0634205aa4` — **merged** since 2026-11-09T22:58:37Z **Source** — source.main moved to novox/mesh-delivery@8b03cc036ec7. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves. **Group** `fix/1748-transport-retry`: novox/mesh-catalog@e712cd227f37, novox/mesh-delivery@7e0634205aa4, novox/mesh-sdk@ca46b8938f90, novox/mesh-tools@62dce9fec7a4 **Transitions** - 2026-11-09 22:57 (new) → proposed (announced): novox/mesh-delivery#196's head announced - 2026-11-09 22:57 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false) - 2026-11-09 22:58 ready → merged (merged): on the trunk its modules follow: merged there The commit's note under `refs/notes/mesh-plan` keeps every transition of this change up to its merge: `git log --notes=mesh-plan`.
Author
Member

mesh-delivery: the operator's Approve of this pull request's merge into main is ended: a head it covers moved on: the heads it covers are no longer the group's heads. Nothing is merged on it. The operator is asked again once the checks pass at the new head.

mesh-delivery: the operator's Approve of this pull request's merge into main is ended: a head it covers moved on: the heads it covers are no longer the group's heads. Nothing is merged on it. The operator is asked again once the checks pass at the new head.
mesh-tools merged commit 8b03cc036e into main 2026-11-09 22:58:33 +00:00
mesh-tools deleted branch fix/1748-transport-retry 2026-11-09 22:58:33 +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#196