# wasm-capability-contract
> **TLDR:** The contract layer (SEA L1) for the capability pattern — zero
> implementation, just the `CapabilityEngine`/`CapabilityRegistry`/
> `CapabilityDispatcher`/`ComponentValidator` traits and the
> component/capability types they're expressed in terms of.
| `CapabilityRegistry` | Resolves a capability name to its dispatch descriptor |
| `CapabilityDispatcher` | Executes one granted capability call |
| `CapabilityEngine` | Loads and invokes a validated Wasm component's handler export |
| `ComponentValidator` | Checks a component before its route is ever registered |
Most consumers won't depend on this crate alone. For `CapabilityRegistry`, see the
sibling [`wasm-capability-core`](https://github.com/sweengineeringlabs/wasm-capability-pattern/tree/dev/scm/main/core) crate
in this same repository for a real, default implementation. A technology-specific
implementation of the other three traits (wrapping `wasmtime`, `wasmparser`, an HTTP/gRPC/MCP
transport, etc.) belongs in its own downstream consumer crate instead -- this repo has no
dependency on, or knowledge of, any of them.
## Documentation
| [Overview](https://github.com/sweengineeringlabs/wasm-capability-pattern/blob/dev/scm/docs/README.md) | WHAT + WHY |
| [Architecture](https://github.com/sweengineeringlabs/wasm-capability-pattern/blob/dev/scm/docs/3-design/architecture.md) | Component diagram, crate boundaries |
| [ADR-001](https://github.com/sweengineeringlabs/wasm-capability-pattern/blob/dev/scm/docs/adr/ADR-001-contract-core-split.md) | Full design record for this contract/core split |
## License
MIT OR Apache-2.0