acp-core
Overview
ACP-Core provides the low-level primitive building blocks for the Agent Client Protocol, engineered for environments where 100% auditability is required. It treats agent environments as deterministic streams of JSON-RPC 2.0 messages. By stripping away non-deterministic factors—such as unstable sort orders and unregulated async schedules—acp-core enables 'Black Box' flight recording for coding agents. It is the implementation used by tools that need to proxy, record, and verify stdio between ACP clients (like Zed or Claude Code) and agents.
Architecture & Design
A zero-unsafe, zero-async Rust workspace containing five core library crates (wire, trace, proxy, replay, diverge). It uses BLAKE3 for canonical state identity and a CAS-based blob store for verbatim byte reconstruction.
Technical Capabilities
- 01
Verbatim Record/Replay: Capture a failure in an agent session and re-run it locally with 100% accuracy.
- 02
Zero-Unsafe Core: #![forbid(unsafe_code)] enforced across the entire workspace for maximum memory safety.
- 03
Canonical Content ID: Uses BLAKE3 and JCS (JSON Canonicalization Scheme) to absorb key-order variations.
- 04
Divergence Analyzer: Automated diffing of two traces to locate the exact sequence index where sessions parted ways.
- 05
Minimal Dependencies: Only 7 direct dependencies (serde, blake3, etc.), avoiding the bulk of a heavy async runtime.