ComposerKey also takes the mesh package versions the ask names, sorted, so a composer or a manifest validator built for one group's versions is never reused for another's. An ask that names no versions gets exactly today's key, so composers already kept stay valid. Only mesh-build-go calls it.
Part of the group fix/1921-zero-version-builds with mesh-delivery (every producer of a group build's versions names every member; the trunk judge keeps the running validator; the node-engine beside a check is the group's member) and mesh-catalog (mesh-build-go passes the asked versions). Issue 1921 note 45.
Quick fix (rejected): salt an existing argument in mesh-build-go. Thorough fix (chosen): the key's one definition covers its inputs.
Tests: assertions folded into TestAComposerIsKeptByWhatItWasBuiltFrom (mesh-sdk is over its test budget); they fail without the change.
Reviewed-by: mesh-code-reviewer@shanks at 0fbc4ce6f8
ComposerKey also takes the mesh package versions the ask names, sorted, so a composer or a manifest validator built for one group's versions is never reused for another's. An ask that names no versions gets exactly today's key, so composers already kept stay valid. Only mesh-build-go calls it.
Part of the group fix/1921-zero-version-builds with mesh-delivery (every producer of a group build's versions names every member; the trunk judge keeps the running validator; the node-engine beside a check is the group's member) and mesh-catalog (mesh-build-go passes the asked versions). Issue 1921 note 45.
Quick fix (rejected): salt an existing argument in mesh-build-go. Thorough fix (chosen): the key's one definition covers its inputs.
Tests: assertions folded into TestAComposerIsKeptByWhatItWasBuiltFrom (mesh-sdk is over its test budget); they fail without the change.
Reviewed-by: mesh-code-reviewer@shanks at 0fbc4ce6f816646aa161ff45dff0535187c9943f
https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
Deliverynovox/mesh-sdk@0fbc4ce6f816 — merged since 2026-11-06T08:00:19Z
Source — source.main moved to novox/mesh-sdk@a0e5530aef. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.
composed together: pass — the checker's verdict at the members' heads (757231c5eaca)
Transitions
2026-11-06 01:00 (new) → proposed (announced): novox/mesh-sdk#169's head announced
2026-11-06 01: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-06 08: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-sdk@0fbc4ce6f816` — **merged** since 2026-11-06T08:00:19Z
**Source** — source.main moved to novox/mesh-sdk@a0e5530aef1b. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves.
**Group** `fix/1921-zero-version-builds`: novox/mesh-catalog@051a10d14b99, novox/mesh-delivery@b1094a926592, novox/mesh-sdk@0fbc4ce6f816
- composed together: pass — the checker's verdict at the members' heads (757231c5eaca)
**Transitions**
- 2026-11-06 01:00 (new) → proposed (announced): novox/mesh-sdk#169's head announced
- 2026-11-06 01: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-06 08: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`.
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.
ComposerKey also takes the mesh package versions the ask names, sorted, so a composer or a manifest validator built for one group's versions is never reused for another's. An ask that names no versions gets exactly today's key, so composers already kept stay valid. Only mesh-build-go calls it.
Part of the group fix/1921-zero-version-builds with mesh-delivery (every producer of a group build's versions names every member; the trunk judge keeps the running validator; the node-engine beside a check is the group's member) and mesh-catalog (mesh-build-go passes the asked versions). Issue 1921 note 45.
Quick fix (rejected): salt an existing argument in mesh-build-go. Thorough fix (chosen): the key's one definition covers its inputs.
Tests: assertions folded into TestAComposerIsKeptByWhatItWasBuiltFrom (mesh-sdk is over its test budget); they fail without the change.
Reviewed-by: mesh-code-reviewer@shanks at
0fbc4ce6f8https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
Delivery
novox/mesh-sdk@0fbc4ce6f816— merged since 2026-11-06T08:00:19ZSource — source.main moved to novox/mesh-sdk@a0e5530aef. Whether it reached the machines is
mesh-delivery-view's, derived fromsource.main, the wants and the haves.Group
fix/1921-zero-version-builds: novox/mesh-catalog@051a10d14b, novox/mesh-delivery@b1094a9265, novox/mesh-sdk@0fbc4ce6f8Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition of this change up to its merge:git log --notes=mesh-plan.