Every build at a group's heads names every member; the node-engine beside a group's check is its member (issue 1921) #160

Open
mesh-tools wants to merge 3 commits from fix/1921-zero-version-builds into main
Member

Try try-1793922770570252033 of the registry group failed in every step that builds at the group's heads: the composition on four nodes, the manifest validator build and 12 candidate builds, each on an unpublished mesh-contracts package at the zero version (issue 1921 note 45). #159 covered only the checker's test asks.

  • One shared function, sdk/grouppackages Heads, names every member at its head (its packages, or its root module path when none is known), and all four producers use it: the checker's test ask, its judge build, its composer build (carried in the fetch's packages), and the indexer's candidate builds. A candidate's fingerprint is computed before, so it is unchanged and the merged build is kept.
  • The trunk judge in refuseUnmovableIndexer takes the latest versions alone, so a new indexer is judged with the validator the running parts hold (ADR 0633 clause 6), and runs separately when the group's versions differ.
  • besideFor places novox/mesh-host at the member's head when the group holds it (ADR 0573 §4, ADR 0482 §2); otherwise at the running commit (ADR 0548 §6). Such a verdict is not carried on a running-commit move.

Quick fix (rejected): copy #159's loop into each producer. Thorough fix (chosen): one function every producer calls, the third gap of this kind tonight.

Group with mesh-sdk and mesh-catalog on the same branch (the composer key covers the asked versions).

Tests: rows and assertions in existing tests, each failing without its change; no new test function (mesh-delivery is over its budget).

Reviewed-by: mesh-code-reviewer@shanks at b1094a9265

https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i

Try try-1793922770570252033 of the registry group failed in every step that builds at the group's heads: the composition on four nodes, the manifest validator build and 12 candidate builds, each on an unpublished mesh-contracts package at the zero version (issue 1921 note 45). #159 covered only the checker's test asks. - One shared function, sdk/grouppackages Heads, names every member at its head (its packages, or its root module path when none is known), and all four producers use it: the checker's test ask, its judge build, its composer build (carried in the fetch's packages), and the indexer's candidate builds. A candidate's fingerprint is computed before, so it is unchanged and the merged build is kept. - The trunk judge in refuseUnmovableIndexer takes the latest versions alone, so a new indexer is judged with the validator the running parts hold (ADR 0633 clause 6), and runs separately when the group's versions differ. - besideFor places novox/mesh-host at the member's head when the group holds it (ADR 0573 §4, ADR 0482 §2); otherwise at the running commit (ADR 0548 §6). Such a verdict is not carried on a running-commit move. Quick fix (rejected): copy #159's loop into each producer. Thorough fix (chosen): one function every producer calls, the third gap of this kind tonight. Group with mesh-sdk and mesh-catalog on the same branch (the composer key covers the asked versions). Tests: rows and assertions in existing tests, each failing without its change; no new test function (mesh-delivery is over its budget). Reviewed-by: mesh-code-reviewer@shanks at b1094a926592b32e3e01f70d1da71add4a42e19f https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
mesh-tools added 3 commits 2026-11-06 01:00:47 +00:00
One shared function (sdk/grouppackages) for the check asks, the judge, the composer and a candidate's builds, so a producer cannot leave a member out.

Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
The trunk's manifest validator is built without a group's heads; the package function's tests fold into existing ones (issue 1921)
mesh/delivery ready: it is merged on the Approve
mesh/check pass b1094a926592 on cd01f1c196d8 | unit 6446 run, 187 kept, 14 skipped | integration 6580 run, 220 kept, 23 skipped | over bound: unit, in…
mesh/delivery-group group fix/1921-zero-version-builds ready: every member ready, and composed together they pass
b1094a9265
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
Author
Member

Delivery novox/mesh-delivery@b1094a926592 — ready since 2026-11-06T01:00:52Z

Group fix/1921-zero-version-builds: novox/mesh-catalog@051a10d14b, novox/mesh-delivery@b1094a9265, novox/mesh-sdk@0fbc4ce6f8

Transitions

  • 2026-11-06 01:00 (new) → proposed (announced): novox/mesh-delivery#160'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)

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-delivery@b1094a926592` — **ready** since 2026-11-06T01:00:52Z **Group** `fix/1921-zero-version-builds`: novox/mesh-catalog@051a10d14b99, novox/mesh-delivery@b1094a926592, novox/mesh-sdk@0fbc4ce6f816 **Transitions** - 2026-11-06 01:00 (new) → proposed (announced): novox/mesh-delivery#160'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) The commit's note under `refs/notes/mesh-plan` keeps every transition of this change up to its merge: `git log --notes=mesh-plan`.
All checks were successful
mesh/delivery ready: it is merged on the Approve
mesh/check pass b1094a926592 on cd01f1c196d8 | unit 6446 run, 187 kept, 14 skipped | integration 6580 run, 220 kept, 23 skipped | over bound: unit, in…
mesh/delivery-group group fix/1921-zero-version-builds ready: every member ready, and composed together they pass
You are not authorized to merge this pull request.
This pull request can be merged automatically.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin fix/1921-zero-version-builds:fix/1921-zero-version-builds
git checkout fix/1921-zero-version-builds
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-delivery#160