A bundle's state call on a key-value entry its module asks for in requires (ADR 0595 §1) was refused "keeps and reads no state called", because the tool runner read the old state list alone (issue 1966). It now reads mesh-sdk's one rule, membership.StateIssued. Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
node-tools
The node's tool runtime as a module (novox/hq ADR 0175, to-be 38 WP3). Assigned to a machine, it is one process the host runs from this bundle, as the operator's account: it serves every assigned module's tools and every held seat's verbs on the bus, and answers MCP on the machine's loopback — the console (design 34). The mesh composes the process (which bundles to load, where the credential is, whose machine it is); this manifest says only what the machine must have for it: the interpreter, a place for the credential, the loopback port, and leave to call every tool.
The code is the mesh-tools package in this directory; the module at the repository root,
mesh-tools, builds the images TypeScript bundles are compiled in. See the repository README.