The reader of a bundle's stdout stopped at a line over 16 MiB without a word and the bundle's next write blocked for good: every call of the module then timed out, unheard of. Now the line is said, the bundle ended and started again by the exit path. A call the bundle does not answer in time is logged with tool and caller, and a refused publish of an answer (to a caller's inbox) is said once per subject per minute. Quick fix: only the bundle that met it (mesh-hand-acts' answer is cut by its own module). Thorough fix, chosen: the runner guards every bundle, so the kind (a silent freeze of a module runtime) cannot recur for any module. Claude-Session: https://claude.ai/code/session_01NcbgfFfQ4Z9UE5jK32PmE5
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.