# cortex-sdk
`cortex-sdk` is the public plugin contract for Cortex.
The SDK is capability-first. A plugin declares its capabilities in a manifest,
the host grants a capability set at execution time, and each tool request must
stay inside both boundaries.
## Contracts
- `PluginManifest` describes plugin name, version, ABI version, capabilities,
boundary, and resource limits.
- `PluginContext` carries tenant, actor, session, host-granted capabilities,
and resource limits.
- `ToolRequest` declares the tool name, JSON input, required capabilities, and
requested host paths.
- `ToolResponse` carries JSON output and an audit label.
- `PluginBoundary` distinguishes process and native plugin boundaries.
- `ABI_VERSION` is the SDK ABI version expected by the host.
## Validation
- Empty names and versions are rejected.
- ABI mismatches are rejected.
- Tool requests requiring undeclared capabilities are rejected.
- Missing host-granted capabilities are rejected.
- Host paths are denied unless explicitly enabled.
- Output larger than the configured limit is rejected.
## Conformance
The conformance floor is:
```bash
cargo test -p cortex-sdk
```
The full release gate is:
```bash
./scripts/gate.sh --docker
```