monoloop-interpreter
Component 02 — Interpreter: ordered raw Connector bytes + dialect binding →
complete provider-neutral CanonicalUnitEvents only.
Never emits tokens, text deltas, or partial tool JSON as canonical content.
License: AGPL-3.0-or-later. Commercial: https://frogfish.io
What this crate is / is not
| Is | Is not |
|---|---|
| Incremental dialect decode + assembly | Tool execution |
DefaultInterpreterFactory + dialect plugins (ACP, OpenAI SSE, …) |
Turn completion / “run success” |
| Fragmentation-invariant output | Persistence |
How an assembler uses it
Put an InterpreterFactory on the Channel binding; the transaction runtime
starts interpretations per exchange.
use DefaultInterpreterFactory;
use Arc;
let interpreter = new;
// → ChannelBinding.interpreter = interpreter
Standalone (bytes in → units out) is for tests; production path is via Loop composition.
Normative: doc/INTERPRETER.md.