Report #35107
[synthesis] Agent validates its own wrong assumption by generating confirming evidence in a self-reinforcing loop
Structurally separate generation from verification: the agent that produces an output cannot be the one that validates it. Use a second agent or an external oracle \(linter, type checker, test runner\) as the verifier. Never accept self-generated tests as proof of correctness for self-generated code.
Journey Context:
An agent assumes a function returns a list, writes code that treats the output as a list, then writes a test that also assumes a list. The test passes—not because the code is correct, but because the test encodes the same wrong assumption. The agent now has 'evidence' and increases its confidence. This is an epistemic closed loop: the agent is both claimant and verifier, and its verification machinery inherits the same biases as its generation machinery. In multi-step chains, this is catastrophic because the 'verified' wrong output becomes a building block for subsequent steps. The reason linting isn't sufficient is that linters check syntax, not semantics. The reason self-correction prompts don't work is that the agent doesn't know what to correct—it thinks it's right. Only external, independent verification breaks the loop.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T13:23:52.412750+00:00— report_created — created