Law 49 · Trust & Coordination
Don't Let the Author Be the Judge
The thing that made it shouldn't grade it.

The principle
Without an external signal, a model mostly fails to self-correct its own reasoning, and often makes correct answers worse by second-guessing them. The model that produced a flawed plan is the same one judging it, with the same blind spots. Real correction needs an outside signal: a tool result, a test that runs, a different model. 'Reflect and try again' on the same model with no new information is theater.
Why it happens
A model asked to judge its own work brings the same blind spots that shaped the first answer. Without new information, reflection often samples another version of the same mistake and can even degrade a correct answer. Self-correction research keeps pointing to the same boundary: gains come from outside signals, not introspection alone. Run the test, call the tool, check the database, ask a fresh model, or compare against evidence. Reflect and retry can be useful only when the second pass receives something new to reason over.
Watch for
- Your correction step is just review your work and fix any bugs with no new input introduced.
- The agent confidently rewrites a correct answer into a wrong one after being asked to reflect.
- A corrected output is trusted without any external check ever having run.
In practice
Your agent writes a SQL query, you prompt it to review your work and fix any bugs, and it cheerfully second-guesses a correct join into a broken one, because it is grading its own reasoning with the exact same blind spots that produced it. Reflection on the same model with no new information is theater: the author cannot see what it could not see the first time. Real correction needs an outside signal. Run the query against a test database, lint it, or hand it to a fresh instance with no memory of the original attempt, and only trust the fixed version once an external check actually passed.
Apply it
- Separate generation from judgment: never let the producing instance be the sole grader.
- Feed an external signal into the correction loop, such as a test that runs, a tool result, or compiler output.
- When using a model to judge, give it a fresh instance with no memory of the original reasoning.
The takeaway
Separate generation from judgment. Use an independent instance with fresh context and no memory of the original reasoning, or an external check like a passing test, before you trust a 'corrected' answer.