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
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
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
Deliverynovox/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`.
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.
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
packagesname 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
80b8002aand0c465fb9keep (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
1171b684d0https://claude.ai/code/session_01NcbgfFfQ4Z9UE5jK32PmE5
Delivery
novox/mesh-catalog@1171b684d08b— merged since 2026-11-08T00:01:54ZSource — source.main moved to novox/mesh-catalog@d03b455ea6. Whether it reached the machines is
mesh-delivery-view's, derived fromsource.main, the wants and the haves.Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition of this change up to its merge:git log --notes=mesh-plan.