ADR 0195: the mesh's tools are found by address, not announced whole; research 021; to-be 34 §3a #329

Merged
mesh-admin merged 1 commits from decision/0195-the-mesh-tools-are-found-by-address into main 2026-10-03 19:49:38 +00:00
Contributor

The operator's direction of 2026-10-03: tools discoverable in layers; asking novox's postgres is not asking ace's.

Measured (research 021): 228 tools / 110 KB announced at every session start, taken once; postgres and mssql listed once with node optional and "whichever answers" (design 34 §3 claimed one listing per machine — not true live); 47 "not answering" entries, mostly modules without tools or retired.

Decided (ADR 0195): one address per layer — <seat>.<verb> (mesh seat), <node>/<seat>.<verb> (node seat), <node>/<module>.<tool> (assignment), plus <module>.<tool> for interchangeable modules; a non-interchangeable module without a machine is refused naming its machines. The console announces five tools — mesh_overview, mesh_machine, mesh_search, mesh_describe, mesh_call — each answered from the mesh when asked (no stale session list); addresses are arguments because API tool names allow only letters, digits, _, - (≤64). The flat catalogue stays reachable, unannounced. Options weighed: rely on the client's deferral; one tool per assignment; MCP resources.

Design 34 back to designed with §3a. HTTP stays the console's transport. Checks pass.

The operator's direction of 2026-10-03: tools discoverable in layers; asking novox's postgres is not asking ace's. Measured (research 021): 228 tools / 110 KB announced at every session start, taken once; postgres and mssql listed once with `node` optional and "whichever answers" (design 34 §3 claimed one listing per machine — not true live); 47 "not answering" entries, mostly modules without tools or retired. Decided (ADR 0195): one address per layer — `<seat>.<verb>` (mesh seat), `<node>/<seat>.<verb>` (node seat), `<node>/<module>.<tool>` (assignment), plus `<module>.<tool>` for interchangeable modules; a non-interchangeable module without a machine is refused naming its machines. The console announces five tools — `mesh_overview`, `mesh_machine`, `mesh_search`, `mesh_describe`, `mesh_call` — each answered from the mesh when asked (no stale session list); addresses are arguments because API tool names allow only letters, digits, `_`, `-` (≤64). The flat catalogue stays reachable, unannounced. Options weighed: rely on the client's deferral; one tool per assignment; MCP resources. Design 34 back to `designed` with §3a. HTTP stays the console's transport. Checks pass.
mesh-admin added 1 commit 2026-10-03 19:49:34 +00:00
mesh-admin merged commit 8d5e6ef76f into main 2026-10-03 19:49:38 +00:00
mesh-admin deleted branch decision/0195-the-mesh-tools-are-found-by-address 2026-10-03 19:49:38 +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/hq#329