Protocols

ACP compatibility

The older implementation in this repository includes an Agent Client Protocol server. The Rust Roder runtime is app-server-first today, with ACP compatibility tracked as a protocol parity surface once the Rust session, tools, policy, and transport contracts settle.

Compatibility target

  • Expose Roder as an ACP agent over stdio JSON-RPC.
  • Map ACP sessions to Roder threads and turns.
  • Translate ACP prompt blocks into canonical Roder input messages.
  • Surface tool progress, assistant deltas, and permission requests as ACP session updates.
  • Attach stdio MCP servers through the ACP session contract where supported.

Current guidance

Use the Roder app server for new Rust integrations. Use the legacy implementation only when you specifically need the existing ACP behavior as a reference or bridge during the rewrite.

Protocol rule. ACP should translate into the same runtime events, tools, sessions, and policy decisions as every other client surface.