The protocol is split per capability, and an SDK implements it
Two corrections, both from the operator and both better than what was written. An SDK is an implementation of the mesh's module protocol in one language, and nothing more. The first draft defined it by the test it passes, which describes how you check one rather than what one is — and leaves it sounding like a library that helpers could accumulate in. And the protocol is split per capability, which was missing entirely. A module that only consumes events uses the event capability; one that serves tools uses the tool capability; a provider uses provisioning. Nothing about consuming an event requires knowing how a grant is answered, so an SDK need not implement all of it to be real. That has a precedent here: a host declares which resource kinds it can apply, and a partial host is a real thing rather than a broken one (ADR 0005). An SDK implementing the floor and events is exactly as legitimate, and a module written against it is a module that does events. Which changes what adding a language costs. A Rust SDK doing connection and events is useful the day it exists, with tools and provisioning following when something needs them — rather than a language being unsupported until it is entirely supported, which is what makes adding one a project instead of a contribution. Conformance is therefore per capability too: a monolithic pass or fail would make a partial implementation indistinguishable from a broken one, which is the distinction the whole thing rests on. Claude-Session: https://claude.ai/code/session_01D6qtiYU3P9jk3pnAXyAFyx
This commit is contained in:
@@ -106,7 +106,7 @@ python3 00-META/checks/index.py fail if stale
|
||||
- **0071** — [Genesis clones from a mesh, and checks what it got](0071-where-genesis-gets-its-source.md)
|
||||
- **0072** — [Two graphs, and a build chain that orders itself](0072-two-graphs-and-the-build-chain.md)
|
||||
- **0073** — [The installer carries a builder, and the registry stays where it is](0073-the-installer-carries-a-builder.md)
|
||||
- **0074** — [The wire is specified; an SDK is whatever passes the conformance suite](0074-the-wire-is-specified-not-the-types.md) *(proposed)*
|
||||
- **0074** — [The mesh defines a module protocol; an SDK is an implementation of it](0074-the-wire-is-specified-not-the-types.md) *(proposed)*
|
||||
|
||||
### What runs on them, and how it gets there
|
||||
|
||||
|
||||
Reference in New Issue
Block a user