Issue 1966, notes 182 (follow-up F-a of #654's review) and 187 (acceptance 1966/AC182-1). #654's shutOffLoad (modules/mesh-build-go/cmd/mesh-build-go/fetch.go) passed silently when go list could not run at all (r.Err set, or a nonzero exit with no GOPROXY=off line): the fetch then passed and a later step failed. Failure must be loud.
What changes: shutOffLoad fails the fetch in that case with 'the shut-off package load of
could not run (exit N): '. The GOPROXY=off lines are still read first, so a missing module keeps its own wording and names its packages; under -e an ordinary compile error, a missing package of the module itself, a test-only import or a build constraint still exit 0 and never fail it (checked against Go: only module-level faults exit nonzero, which every shut-off step would fail on anyway). No exported name, no module.json.
Quick or thorough: quick, the one place (the fetch is the builder's and the checker's one fetch).
Test: a new row 'the shut-off package load cannot run' in TestAVerifyThatFailsEndsTheStepNamingTheDirectoryAndTheLine (fetch_test.go:229-231); it fails with fetch.go at the base and passes with the change. No test function added.
Checks: go vet with and without -tags integration clean; mesh-build-go's whole unit suite passes (the reviewer's run beside #654's siblings, /var/tmp/rv1966f). Scanned all 133 catalogue Go modules: all exit 0 for go list -e -deps -test in workspace mode, and the 26 with no zero-version requirement also in the fetch's own mode. Rule bent and said: the integration tests and the 33 mesh-catalog checks were not run locally (a developer's workspace cannot reproduce the checker's no-workspace fetch); this pull request's check is their run.
Review notes taken as follow-ups on issue 1966: the doc comment of shutOffLoad (fetch.go:241-244) to name the new failure; a row for the 'cannot start' branch.
Reviewed-by: mesh-code-reviewer@shanks (for lead-47@shanks) at 19994c1817 (round 1: approve)
Issue 1966, notes 182 (follow-up F-a of #654's review) and 187 (acceptance 1966/AC182-1). #654's shutOffLoad (modules/mesh-build-go/cmd/mesh-build-go/fetch.go) passed silently when go list could not run at all (r.Err set, or a nonzero exit with no GOPROXY=off line): the fetch then passed and a later step failed. Failure must be loud.
What changes: shutOffLoad fails the fetch in that case with 'the shut-off package load of <dir> could not run (exit N): <error and stderr>'. The GOPROXY=off lines are still read first, so a missing module keeps its own wording and names its packages; under -e an ordinary compile error, a missing package of the module itself, a test-only import or a build constraint still exit 0 and never fail it (checked against Go: only module-level faults exit nonzero, which every shut-off step would fail on anyway). No exported name, no module.json.
Quick or thorough: quick, the one place (the fetch is the builder's and the checker's one fetch).
Test: a new row 'the shut-off package load cannot run' in TestAVerifyThatFailsEndsTheStepNamingTheDirectoryAndTheLine (fetch_test.go:229-231); it fails with fetch.go at the base and passes with the change. No test function added.
Checks: go vet with and without -tags integration clean; mesh-build-go's whole unit suite passes (the reviewer's run beside #654's siblings, /var/tmp/rv1966f). Scanned all 133 catalogue Go modules: all exit 0 for go list -e -deps -test in workspace mode, and the 26 with no zero-version requirement also in the fetch's own mode. Rule bent and said: the integration tests and the 33 mesh-catalog checks were not run locally (a developer's workspace cannot reproduce the checker's no-workspace fetch); this pull request's check is their run.
Review notes taken as follow-ups on issue 1966: the doc comment of shutOffLoad (fetch.go:241-244) to name the new failure; a row for the 'cannot start' branch.
Reviewed-by: mesh-code-reviewer@shanks (for lead-47@shanks) at 19994c1817bb24712b8498b4e9e1003d09eca0d1 (round 1: approve)
https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
Deliverynovox/mesh-catalog@19994c1817bb — merged since 2026-11-10T15:42:13Z
Source — source.main moved to novox/mesh-catalog@ea74be9e2e. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.
Transitions
2026-11-10 15:41 (new) → proposed (announced): novox/mesh-catalog#655's head announced
2026-11-10 15:41 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-10 15:42 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@19994c1817bb` — **merged** since 2026-11-10T15:42:13Z
**Source** — source.main moved to novox/mesh-catalog@ea74be9e2e10. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves.
**Transitions**
- 2026-11-10 15:41 (new) → proposed (announced): novox/mesh-catalog#655's head announced
- 2026-11-10 15:41 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-10 15:42 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`.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Issue 1966, notes 182 (follow-up F-a of #654's review) and 187 (acceptance 1966/AC182-1). #654's shutOffLoad (modules/mesh-build-go/cmd/mesh-build-go/fetch.go) passed silently when go list could not run at all (r.Err set, or a nonzero exit with no GOPROXY=off line): the fetch then passed and a later step failed. Failure must be loud.
What changes: shutOffLoad fails the fetch in that case with 'the shut-off package load of
could not run (exit N): '. The GOPROXY=off lines are still read first, so a missing module keeps its own wording and names its packages; under -e an ordinary compile error, a missing package of the module itself, a test-only import or a build constraint still exit 0 and never fail it (checked against Go: only module-level faults exit nonzero, which every shut-off step would fail on anyway). No exported name, no module.json.Quick or thorough: quick, the one place (the fetch is the builder's and the checker's one fetch).
Test: a new row 'the shut-off package load cannot run' in TestAVerifyThatFailsEndsTheStepNamingTheDirectoryAndTheLine (fetch_test.go:229-231); it fails with fetch.go at the base and passes with the change. No test function added.
Checks: go vet with and without -tags integration clean; mesh-build-go's whole unit suite passes (the reviewer's run beside #654's siblings, /var/tmp/rv1966f). Scanned all 133 catalogue Go modules: all exit 0 for go list -e -deps -test in workspace mode, and the 26 with no zero-version requirement also in the fetch's own mode. Rule bent and said: the integration tests and the 33 mesh-catalog checks were not run locally (a developer's workspace cannot reproduce the checker's no-workspace fetch); this pull request's check is their run.
Review notes taken as follow-ups on issue 1966: the doc comment of shutOffLoad (fetch.go:241-244) to name the new failure; a row for the 'cannot start' branch.
Reviewed-by: mesh-code-reviewer@shanks (for lead-47@shanks) at
19994c1817(round 1: approve)https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
Delivery
novox/mesh-catalog@19994c1817bb— merged since 2026-11-10T15:42:13ZSource — source.main moved to novox/mesh-catalog@ea74be9e2e. Whether it reached the machines is
mesh-delivery-view's, derived fromsource.main, the wants and the haves.Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition of this change up to its merge:git log --notes=mesh-plan.