hq ADR 0193: the runtime knows no language; the build makes each served entrypoint executable.
Builder: beside every .js entrypoint of a TypeScript bundle, <entry>.serve.mjs, mode 0755, which imports the entrypoint and serves what it registered over MCP on stdio through the bundle's own SDK (serveRegisteredOverStdio, SDK 0.1.4). Nothing for Go, whose build is a binary.
The build records its launchers on the bundle (Built.Launchers → Bundle.Launchers, kept in the stored manifest).
Composer: MESH_TOOL_MODULES names the launcher where a build wrote one and the entrypoint where it did not, so bundles built before this keep serving until rebuilt — no flag day.
Tests: launcher written executable with the right import, none for Go; composer names the launcher for a new build and the entrypoint for an old one. Full suite passes from the worktree beside the current catalogue. End to end: the nftables bundle assembled this way, started with MESH_SERVED_MODULE=nftables, listed node-packet-filter.rules/reload/remove and firewall_rules.
hq ADR 0193: the runtime knows no language; the build makes each served entrypoint executable.
- Builder: beside every `.js` entrypoint of a TypeScript bundle, `<entry>.serve.mjs`, mode 0755, which imports the entrypoint and serves what it registered over MCP on stdio through the bundle's own SDK (`serveRegisteredOverStdio`, SDK 0.1.4). Nothing for Go, whose build is a binary.
- The build records its launchers on the bundle (`Built.Launchers` → `Bundle.Launchers`, kept in the stored manifest).
- Composer: `MESH_TOOL_MODULES` names the launcher where a build wrote one and the entrypoint where it did not, so bundles built before this keep serving until rebuilt — no flag day.
Tests: launcher written executable with the right import, none for Go; composer names the launcher for a new build and the entrypoint for an old one. Full suite passes from the worktree beside the current catalogue. End to end: the nftables bundle assembled this way, started with `MESH_SERVED_MODULE=nftables`, listed `node-packet-filter.rules/reload/remove` and `firewall_rules`.
The runtime knows no language: the build makes each served entrypoint executable. For a TypeScript
bundle that is <entry>.serve.mjs, which imports the entrypoint and serves what it registered over
MCP on stdio through the bundle's own SDK. The build records its launchers on the bundle, and the
composer names the launcher where a build wrote one and the entrypoint where it did not, so bundles
built before this keep serving until they are rebuilt.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
hq ADR 0193: the runtime knows no language; the build makes each served entrypoint executable.
.jsentrypoint of a TypeScript bundle,<entry>.serve.mjs, mode 0755, which imports the entrypoint and serves what it registered over MCP on stdio through the bundle's own SDK (serveRegisteredOverStdio, SDK 0.1.4). Nothing for Go, whose build is a binary.Built.Launchers→Bundle.Launchers, kept in the stored manifest).MESH_TOOL_MODULESnames the launcher where a build wrote one and the entrypoint where it did not, so bundles built before this keep serving until rebuilt — no flag day.Tests: launcher written executable with the right import, none for Go; composer names the launcher for a new build and the entrypoint for an old one. Full suite passes from the worktree beside the current catalogue. End to end: the nftables bundle assembled this way, started with
MESH_SERVED_MODULE=nftables, listednode-packet-filter.rules/reload/removeandfirewall_rules.