AcceptedADR-016
Control Plane Protocol JSON-RPC 2.0
Context
ada-core needs a structured IPC protocol so ada-api can invoke orchestration functions (run.init, run.next, bank.retrieve) without spawning CLI processes for every call.
Decision
JSON-RPC 2.0 over Unix domain socket (.claude/ada-core.sock) with NDJSON framing and per-frame HMAC-SHA256 authentication. Handshake: hello + semver. TCP loopback 127.0.0.1:3099 as server-mode fallback.
Consequences
Typed, versioned, authenticated IPC. Eliminates spawn-per-call overhead. Requires socket lifecycle management.