Lumen
Transport, not translator
Key boundary: The transport adds, removes, or reorders no byte between the caller's prompt and the model's answer — and reads nothing from the machine it runs on.
Why it matters: Once a harness formats output to satisfy the caller's checks, the checks measure the harness instead of the model — and nothing outside can tell the difference.
Notable decision: The exit code is chosen by a length, an API field, or a transport outcome — never by reading the text. Even “the model refused” exits zero. Grading is the first step toward helping.
Lumen carries a prompt to a model API and the answer back without altering a byte in either direction. Agent CLIs decorate — narrate, indent, reformat — and once the harness edits the bytes, the checker is measuring the harness.
The seal is checkable. Configuration arrives only through arguments and named environment variables; the working directory cannot influence a call. A differential test against an independent reference fails 9 of 10 scenarios when one extra newline is planted on the model's answer. Two source audits found zero seal breaks. Tag 1.0.0: 87 of 87 checks pass.
In production: forty-plus dispatches across ten-plus model families and three providers, zero failures attributed to the transport. Failures still happen and are attributed to the models — a harness whose lanes never fail would be evidence it was helping. One measured split: a model family whose structured output arrived corrupted about a third of the time through its CLI arrived cleanly through Lumen.
What it will not do, by design: retries, sessions, tools, output handling. Image output and video input are deferred, not bolted on.