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

Merged
mesh-tools merged 3 commits from fix/1921-zero-version-builds into main 2026-11-06 08:00:29 +00:00
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 merged: source.main moved to novox/mesh-delivery@205a3b37501f
mesh/delivery-group group fix/1921-zero-version-builds merged: every member is merged
mesh/check checking b1094a926592 on 205a3b37501f | novox/mesh-delivery#160 in group fix/1921-zero-version-builds
b1094a9265
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
Author
Member

Delivery novox/mesh-delivery@b1094a926592 — merged since 2026-11-06T08:00:33Z

Source — source.main moved to novox/mesh-delivery@205a3b3750. 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@051a10d14b, novox/mesh-delivery@b1094a9265, novox/mesh-sdk@0fbc4ce6f8

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

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)
  • 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-delivery@b1094a926592` — **merged** since 2026-11-06T08:00:33Z **Source** — source.main moved to novox/mesh-delivery@205a3b37501f. 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-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) - 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-tools merged commit 205a3b3750 into main 2026-11-06 08:00:29 +00:00
mesh-tools deleted branch fix/1921-zero-version-builds 2026-11-06 08:00:30 +00:00
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