The mesh's own verbs are the mesh-controller seat's tools #166

Merged
jschoubben merged 1 commits from feat/the-mesh-answers-for-itself into main 2026-09-30 15:54:18 +00:00
Owner

novox/hq ADR 0154 (design 33 built).

  • A seat's protocol lives in the store (migration 0047), seeded from the compiled defaults where a row has none and additively thereafter.
  • A served verb carries description and schema; a bare name still parses.
  • Holding a mesh seat requires serving its verbs; refusal names them.
  • A node-scoped seat's tool carries the node (…tool.<verb>.<node>); users publish .*.
  • The controller serves tools, status, nodes, node, modules, seats, builds, plan, assign, unassign, push, build on mesh.seat.mesh-controller.tool.<verb> by running the same command in its own binary; its manifest lists them under tools.
  • * reaches a role's tools; seat:<seat>.<verb> grants one.

Two store-backed tests fail on main already (adopting_test / sendable_test byte-for-byte), unrelated; everything else green including make check.

Merge first of the three; then mesh-tools; then mesh-catalog (records).

novox/hq ADR 0154 (design 33 built). - A seat's protocol lives in the store (migration 0047), seeded from the compiled defaults where a row has none and additively thereafter. - A served verb carries description and schema; a bare name still parses. - Holding a mesh seat requires serving its verbs; refusal names them. - A node-scoped seat's tool carries the node (`…tool.<verb>.<node>`); users publish `.*`. - The controller serves `tools`, `status`, `nodes`, `node`, `modules`, `seats`, `builds`, `plan`, `assign`, `unassign`, `push`, `build` on `mesh.seat.mesh-controller.tool.<verb>` by running the same command in its own binary; its manifest lists them under `tools`. - `*` reaches a role's tools; `seat:<seat>.<verb>` grants one. Two store-backed tests fail on main already (adopting_test / sendable_test byte-for-byte), unrelated; everything else green including `make check`. Merge first of the three; then mesh-tools; then mesh-catalog (records).
jschoubben added 1 commit 2026-09-30 15:46:02 +00:00
A seat's protocol lives in the store (migration 0047; seeded additively), a served verb carries its
description and schema, holding a mesh seat requires serving its verbs, a node-scoped seat's tool
carries the node, and the control plane serves status, nodes, node, modules, seats, builds, plan,
assign, unassign, push, build and tools on its seat by running the same commands (novox/hq ADR 0132,
ADR 0154, design 33). A grant of * reaches a role's tools; seat:<seat>.<verb> grants one.
jschoubben merged commit 91c4da8a82 into main 2026-09-30 15:54:18 +00:00
jschoubben deleted branch feat/the-mesh-answers-for-itself 2026-09-30 15:54:19 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-controller#166