mesh-build-go's fetch downloads the module graph of each placed sibling Go module (issue 1921) #624

Merged
mesh-tools merged 2 commits from fix/1921-fetch-downloads-beside into main 2026-11-07 11:09:37 +00:00
Member

The fetch step of mesh-build-go downloads, after the tree's own downloads, the module graph of each placed sibling that is a Go module at its root (cmd/mesh-build-go/workspace.go downloadBeside, called from fetch.go fetchInto), laid as a go.work with the zero-version requirements the trees and the siblings hold, and the highest go directive among the laid modules. A failed download fails the fetch, naming the sibling. A fetch with no Go-module sibling returns before any walk or download, so it is unchanged.

Why alone, ahead of the registry group (feat/registry-milestone): under ADR 0535 the fetch is the installed program's, so the group's compose integration test, which builds the node-engine's composer inside the check's network-less sandbox, can only find its modules once this fetch is delivered (issue 1921 notes 69-71; the operator's choice, 2026-11-07). The ADR 0535 gap itself (a change to the fetch is never judged by its own fetch) is for later in milestone 47/G.

The first check (head 77b30bd2) failed on a resolver pause on shanks while downloading mesh-sdk, not on the change (issue 1748 note 20); the follow-up commit 36c19694 carries the review's notes (no walk without a Go-module sibling; the go.work's go directive).

Tests: TestTheFetchRecordsTheSiblingsItPlaced gains a sibling with a root go.mod and asserts one go -C <sibling> mod download with its go.work, plus rows for the early return and the go directive; each fails without its change. No new test function; no module.json touched.

Reviewed-by: mesh-code-reviewer@shanks at 36c19694c9

https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i

The fetch step of mesh-build-go downloads, after the tree's own downloads, the module graph of each placed sibling that is a Go module at its root (cmd/mesh-build-go/workspace.go downloadBeside, called from fetch.go fetchInto), laid as a go.work with the zero-version requirements the trees and the siblings hold, and the highest go directive among the laid modules. A failed download fails the fetch, naming the sibling. A fetch with no Go-module sibling returns before any walk or download, so it is unchanged. Why alone, ahead of the registry group (feat/registry-milestone): under ADR 0535 the fetch is the installed program's, so the group's compose integration test, which builds the node-engine's composer inside the check's network-less sandbox, can only find its modules once this fetch is delivered (issue 1921 notes 69-71; the operator's choice, 2026-11-07). The ADR 0535 gap itself (a change to the fetch is never judged by its own fetch) is for later in milestone 47/G. The first check (head 77b30bd2) failed on a resolver pause on shanks while downloading mesh-sdk, not on the change (issue 1748 note 20); the follow-up commit 36c19694 carries the review's notes (no walk without a Go-module sibling; the go.work's go directive). Tests: TestTheFetchRecordsTheSiblingsItPlaced gains a sibling with a root go.mod and asserts one `go -C <sibling> mod download` with its go.work, plus rows for the early return and the go directive; each fails without its change. No new test function; no module.json touched. Reviewed-by: mesh-code-reviewer@shanks at 36c19694c9df894fee4231f669e924ef5dd988f1 https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
mesh-tools added 1 commit 2026-11-07 10:41:20 +00:00
The check's fetch downloads the graph of a sibling Go module laid with the trees it requires (issue 1921, milestone 47/G trunk step)
mesh/check failed: shanks: the check of novox/mesh-catalog#624 failed: downloading the asked version 54aff0a3d9201e3df2… | 77b30bd2966c on f2b332de73d6
mesh/delivery closed: a newer head of the same pull request
77b30bd296
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
Author
Member

Delivery novox/mesh-catalog@36c19694c9df — merged since 2026-11-07T11:09:39Z

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

Transitions

  • 2026-11-07 10:51 (new) → proposed (announced): novox/mesh-catalog#624's head announced
  • 2026-11-07 10:51 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-07 11:09 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@36c19694c9df` — **merged** since 2026-11-07T11:09:39Z **Source** — source.main moved to novox/mesh-catalog@0f5201387891. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves. **Transitions** - 2026-11-07 10:51 (new) → proposed (announced): novox/mesh-catalog#624's head announced - 2026-11-07 10:51 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-07 11:09 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`.
jschoubben added 1 commit 2026-11-07 10:51:53 +00:00
Author
Member

mesh-delivery: the operator's Approve of this pull request's merge into main is ended: its head 77b30bd296 is no longer the pull request's head, or the pull request closed. 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: its head 77b30bd2966c is no longer the pull request's head, or the pull request closed. Nothing is merged on it. The operator is asked again once the checks pass at the new head.
mesh-tools merged commit 0f52013878 into main 2026-11-07 11:09:37 +00:00
mesh-tools deleted branch fix/1921-fetch-downloads-beside 2026-11-07 11:09:37 +00:00
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-catalog#624