The build modules build a folder module's packages at their paths and take a zero-version requirement from the ask (issue 1966) #617

Merged
mesh-tools merged 3 commits from fix/1966-build-modules-folders into main 2026-11-05 21:21:10 +00:00
Member

The registry group's first group try (try-1793908525626556582) failed in the build modules, before the group's own code was judged (issue 1921 note 43). This release fixes both build-module gaps, and a start-order race in mesh-vault that failed this pull request's first check. It ships before the registry group.

  • mesh-build-node builds a TypeScript package artifact at its own path (ADR 0634 §8). A contracts module declares one package per seat under ts/seats/<seat>/, each with its own lock; the builder took the module folder as the one package and refused it. Now packageDir takes the artifact's one path when it holds a package.json, else the module folder as before (no trunk artifact names a path). Fetch, npm ci, build and the unit level run per package.
  • mesh-build-go takes a requirement at the zero version from the ask (ADR 0573 §2, §4): the ask's commit for that package, else the member's head of its repository, else the trunk's latest published version; never a search of the pull request heads for commit 000000000000.
  • mesh-vault starts its passes once Serve holds the runtime's channel (issue 774 note 124). It started them earlier, so every watch was refused "before Serve" and waited for the minute's pass; TestTheVaultWholeRotatesANodesLoginWithAStandInEngine met that on a loaded build node ("never: the rotation begins"), and it fails on trunk when Serve is delayed. That test is the check. The kind (a bus call before Serve) is fixed in mesh-sdk's runtime in the registry group.

Quick or thorough: thorough for the build modules; quick for mesh-vault, with the thorough fix of its kind in mesh-sdk (registry group).

Tested: vet and both levels green in mesh-build-go, mesh-build-node and mesh-vault; new rows fail without each build-module change; mesh-catalog's checks/* pass; no manifest changed.

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

https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i

The registry group's first group try (try-1793908525626556582) failed in the build modules, before the group's own code was judged (issue 1921 note 43). This release fixes both build-module gaps, and a start-order race in mesh-vault that failed this pull request's first check. It ships before the registry group. - **mesh-build-node builds a TypeScript package artifact at its own path** (ADR 0634 §8). A contracts module declares one package per seat under `ts/seats/<seat>/`, each with its own lock; the builder took the module folder as the one package and refused it. Now `packageDir` takes the artifact's one path when it holds a package.json, else the module folder as before (no trunk artifact names a path). Fetch, npm ci, build and the unit level run per package. - **mesh-build-go takes a requirement at the zero version from the ask** (ADR 0573 §2, §4): the ask's commit for that package, else the member's head of its repository, else the trunk's latest published version; never a search of the pull request heads for commit 000000000000. - **mesh-vault starts its passes once Serve holds the runtime's channel** (issue 774 note 124). It started them earlier, so every watch was refused "before Serve" and waited for the minute's pass; `TestTheVaultWholeRotatesANodesLoginWithAStandInEngine` met that on a loaded build node ("never: the rotation begins"), and it fails on trunk when Serve is delayed. That test is the check. The kind (a bus call before Serve) is fixed in mesh-sdk's runtime in the registry group. Quick or thorough: thorough for the build modules; quick for mesh-vault, with the thorough fix of its kind in mesh-sdk (registry group). Tested: vet and both levels green in mesh-build-go, mesh-build-node and mesh-vault; new rows fail without each build-module change; mesh-catalog's checks/* pass; no manifest changed. Reviewed-by: mesh-code-reviewer@shanks at cbea2470d225ab00c6ece043e506d12fccb91952 https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
mesh-tools added 2 commits 2026-11-05 20:30:43 +00:00
A folder module (the contracts folders) declares several package artifacts under ts/seats/<seat>/, each with its own package.json and lock and none at the module directory; the fetch asked for a lock at the module directory and failed the group's check. The fetch installs, the build packs and the test level runs at the artifact's path; an artifact naming no usable path keeps the module directory. The module's .gitignore anchors the binary's name so the command directory is not ignored.

Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
mesh-build-go takes a zero-version requirement from the ask or the trunk, never from the pull request heads (ADR 0573 sections 2 and 4, issue 1966)
mesh/check failed: integration: mesh-vault/cmd/mesh-vault.Tes… | 1feda1f533b8 on 559939aa8ce1 | judged by the candidate's mesh-build-go at 87d30b709d68
mesh/delivery closed: a newer head of the same pull request
1feda1f533
A go.mod requirement of a forge module at v0.0.0-00010101000000-000000000000 names no commit; the fetch looked for the commit 000000000000 among the pull request heads and failed. It is now taken from the commit the ask names for the package, else from the head of its repository among the asked versions, else from the latest published version.

Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
Author
Member

Delivery novox/mesh-catalog@cbea2470d225 — merged since 2026-11-05T21:21:13Z

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

Transitions

  • 2026-11-05 21:03 (new) → proposed (announced): novox/mesh-catalog#617's head announced
  • 2026-11-05 21:03 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 21:21 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@cbea2470d225` — **merged** since 2026-11-05T21:21:13Z **Source** — source.main moved to novox/mesh-catalog@df8168f4843f. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves. **Transitions** - 2026-11-05 21:03 (new) → proposed (announced): novox/mesh-catalog#617's head announced - 2026-11-05 21:03 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 21:21 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`.
jschoubben added 1 commit 2026-11-05 21:03:49 +00:00
mesh-vault starts its passes once Serve holds the runtime's channel: started earlier every watch is refused and waits for the minute's pass (issue 774)
mesh/check being carried to cbea2470d225 on df8168f4843f | from 559939aa8ce1
mesh/delivery merged: source.main moved to novox/mesh-catalog@df8168f4843f
cbea2470d2
Checked by TestTheVaultWholeRotatesANodesLoginWithAStandInEngine: the race it met is what this closes.

Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
Author
Member

mesh-delivery: the operator's Approve of this pull request's merge into main is ended: its head 1feda1f533 is no longer the pull request's head, or the pull request closed. Nothing is merged on it. The operator is asked again once the checks pass at the new head.

mesh-delivery: the operator's Approve of this pull request's merge into main is ended: its head 1feda1f533b8 is no longer the pull request's head, or the pull request closed. Nothing is merged on it. The operator is asked again once the checks pass at the new head.
mesh-tools merged commit df8168f484 into main 2026-11-05 21:21:10 +00:00
mesh-tools deleted branch fix/1966-build-modules-folders 2026-11-05 21:21:11 +00:00
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-catalog#617