Manifests name their packages by full module path (issue 1966, bootstrap recovery) #631

Merged
mesh-tools merged 2 commits from fix/1966-packages-by-module-path into main 2026-11-08 00:01:30 +00:00
Member

Recovery fix (mesh instruction recovery-fixes-merge-and-tell), merged by lead-47@shanks without the Approve; the operator is told at the terminal.

Cause. The indexer's judge refuses a manifest whose packages name a package other than by its module path (design 32). 15 manifests named them short (builds, sshkeys, forgemsg, backupgood, diskreadings, grantsstate, busgrants). Live effect 2026-11-08: mesh-delivery-gate held on novox; mesh-build-go/image/node, mounts and restic held on shanks; mesh-wireguard's new build cannot be built while mesh-build-go is held; and grants' full pass (00:52) counts all 15 as missing (nats and mesh-vault among them) and would drop their users' permissions; its seal guard holds that list back.

Kind and fix. Quick: rename the gate's key only. Thorough (chosen): all 15, each key equal to the import path the module's code uses and present in the indexer's packages state. Four manifest tests strip the forge prefix before their machine-name or host rule. distribution's manifest test now expects the artifact-store alias on port 5100 that 80b8002a and 0c465fb9 keep (it failed on main too).

Evidence. mesh-judge at mesh-delivery main 838dbd59 with 60 seat definitions and the indexer's 89 known packages: change case 144 of 144 accepted; trunk case refuses exactly these 15, each for its short package name. go vet (both tags) and go test pass in the 15 modules; checks/* pass. No test function added.

Follow-up. A pull request's candidate verdict does not refuse on a package's name (J7(3)), so these merged unseen; noted on issue 1966.

Undo. Revert this merge commit.

Reviewed-by: mesh-code-reviewer@shanks at 1171b684d0

https://claude.ai/code/session_01NcbgfFfQ4Z9UE5jK32PmE5

Recovery fix (mesh instruction recovery-fixes-merge-and-tell), merged by lead-47@shanks without the Approve; the operator is told at the terminal. **Cause.** The indexer's judge refuses a manifest whose `packages` name a package other than by its module path (design 32). 15 manifests named them short (builds, sshkeys, forgemsg, backupgood, diskreadings, grantsstate, busgrants). Live effect 2026-11-08: mesh-delivery-gate held on novox; mesh-build-go/image/node, mounts and restic held on shanks; mesh-wireguard's new build cannot be built while mesh-build-go is held; and grants' full pass (00:52) counts all 15 as missing (nats and mesh-vault among them) and would drop their users' permissions; its seal guard holds that list back. **Kind and fix.** Quick: rename the gate's key only. Thorough (chosen): all 15, each key equal to the import path the module's code uses and present in the indexer's packages state. Four manifest tests strip the forge prefix before their machine-name or host rule. distribution's manifest test now expects the artifact-store alias on port 5100 that 80b8002a and 0c465fb9 keep (it failed on main too). **Evidence.** mesh-judge at mesh-delivery main 838dbd59 with 60 seat definitions and the indexer's 89 known packages: change case 144 of 144 accepted; trunk case refuses exactly these 15, each for its short package name. go vet (both tags) and go test pass in the 15 modules; checks/* pass. No test function added. **Follow-up.** A pull request's candidate verdict does not refuse on a package's name (J7(3)), so these merged unseen; noted on issue 1966. **Undo.** Revert this merge commit. Reviewed-by: mesh-code-reviewer@shanks at 1171b684d08beb7eb385f4f76798262932c76c85 https://claude.ai/code/session_01NcbgfFfQ4Z9UE5jK32PmE5
mesh-tools added 2 commits 2026-11-08 00:01:22 +00:00
Kind: short package names (builds, sshkeys, forgemsg, backupgood,
diskreadings, grantsstate, busgrants) in `packages`, which the indexer's
judge refuses by design 32's rule (a Go package is named by its go.mod's
module path). This held mesh-delivery-gate, the build modules, mounts and
restic. Each key is now the import path the module's code uses, with its
series kept; the manifest tests read the new keys, and the host/machine-name
word tests in mounts, nfs-server, mesh-build-node and mesh-delivery-gate
look past the path's `git.novox.be/novox/` prefix.

Quick fix: only the gate's manifest. Thorough fix (chosen): all 15, since
the same refusal holds each. Follow-up for the checker: the candidate
verdict lets such a name through (J7(3)), so the merge check did not stop it.

Claude-Session: https://claude.ai/code/session_01NcbgfFfQ4Z9UE5jK32PmE5
Round 1: distribution's manifest test expects the artifact-store alias the bootstrap keeps
mesh/delivery merged: source.main moved to novox/mesh-catalog@d03b455ea6e4
mesh/check checking 1171b684d08b on d03b455ea6e4
1171b684d0
The review of 6547933b: the test still wanted the provision retired, though
80b8002a and 0c465fb9 keep it on port 5100 for the running node-engines; it
failed on main too (issue 1966).

Claude-Session: https://claude.ai/code/session_01NcbgfFfQ4Z9UE5jK32PmE5
mesh-tools merged commit d03b455ea6 into main 2026-11-08 00:01:30 +00:00
mesh-tools deleted branch fix/1966-packages-by-module-path 2026-11-08 00:01:30 +00:00
Author
Member

Delivery novox/mesh-catalog@1171b684d08b — merged since 2026-11-08T00:01:54Z

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

Transitions

  • 2026-11-08 00:01 (new) → proposed (announced): novox/mesh-catalog#631's head announced
  • 2026-11-08 00:01 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-08 00:01 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@1171b684d08b` — **merged** since 2026-11-08T00:01:54Z **Source** — source.main moved to novox/mesh-catalog@d03b455ea6e4. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves. **Transitions** - 2026-11-08 00:01 (new) → proposed (announced): novox/mesh-catalog#631's head announced - 2026-11-08 00:01 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-08 00:01 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`.
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#631