aion-integration-cli
A second, independent aion-integrations AgentHarness
integration for Aion — the empirical proof that the harness-integration boundary is a real, neutral
SDK, not a Norn wrapper (NOI-8).
aion-integration-norn is the first adapter (a rich, bidirectional JSON-RPC harness). This crate is
a second adapter of a deliberately different shape, so two implementations of one trait exist
across two crates. Both fit the neutral seam without any change to aion-core, aion-integrations,
the wire, the server, or the worker.
The two shapes
CliHarness— the observability-only case. A plain-stdout CLI agent with no control channel at all: it spawns a line-oriented process and demuxes its interleaved stdout into neutralActivityEvents (mostlyRaw, some mapped). It advertises an empty intervention capability set, sointervenerejects every command and the ops console offers no controls for it — a first-class tier, not a degenerate one.MockAgentHarness— the interveneable case. A deterministic in-crate harness advertising{inject_message, cancel}that accepts those and cleanly rejects the primitives it does not advertise (notablyrespond_to_approval) with a capability-not-supported NACK. It exercises the other branch of theintervenecontract, driven live by the worker trait driver (aion_worker::spawn_agent).
There is no Norn here — this crate exists precisely to prove the contract is neutral. See the
design pass docs/design/NORN-OBSERVABILITY-AND-INTERVENTION.md (§3A.1, §9.1 NOI-8).
License
AGPL-3.0-only.