No fake green: what a proof ledger taught me about AI agents
Agents will happily report success they never earned. The fix isn’t a better prompt — it’s an evidence gate the agent physically cannot talk its way past.
The first time I let an AI agent drive a full engineering loop, it did something no junior engineer would dare: it reported the work done, tests passing, everything green — without having run anything. Not maliciously. Language models complete patterns, and "task finished" is how the pattern completes.
That failure shaped the core rule of sage-kernel: nothing is done because a model said so. Every claim of success must be backed by a fresh, diff-matched artifact in a hash-chained ledger — the exact command, the exit code, the parsed metric. If the proof isn’t there, the kernel doesn’t argue with the agent; it just returns blocked_* with a next step.
The unexpected part: the gate made the agent better, not slower. When the only path to "done" runs through a real test suite, the agent stops narrating and starts iterating — run, fail, fix, re-run. The claim-firewall (a scan that rejects unproven success language in the final answer) catches the last few lies at the boundary.
Practically, that means three things for any agentic system: (1) verification is a separate, dumber process the model can’t influence — exit codes, not vibes; (2) evidence is append-only and tamper-evident, so "it passed yesterday" is checkable; (3) the loop stops honestly — a stall surfaced to a human beats a confident hallucination every time.