The cause: the tool runner serves a seat's verb only from a tool registered as <seat>.<verb> (mesh-tools runtime.go serveSeats, the mesh-sdk stdio convention, as dunst's node-notifier.send), and the assigner registered its seven verbs under bare names, so nothing served mesh-placement.*. ace's node-tools journal said "mesh-delivery-assigner claims mesh-placement and implements no placement … not served", and the controller raised "mesh-placement on ace is not answering".
The fix: seat_tools.go tools() names each tool catalogue.PlacementSeat + "." + v.Name; one line plus its test. gofmt -l, the unit suite and vet pass.
The independent review is bent as for #101 (rules-are-weighed): a one-line naming change, read by the lead; the check covers the rest.
The cause: the tool runner serves a seat's verb only from a tool registered as `<seat>.<verb>` (mesh-tools runtime.go serveSeats, the mesh-sdk stdio convention, as dunst's `node-notifier.send`), and the assigner registered its seven verbs under bare names, so nothing served `mesh-placement.*`. ace's node-tools journal said "mesh-delivery-assigner claims mesh-placement and implements no placement … not served", and the controller raised "mesh-placement on ace is not answering".
The fix: seat_tools.go tools() names each tool `catalogue.PlacementSeat + "." + v.Name`; one line plus its test. gofmt -l, the unit suite and vet pass.
The independent review is bent as for #101 (rules-are-weighed): a one-line naming change, read by the lead; the check covers the rest.
Issue 1126, ADR 0567.
Reviewed-by: lead-47@shanks at 49ea5c96e390c20e1a27a4a7f0a3210732a58bbd
Deliverynovox/mesh-delivery@49ea5c96e390 — merged since 2026-10-28T21:14:14Z
Source — source.main moved to novox/mesh-delivery@38f89c6976. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.
Transitions
2026-10-28 21:07 (new) → proposed (announced): novox/mesh-delivery#106's head announced
2026-10-28 21:07 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-10-28 21:14 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@49ea5c96e390` — **merged** since 2026-10-28T21:14:14Z
**Source** — source.main moved to novox/mesh-delivery@38f89c6976c9. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves.
**Transitions**
- 2026-10-28 21:07 (new) → proposed (announced): novox/mesh-delivery#106's head announced
- 2026-10-28 21:07 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-10-28 21:14 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.
The cause: the tool runner serves a seat's verb only from a tool registered as
<seat>.<verb>(mesh-tools runtime.go serveSeats, the mesh-sdk stdio convention, as dunst'snode-notifier.send), and the assigner registered its seven verbs under bare names, so nothing servedmesh-placement.*. ace's node-tools journal said "mesh-delivery-assigner claims mesh-placement and implements no placement … not served", and the controller raised "mesh-placement on ace is not answering".The fix: seat_tools.go tools() names each tool
catalogue.PlacementSeat + "." + v.Name; one line plus its test. gofmt -l, the unit suite and vet pass.The independent review is bent as for #101 (rules-are-weighed): a one-line naming change, read by the lead; the check covers the rest.
Issue 1126, ADR 0567.
Reviewed-by: lead-47@shanks at
49ea5c96e3Delivery
novox/mesh-delivery@49ea5c96e390— merged since 2026-10-28T21:14:14ZSource — source.main moved to novox/mesh-delivery@38f89c6976. 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.