The Go build module takes a repository's own unpublished modules from its tree (issue 1921) #618

Merged
mesh-tools merged 1 commits from fix/1921-zero-pins-own-packages into main 2026-11-05 23:00:39 +00:00
Member

A Go check of a repository whose module requires another module of the same repository at the zero version, not yet published, fell back to a latest version that does not exist and called it "a download failure that may be retaken": try try-1793917436885989079 failed so for mesh-contracts and mesh-networking (issue 1921 note 44).

mesh-build-go's takeZeroPins now resolves a zero-version module of the checked repository from the fetched tree (useOwnModules replaces every module of the repository in the temporary modfile, since one nested module may require another), and fails with words saying so when the module is not in the tree. versions.go says what really failed when no latest version can be taken. Every mesh package stays at the zero version (ADR 0573 §2, §4).

Quick fix (rejected): replace the named modules by hand. Thorough fix (chosen): a repository's own modules always come from its tree; the second gap of the zero-version resolution (the first was #617).

Group with mesh-delivery's branch of the same name (the checker names every member at its head).

Tests: TestARequirementAtTheZeroVersionOfTheCheckedRepositorysOwnModuleIsTakenFromItsTree fails without the own-repository branch; a row in TestARequirementAtTheZeroVersionIsTakenFromTheAskOrTheTrunk. mesh-build-go: 255 unit, 26 integration tests. No module.json changed.

Reviewed-by: mesh-code-reviewer@shanks at 7a5eef32e7

https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i

A Go check of a repository whose module requires another module of the same repository at the zero version, not yet published, fell back to a latest version that does not exist and called it "a download failure that may be retaken": try try-1793917436885989079 failed so for mesh-contracts and mesh-networking (issue 1921 note 44). mesh-build-go's takeZeroPins now resolves a zero-version module of the checked repository from the fetched tree (useOwnModules replaces every module of the repository in the temporary modfile, since one nested module may require another), and fails with words saying so when the module is not in the tree. versions.go says what really failed when no latest version can be taken. Every mesh package stays at the zero version (ADR 0573 §2, §4). Quick fix (rejected): replace the named modules by hand. Thorough fix (chosen): a repository's own modules always come from its tree; the second gap of the zero-version resolution (the first was #617). Group with mesh-delivery's branch of the same name (the checker names every member at its head). Tests: TestARequirementAtTheZeroVersionOfTheCheckedRepositorysOwnModuleIsTakenFromItsTree fails without the own-repository branch; a row in TestARequirementAtTheZeroVersionIsTakenFromTheAskOrTheTrunk. mesh-build-go: 255 unit, 26 integration tests. No module.json changed. Reviewed-by: mesh-code-reviewer@shanks at 7a5eef32e7721fbf32d68a560aa930c25fb3300c https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
mesh-tools added 1 commit 2026-11-05 22:46:09 +00:00
A zero-version requirement of the checked repository's own module is built from its fetched tree, and a failed latest says what failed (issue 1921)
mesh/delivery merged: source.main moved to novox/mesh-catalog@bc4d43b508cf
mesh/check being carried to 7a5eef32e772 on bc4d43b508cf | from df8168f4843f, mesh-delivery c0e5bc2834fe
mesh/delivery-group group fix/1921-zero-pins-own-packages merged: every member is merged
7a5eef32e7
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
Author
Member

Delivery novox/mesh-catalog@7a5eef32e772 — merged since 2026-11-05T23:00:42Z

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

Group fix/1921-zero-pins-own-packages: novox/mesh-catalog@7a5eef32e7, novox/mesh-delivery@261f8d54f7

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

Transitions

  • 2026-11-05 22:46 (new) → proposed (announced): novox/mesh-catalog#618's head announced
  • 2026-11-05 22:46 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-05 23:00 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@7a5eef32e772` — **merged** since 2026-11-05T23:00:42Z **Source** — source.main moved to novox/mesh-catalog@bc4d43b508cf. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves. **Group** `fix/1921-zero-pins-own-packages`: novox/mesh-catalog@7a5eef32e772, novox/mesh-delivery@261f8d54f7ff - composed together: pass — the checker's verdict at the members' heads (66ab5396453b) **Transitions** - 2026-11-05 22:46 (new) → proposed (announced): novox/mesh-catalog#618's head announced - 2026-11-05 22:46 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-05 23:00 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 bc4d43b508 into main 2026-11-05 23:00:39 +00:00
mesh-tools deleted branch fix/1921-zero-pins-own-packages 2026-11-05 23:00:39 +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#618