ADR 0187: a module's own code is bundles in any language, and a tools bundle speaks MCP to the runtime; design 38 gains WP1b
The operator's direction, absent from every record until now: the SDK must not limit who writes a module; tools and services may be written in any language; one module may ship several bundles (tools, a seat's implementation, a daemon); skeleton first, a full implementation when the work requires it. ADR 0175 had the runtime import a bundle, which only JavaScript can be. 0187 makes a tools bundle a process the node's runtime launches and speaks MCP over stdio to — the vocabulary the runtime already speaks outward — so any language with an MCP library can write one today and the mesh's SDK per language is thin; the transport stays in the runtime (0039's refusal, kept). Importing a TypeScript bundle is the shortcut, not the contract. Notes in 0175, 0039 and 0150 say where their mechanism moved; design 38 records WP1 as built and adds WP1b (the launcher and the skeleton SDKs); the glossary's bundle widens.
This commit is contained in:
@@ -8,6 +8,8 @@ reconstructed: false
|
||||
|
||||
# 39. What the SDK holds, and what it refuses
|
||||
|
||||
> **The mechanism changed — 2026-10-02, by [ADR 0187](0187-a-modules-own-code-is-bundles-in-any-language-and-a-tools-bundle-speaks-mcp-to-the-runtime.md).** The test of this record — frequent *and* cascading does not belong — stands and now applies to one SDK per language. Where *what it holds* names the broker client and the event consumer, read: the local protocol a tools bundle speaks to the node's runtime; the transport lives in the runtime and in no SDK, which is what keeps a bus change from rebuilding any module in any language.
|
||||
|
||||
_Reconciliation note (2026-09-05): supersedes the earlier "repository structure" decision, which the consolidation folded; no standalone record remains to point at, so body references to it now point at the nearest surviving record, [ADR 0015](0015-applications-live-in-their-own-repository.md)._
|
||||
|
||||
## Context
|
||||
|
||||
Reference in New Issue
Block a user