Compatibility
This page tracks the conformance status of known CKP implementations. Each entry shows how many test vectors pass, skip, or fail, and the resulting verdict.
Results table
Section titled “Results table”| Implementation | Level Tested | Pass | Skip | Fail | Verdict |
|---|---|---|---|---|---|
| @clawkernel/sdk | L3 | 31 | 0 | 0 | L3 CONFORMANT |
| ckp-bridge | L1 | 13 | 0 | 0 | L1 CONFORMANT |
| ckp-python | L3 | 31 | 0 | 0 | L3 CONFORMANT |
| NanoClaw Bridge | L3 | 31 | 0 | 0 | L3 CONFORMANT |
| NullClaw Bridge | L3 | 31 | 0 | 0 | L3 CONFORMANT |
| NanoClaw | L1 | 4 | 9 | 0 | L1 PARTIAL |
| PicoClaw | L1 | 4 | 9 | 0 | L1 PARTIAL |
| NanoBot | L1 | 4 | 9 | 0 | L1 PARTIAL |
Understanding the verdicts
Section titled “Understanding the verdicts”CONFORMANT
Section titled “CONFORMANT”All test vectors for the declared level pass with zero skips, zero failures, and zero errors.
PARTIAL
Section titled “PARTIAL”Some vectors pass but at least one is skipped. No vectors fail. This indicates that the implementation handles tested scenarios correctly but does not fully cover every requirement at that level.
NON-CONFORMANT
Section titled “NON-CONFORMANT”At least one vector fails — the implementation returned an incorrect response. This verdict means the runtime does not meet the requirements for that level.
Implementation details
Section titled “Implementation details”@clawkernel/sdk
Section titled “@clawkernel/sdk”The official TypeScript SDK. Zero runtime dependencies. Supports all three conformance levels through a single createAgent() factory function.
- 31 vectors pass across L1, L2, and L3
- L1: 13/13 pass
- L2: 10/10 pass
- L3: 8/8 pass
- See SDK Reference for usage
ckp-bridge
Section titled “ckp-bridge”A minimal reference implementation (~215 lines of TypeScript) that demonstrates the L1 wire protocol. It handles initialization, status, shutdown, heartbeat, and error conditions.
- 13 vectors pass (all L1)
- Full L1 CONFORMANT — zero skips, zero failures
ckp-python
Section titled “ckp-python”An independent CKP implementation in pure Python (~350 lines) using only the standard library. Shares no code with the TypeScript SDK. Implements the full L1+L2+L3 wire protocol from the specification alone — proving CKP is truly language-agnostic.
- 31 vectors pass across L1, L2, and L3
- L1: 13/13 pass
- L2: 10/10 pass (tool pipeline, policy, sandbox, approval, quota)
- L3: 8/8 pass (memory store/query/compact, swarm delegate/report, broadcast/discover, manifest-validation negatives)
- Full L3 CONFORMANT — zero skips, zero failures
- Zero external dependencies — Python 3.9+ standard library only
NanoClaw Bridge
Section titled “NanoClaw Bridge”A CKP stdio bridge for NanoClaw that exposes JSON-RPC handlers for lifecycle, tools, memory, and swarm methods.
- 31 vectors pass across L1, L2, and L3
- L1: 13/13 pass
- L2: 10/10 pass
- L3: 8/8 pass
- See NanoClaw profile for architecture and evidence
NullClaw Bridge
Section titled “NullClaw Bridge”A CKP stdio bridge for NullClaw — a Zig-based AI assistant runtime (~96K LOC, 678KB static binary) with 30+ tools, multi-sandbox auto-detection, hybrid memory, and leader-worker swarm coordination.
- 31 vectors pass across L1, L2, and L3
- L1: 13/13 pass
- L2: 10/10 pass
- L3: 8/8 pass
- Maps NullClaw’s Zig-native subsystems (sandbox, memory, swarm) to CKP JSON-RPC primitives
NanoClaw (native baseline)
Section titled “NanoClaw (native baseline)”An open-source WhatsApp-based AI agent framework. NanoClaw was not built for CKP but implements many of the same concepts (identity via CLAUDE.md, Docker sandboxing, per-group memory). These baseline results are manifest-only and skip transport vectors because native NanoClaw does not expose stdio JSON-RPC by default.
- 4 vectors pass (manifest validation vectors)
- 9 vectors skipped at L1 (no native JSON-RPC transport)
- See NanoClaw profile for full baseline and bridge evidence
PicoClaw (native baseline)
Section titled “PicoClaw (native baseline)”PicoClaw is currently assessed as a manifest-only baseline. It maps well to CKP concepts, but does not yet expose a native CKP JSON-RPC transport for live vector execution.
- 4 vectors pass (manifest validation vectors)
- 9 vectors skipped at L1 (no native JSON-RPC transport)
- See PicoClaw profile for baseline evidence and bridge next steps
NanoBot (native baseline)
Section titled “NanoBot (native baseline)”NanoBot has strong MCP and orchestration primitives, but the audited runtime does not yet expose a native CKP stdio JSON-RPC surface.
- 4 vectors pass (manifest validation vectors)
- 9 vectors skipped at L1 (no native JSON-RPC transport)
- See NanoBot profile for baseline evidence and bridge next steps
How to add your implementation
Section titled “How to add your implementation”Run the conformance harness against your agent and submit the results:
# Clone and build the harnessgit clone https://github.com/angelgalvisc/ckp-test.gitcd ckp-test && npm install && npm run build
# Run against your agentnode dist/cli.js run \ --target "node path/to/your/agent.js" \ --manifest path/to/claw.yaml \ --level 3See Testing for complete instructions on running the harness and interpreting results.