RedMirror Reflection is now the default way to use RedMirror — one offline binary that gives your own coding agent the power to find real bugs and prove them, right on your machine. Get started →
Release Reflection

Enforce verified findings on any coding agent

Published September 15, 2026

RedMirror Reflection now enforces verified findings on any coding agent, not just the few with a native hook. redmirror-reflect init wires a commit-time and CI gate that blocks a finding from shipping until the gate confirms it is real. We hardened it after a small open model, running live, confirmed a planted bug — and slipped one past the gate.

Reflection’s promise is simple: a finding counts only when the gate confirms it, not when the model feels confident. The open question was where that gate could actually stop you — and whether a real agent could route around it.

Why didn’t enforcement work everywhere before?

Guidance you hand an agent is advice; it can be ignored. Only a couple of coding agents have an in-session hook that can refuse to let a turn finish, so everywhere else the discipline was a suggestion. That is the wrong place to rely on: enforcement should not depend on which agent you happen to run.

What happened when we ran a small model live?

We handed the loop to a small open model (qwen3-coder), pointed it at a program with a planted flaw — a read-only guard that inspects a request one way while the database runs it another — and left it alone. It didn’t pattern-match a label; it built the security argument itself, naming the exact condition the code never records. The gate sent it back when the argument was malformed, and again when the argument was too weak to hold, and accepted only the version that stood up: a confirmed, reproducible finding.

7 triesone confirmed finding 0humans grading centstotal cost of the run

That is the design working: the gate’s verdicts, not the model’s confidence, drove every revision. A weak model can propose noise, but it cannot talk an unconfirmed claim past the gate.

How did a confirmed bug slip past the gate?

Here is the honest part, and the reason you run these things for real. The model found and reported the bug — but when we ran the enforcement check that a commit hook or CI wraps, it saw nothing. The finding had been confirmed one way, and the gate’s record is written another; the two had not been joined, so the check passed on an empty ledger. Every one of our tests had passed. The gap only appeared when a real agent, with a real model, did the natural thing instead of the documented one.

What changed in this release?

Two things, both aimed at making enforcement independent of the agent’s choices:

How do I turn it on?

Run redmirror-reflect init <your agent> in your project. It wires the gate for your agent and, where the agent has no in-session hook, adds the commit and CI gate as the floor. Already installed? redmirror-reflect update brings you to the latest, and the gate is on from your next commit.

Frequently asked questions

How do I stop an AI coding agent from reporting unverified bugs?

RedMirror Reflection's gate independently confirms a suspected bug is real and reachable before it counts as a finding. With redmirror-reflect init, that gate is wired into your commit and your CI, so a finding cannot ship until it is confirmed. The agent's confidence never substitutes for confirmation.

Does this work with coding agents other than Claude?

Yes. Only a couple of agents have an in-session hook that can block a turn, but the commit and CI gate live outside the agent, at the boundary your change has to cross, so it enforces for every agent - Cursor, Gemini CLI, Codex, Windsurf and the rest - and for human commits too.

What did the live run show?

We pointed a small open model at a planted bug and left it alone. It built the security argument itself, was sent back to fix it, and landed a confirmed, reproducible finding with no human grading. The run also revealed a way a confirmed finding could slip past the gate's record, which we fixed.

How do I turn it on?

Run redmirror-reflect init followed by your agent's name in your project. It wires the gate for your agent and, where the agent has no in-session hook, a commit and CI gate that blocks findings that were never confirmed. Existing installs pick it up with redmirror-reflect update.

Can a weak or cheap model be trusted with this?

Yes, because the gate, not the model, decides. A small model can propose noise, but it cannot get an unconfirmed claim past the gate, so your precision does not depend on the model's confidence.

Get RedMirror Reflection

The bring-your-own-model, runs-entirely-on-your-machine edition ships as a single binary. First month free, then $4.99/month, cancel any time.

Your model, your machine, findings that are confirmed — on any agent.

Install the binary, run init for your coding agent, and nothing ships until the gate confirms it.

Get started · 7-day free trial