ADR 0044 — what the SDK holds, and what it refuses
Supersedes ADR 0030's 'types, not behaviour' line for mesh-sdk. The boundary is change-frequency, not kind: the SDK holds the stable spine (tool-serving harness, messaging/event framework, contracts, core primitives) and refuses per-module clients, per-module tool code, and anything volatile — because those are what turned hal/sdk into constant maintenance and made every edit rebuild every module. States the rule (frequent AND cascading is the disease), why the root cause was intra-module feature-sharing leaking into inter-module coupling, and where per-module shared code lives instead (in the module — a shared file, or a module-local sdk for the few large ones). Updates repos.md's canonical mesh-sdk description to match; leaves 0030 untouched (immutable). Claude-Session: https://claude.ai/code/session_01LrgweAeERJYBg88c5cKDzF
This commit is contained in:
+1
-1
@@ -31,7 +31,7 @@ target, not the present.
|
||||
| `mesh-substrate` | 1 | the four pinned services, as declarations |
|
||||
| `mesh-control` | 2 | the control plane and its contexts |
|
||||
| `mesh-surfaces` | 3 | tools, web, cli |
|
||||
| `mesh-sdk` | — | contracts shared across tiers |
|
||||
| `mesh-sdk` | — | the stable spine modules build against — the tool-serving harness, the messaging/event framework, the contracts and core primitives. Holds nothing per-module and nothing volatile ([ADR 0044](../02-DECISIONS/0044-what-the-sdk-holds-and-refuses.md)). |
|
||||
| `mesh-lab` | — | **exists.** The lab — scenario lifecycle, networking, placement. Ships to nobody; runs on a workstation. |
|
||||
|
||||
Tier 4's shape is open, and deliberately so: see ADR 0030 and
|
||||
|
||||
Reference in New Issue
Block a user