mesh-build-go reaches the forge's git when the public proxy is unreachable, and a network failure is no pin (issue 1966) #647

Merged
mesh-tools merged 2 commits from fix/1966-contracts-goproxy into main 2026-11-09 22:08:33 +00:00
Member

On 2026-11-09 artifact-store-tools (21:21 UTC), mesh-build-image (21:35) and restic (21:41) failed on shanks: the Go seat holds no mesh-delivery or mesh-contracts package, answered 404, go asked the public proxy, and an unreachable network ended the fetch before direct; the failure was labelled "on no pull request head". GOPROXY is now <seat>,<public>|direct: the seat passes on only on 404/410 (a seat error fails loudly, ADR 0605 §6 and design 51), the public proxy passes to the forge's git on any failure. A network failure (network is unreachable, no route to host) is no longer read as an unknown revision, so it is a download failure that may be retaken.

Thorough fix not built: publishing the contracts packages into the Go seat (ADR 0573 §2).

issue 1966

Reviewed-by: review-1966@shanks at 407fc6c9e6
Pushed-by: lead-47@shanks

https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ

On 2026-11-09 artifact-store-tools (21:21 UTC), mesh-build-image (21:35) and restic (21:41) failed on shanks: the Go seat holds no mesh-delivery or mesh-contracts package, answered 404, go asked the public proxy, and an unreachable network ended the fetch before `direct`; the failure was labelled "on no pull request head". GOPROXY is now `<seat>,<public>|direct`: the seat passes on only on 404/410 (a seat error fails loudly, ADR 0605 §6 and design 51), the public proxy passes to the forge's git on any failure. A network failure (`network is unreachable`, `no route to host`) is no longer read as an unknown revision, so it is a download failure that may be retaken. Thorough fix not built: publishing the contracts packages into the Go seat (ADR 0573 §2). issue 1966 Reviewed-by: review-1966@shanks at 407fc6c9e625cd98f192208db722ba839ee18bcd Pushed-by: lead-47@shanks https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
mesh-tools added 2 commits 2026-11-09 22:00:09 +00:00
GOPROXY joined the Go seat, the public proxy and direct with commas, so go went on only after a 404 or 410: a contracts
package the seat does not hold, and a public proxy a node cannot reach, ended the fetch before direct. It joins them
with | now, so any failure goes on to the next. go words a proxy it cannot reach as "invalid version", which the pin
path read as an unknown revision and labelled "on no pull request head"; a network failure is never that now
(network is unreachable and no route to host are network failures).

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
The Go seat goes on to the public proxy only on a 404, the public proxy to direct on any failure (issue 1966, review 1)
mesh/delivery merged: source.main moved to novox/mesh-catalog@8b184d83222c
mesh/check checking 407fc6c9e625 on 9c42423d5821
407fc6c9e6
Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
Author
Member

Delivery novox/mesh-catalog@407fc6c9e625 — merged since 2026-11-09T22:08:34Z

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

Transitions

  • 2026-11-09 22:00 (new) → proposed (announced): novox/mesh-catalog#647's head announced
  • 2026-11-09 22:00 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:08 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-catalog@407fc6c9e625` — **merged** since 2026-11-09T22:08:34Z **Source** — source.main moved to novox/mesh-catalog@8b184d83222c. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves. **Transitions** - 2026-11-09 22:00 (new) → proposed (announced): novox/mesh-catalog#647's head announced - 2026-11-09 22:00 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:08 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-tools merged commit 8b184d8322 into main 2026-11-09 22:08:33 +00:00
mesh-tools deleted branch fix/1966-contracts-goproxy 2026-11-09 22:08:33 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-catalog#647