ADR 0193: every bundle the runtime serves is launched, and the runtime knows no language; design 38 WP4d
This commit is contained in:
@@ -13,6 +13,7 @@ decisions:
|
||||
- 02-DECISIONS/0149-the-live-mesh-is-the-test-bed.md
|
||||
- 02-DECISIONS/0188-a-modules-own-code-is-bundles-in-any-language-and-a-tools-bundle-speaks-mcp-to-the-runtime.md
|
||||
- 02-DECISIONS/0192-a-tools-bundle-declares-what-it-is-given-and-the-runtime-hands-it-to-that-bundle-alone.md
|
||||
- 02-DECISIONS/0193-every-bundle-the-runtime-serves-is-launched-and-the-runtime-knows-no-language.md
|
||||
---
|
||||
|
||||
# 38. Building the operator's machine
|
||||
@@ -261,6 +262,21 @@ Two traps met on the way: a tools bundle whose module declares no `tools` list m
|
||||
the composer delivers it nowhere while the build reports success; and a module whose builds are
|
||||
pinned to an old commit is left out of a merge's plan and must be built from `main` by hand.
|
||||
|
||||
## WP4d — Every served bundle is launched; the runtime in Go
|
||||
|
||||
*mesh-sdk, mesh-controller, mesh-tools. [ADR 0193](../../02-DECISIONS/0193-every-bundle-the-runtime-serves-is-launched-and-the-runtime-knows-no-language.md).*
|
||||
|
||||
**In order.** The SDK's stdio loop serves what a bundle registered under the module it is told it
|
||||
serves as. The builder writes, beside every TypeScript entrypoint, an executable launcher that
|
||||
imports it and serves what it registered; the composer names the launcher where it named the
|
||||
entrypoint. The runtime launches every served entrypoint and imports none; the resolve hook and the
|
||||
per-registration environment go. Proven live on all four machines. Then the runtime is rewritten in
|
||||
Go against the same contract — the bus, the memberships and seats, the launcher, the console's MCP
|
||||
over HTTP — and replaces the TypeScript one, proven the same way.
|
||||
|
||||
**Proof.** The tests ADR 0193 names; live, every moved module's tools and both node seats answer from
|
||||
launched bundles on every machine, and then do again from the Go runtime.
|
||||
|
||||
## WP4c — The module's own long-running code moves
|
||||
|
||||
*Not yet broken down.* Twenty-three containers carry code that is not a tool: event handlers,
|
||||
|
||||
Reference in New Issue
Block a user