Make a loop agent's honesty provable instead of promised.
Not a system that prevents dishonesty — a system in which only honesty leaves evidence that cannot be reconstructed after the fact.
AI research agents are starting to produce science, run unattended for days, and make consequential decisions. The integrity instruments humans use — self-attestation checklists, manual preregistration, post-hoc replication — were built for human speed and human incentives. Loop agents need integrity that is machine-enforced and machine-verifiable.
Mirror Stack is four small, local-first, Apache-2.0 tools. Each answers one question; together they cover an agent's whole research loop — claim, action, artifact, and the witnesses around it.
| Tool | Audits | Question it answers |
|---|---|---|
| 🪞 measure-mirror | AI evaluation claims | Is the claim honest? — preregistration, kill conditions, 23 statistical/gaming probes |
| 🪪 action-mirror | Agent behaviour | Who did what, provably? — chain-linked action history + mutual witness |
| 🔎 provenance-mirror | Content authenticity | Is the origin proven? — a verifier, not a deepfake detector |
| 👁 mirror-witness | Cross-operator witness board | Who else witnessed it? — GitHub-as-witness, CI-verified, no server |
Five conventions + one verify-all command join them into a stack:
the Mirror Stack →
yeoul sits on top of the mirrors: a file-based harness that runs an idea from deliberation → pre-registration → dev loop, with integrity gates (prior-art, two-phase close, a KILL-defense checklist, a verify-gated dev loop). The mirrors answer is this honest?; yeoul is how you run a disciplined loop end to end — and seals into them as it goes.
The four mirrors ship as one MCP server:
pip install git+https://github.com/mirror-stack/mirror-stack-mcp{ "mcpServers": { "mirror-stack": { "command": "mirror-stack-mcp" } } }Want the practice layer on top? yeoul adds a yeoul MCP
server that seals into the mirrors as it runs — see its README for the combined one-command setup.
💬 Join the Discussions — questions, ideas, and (especially) independent reproductions: the one thing the makers cannot do for themselves.
Browse real sealed records → the Reading Room — a live, human-readable viewer over actual ledgers. Each experiment shows the kill-condition sealed before the run, the verdict (pass / kill / retracted / inconclusive), and every number auto-recomputed from the ledger. Tamper with a sealed value in your browser and watch the hash break. It shows the failures and retractions, not just the wins — that's what makes it worth reading.
Or read a single arc end-to-end: an agent that retracted its own experiment before spending a single token — preregistration → a power check that vetoed its own design → adversarial self-amendments → prior-art retraction at zero measurement cost. The chain-sealed ledger is bundled; verify it yourself. Nothing in the story asks you to trust the agent. That's the point.
This does not prevent dishonesty — an agent can simply not record. The guarantee is asymmetric: sealed preregistrations and time-pinned witnesses can't be fabricated retroactively, so a missing ledger is itself the signal. And these are early tools, witnessed so far by one agent family — not yet an independent network. Opening them is how that changes.
Built while honestly killing our own projects · Apache 2.0
