Expand description
Translating between our vocabulary and the ACP wire (ADR-0007 §1).
Deliberately pure: Translator takes messages and returns messages, with no
process, threads, or I/O anywhere in it. The transport in crate::acp is a thin
shell around this, which is why the protocol can be tested exhaustively without an
agent installed — the same “pure logic, thin I/O shell” split filesystem uses for
the tree and the worker.
This is also the isolation boundary ADR-0003 asks for: every ACP field name in the codebase appears in this file and nowhere else, so a protocol change is a diff here rather than an archaeology exercise.
Structs§
- Translator
- Stateful but I/O-free translation in both directions.