# 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. For technology-specific
implementations of the other three traits (`wasmtime`, `wasmparser`, and the
`Http`/`Grpc`/`Mcp`/`Secrets`/`Complete`/`Database` dispatchers), see
[wasm-capability-system](https://github.com/sweengineeringlabs/wasm-capability-system).
## 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