diff --git a/03-DESIGN/01-to-be/36-the-operators-agent-on-a-machine.md b/03-DESIGN/01-to-be/36-the-operators-agent-on-a-machine.md index fcb278e..81a113e 100644 --- a/03-DESIGN/01-to-be/36-the-operators-agent-on-a-machine.md +++ b/03-DESIGN/01-to-be/36-the-operators-agent-on-a-machine.md @@ -112,15 +112,18 @@ the playbooks in the record. ## 4. The console -The module tells the agent where the console is, and the port is the console's to say. **The console -provides a node-scoped provision** — its MCP endpoint on loopback — serving the port the machine gave -it, and the module requires it. A requirement names what the consumer is coupled to -([ADR 0027](../../02-DECISIONS/0027-a-provision-names-what-the-consumer-is-coupled-to.md)); co-location -resolves it; a machine without the console refuses the module by name. [To-be 34](34-the-console.md) is -amended in the same change; issue 192 (open) found the gap. +> **Revised 2026-10-03, building it.** The vendor's managed-settings key for tool servers refuses any +> URL that is not `https://`, including one on loopback, so it cannot carry the console. The module +> owns the vendor's **exclusive** managed tool-server file instead (operator's choice): the console as +> `mesh`, over HTTP on loopback, and every server in the module's `mcp_servers` setting — and no other. +> A server added by hand, a project's own file and a plugin's servers stop loading; claude.ai's +> connectors are kept by a managed setting. A person's own servers move into the setting, for the mesh +> or for one node. Stdio straight to the bus, through the runtime's own client, was weighed and left +> for later: it needs a verb the delivered runtime does not have, and a session holding its own bus +> connection breaks on a credential rotation. **Other tool servers** a person wants on every machine, or on one, are a declared setting of this module -— mesh layer or node layer — rendered into the same managed key. The person sets them with the +— mesh layer or node layer — rendered into the same managed file. The person sets them with the controller's `settings` verb on this module, so the list stays declared state; a tool of this module cannot set it, because a bundle calls nothing (ADR 0192). The agent's own HTTP-only constraint for managed servers applies; a person's local command-based servers stay their own, in their own file.