Part of the blocking fix for issue 1966 (grouped with mesh-host's fix/handed-one-rule): no tool could read the vault's judgement of which modules a machine hands, which hid the circle that left ace's and shanks's build modules and ssh-client refused (tools-are-how-a-module-is-spoken-to).
New read tool own_handed {node} (HandedOf, planReader.judged): per module the vault keeps an own secret of on that machine, and per module placed there, handed or not and why (its plan hands it, its plan hands nothing, no plan yet, not judged).
A row in TestOwnLeavesOutOnlyAModuleWhosePlanHandsIt; vet, integration vet, the unit suite and the catalogue checks pass.
Reviewed by the mesh-code-reviewer agent (round 1, approve), started by fix-1965@shanks.
Part of the blocking fix for issue 1966 (grouped with mesh-host's fix/handed-one-rule): no tool could read the vault's judgement of which modules a machine hands, which hid the circle that left ace's and shanks's build modules and ssh-client refused (tools-are-how-a-module-is-spoken-to).
- New read tool `own_handed {node}` (`HandedOf`, `planReader.judged`): per module the vault keeps an own secret of on that machine, and per module placed there, handed or not and why (its plan hands it, its plan hands nothing, no plan yet, not judged).
- A row in `TestOwnLeavesOutOnlyAModuleWhosePlanHandsIt`; vet, integration vet, the unit suite and the catalogue checks pass.
Reviewed by the mesh-code-reviewer agent (round 1, approve), started by fix-1965@shanks.
Reviewed-by: fix-1965@shanks at 237a534ca4d3dbaa89a54ebc49ef1b8ff9d0fe94
https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
The vault leaves a handed module's own secrets out of `own`, judged by the plan in its assignment, and nothing read
that judgement: on 2026-11-04 the circle on ace (no plan, so not handed, so refused, so no plan) could be told only by
reading the provisioner's plans beside the node-engine's refusals. own_handed answers, per module the vault keeps an
own secret of on the machine or that is placed there, handed or not and why.
Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
Deliverynovox/mesh-catalog@237a534ca4d3 — merged since 2026-11-04T09:16:12Z
Source — source.main moved to novox/mesh-catalog@7a7db0166a. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.
composed together: pass — the checker's verdict at the members' heads (4aecfd7eb245)
Transitions
2026-11-04 08:42 (new) → proposed (announced): novox/mesh-catalog#606's head announced
2026-11-04 08:42 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-04 09:16 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@237a534ca4d3` — **merged** since 2026-11-04T09:16:12Z
**Source** — source.main moved to novox/mesh-catalog@7a7db0166ad2. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves.
**Group** `fix/handed-one-rule`: novox/mesh-catalog@237a534ca4d3, novox/mesh-host@966093d8d067
- composed together: pass — the checker's verdict at the members' heads (4aecfd7eb245)
**Transitions**
- 2026-11-04 08:42 (new) → proposed (announced): novox/mesh-catalog#606's head announced
- 2026-11-04 08:42 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-04 09:16 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.
Part of the blocking fix for issue 1966 (grouped with mesh-host's fix/handed-one-rule): no tool could read the vault's judgement of which modules a machine hands, which hid the circle that left ace's and shanks's build modules and ssh-client refused (tools-are-how-a-module-is-spoken-to).
own_handed {node}(HandedOf,planReader.judged): per module the vault keeps an own secret of on that machine, and per module placed there, handed or not and why (its plan hands it, its plan hands nothing, no plan yet, not judged).TestOwnLeavesOutOnlyAModuleWhosePlanHandsIt; vet, integration vet, the unit suite and the catalogue checks pass.Reviewed by the mesh-code-reviewer agent (round 1, approve), started by fix-1965@shanks.
Reviewed-by: fix-1965@shanks at
237a534ca4https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
Delivery
novox/mesh-catalog@237a534ca4d3— merged since 2026-11-04T09:16:12ZSource — source.main moved to novox/mesh-catalog@7a7db0166a. Whether it reached the machines is
mesh-delivery-view's, derived fromsource.main, the wants and the haves.Group
fix/handed-one-rule: novox/mesh-catalog@237a534ca4, novox/mesh-host@966093d8d0Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition of this change up to its merge:git log --notes=mesh-plan.