
The Problem: AI Confirmation Bias
You’ve just spent two hours with Claude, GPT, or your AI assistant of choice crafting a detailed technical specification. You incorporated feedback from stakeholders, iterated through drafts, and finally produced what feels like a polished v2 document.
Then you ask: “Did I address all the feedback correctly?”
The AI responds: “Yes, all 147 comments have been incorporated.”
But here’s the uncomfortable truth: the AI that wrote the document is the worst possible judge of whether it wrote it correctly.
Why? The same reasons humans struggle with self-review:
- Context contamination — The AI “remembers” its reasoning, so it sees intent where only text exists
- Rationalization — Gaps get explained away rather than flagged
- Anchoring — The AI is anchored to its own decisions, not the original requirements
Think about how investigators handle two witnesses to the same event. Do they bring both into the same room, interview the first, then question the second in front of everything that was just said? Of course not — they separate them. Not because either witness is dishonest, but because once the second one has heard the first account, their testimony is no longer independent evidence of anything. The contamination is invisible and irreversible; you can no longer tell what the witness saw from what the witness heard.
A same-session AI review is the second witness in the first witness’s room. It has already heard the whole story from the author — the intent, the trade-offs, the reasoning — so it can no longer tell you what the document actually says, only what it knows was meant. Separate rooms is not a trust measure. It’s an evidentiary one.
What I discovered as a solution is a concept called: Zero-Context Feedback Traceability Audit
The fix is surprisingly simple: use a different session to verify what you built — in a separate room.
Positioning: This is a feedback-traceability specialisation of a technique the research literature independently converged on and named Cross-Context Review (CCR). The isolation mechanism is shared; applying it to feedback delta-verification — did v2 implement the feedback relative to v1? — is what makes this pattern distinct. See “What the Field Calls This” below for the full lineage.
Here’s the pattern:
┌─────────────────────────────────────────────────────────────┐
│ SESSION A (Author) │
│ ──────────────────── │
│ • Receives feedback/requirements │
│ • Iterates on document │
│ • Produces v2 with changes │
│ • Has full context of WHY decisions were made │
└─────────────────────────────────────────────────────────────┘
│
│ Output: v1, v2, feedback file
▼
┌─────────────────────────────────────────────────────────────┐
│ SESSION B (Auditor) │
│ ──────────────────── │
│ • Starts with ZERO context │
│ • Reads only: v1, v2, and original feedback │
│ • Cannot see Session A's reasoning or conversation │
│ • Verifies each feedback item against v2 text │
│ • Flags gaps, misinterpretations, incomplete items │
└─────────────────────────────────────────────────────────────┘
Why This Works
This pattern borrows from Independent Verification & Validation (IV&V), a practice mandatory in aerospace, defense, and safety-critical systems. The principle is simple:
▎ The team that builds something should not be the team that verifies it.
NASA doesn’t let the same engineers who wrote the flight software also certify it’s safe. Banks don’t let traders audit their own books. Investigators don’t interview witnesses within earshot of each other. The independence is the feature.
For AI-assisted work, session isolation provides that independence. A fresh session:
- Has no memory of compromises or trade-offs made during authoring
- Cannot rationalize gaps because it doesn’t know they were intentional
- Sees only artifacts — the text as written, not the intent behind it
- Applies the same standard a future reader (or regulator) would
The Three Artifacts
For this pattern to work, you need three cleanly separated artifacts:
| Artifact | Purpose | Example |
|---|---|---|
| Baseline (v1) | What existed before changes | Original spec document |
| Decision Factor | What drove the changes | SME feedback, review comments, requirements |
| Output (v2) | What was produced | Updated spec document |
The auditor session receives all three and answers one question:
▎ “Does v2 correctly implement the Decision Factor relative to v1?”
The Protocol (Mapped to CCR’s Four Phases)
The naming mirrors Cross-Context Review so the pattern is legible to anyone arriving from the research. Phases 2–4 carry the feedback-traceability specialisation.
- Production — Session A does the work, accumulating reasoning, iterations, and trade-offs along the way.
- Export — The three artifacts are extracted clean. The authoring conversation is discarded; only the text carries over. This means no embedded reasoning in the documents — if v2 contains a note like “we discussed this and decided X,” the auditor will read it and be influenced. Artifact-only, or the next phase isn’t blind.
- Review — Session B runs two passes over the artifacts: a traceability pass (does v2 implement each item in the Decision Factor?) and an intrinsic-quality pass (the five CCR checks below).
- Adjudication — The human owner accepts, rejects, or routes each finding. The auditor will flag things the author “knows” are fine; resist the urge to explain — if it needs explaining, it needs better documentation. Resolution happens here, not by sending the auditor back to argue with the author: extra reviewer↔author rounds add false positives rather than accuracy. One round of review is the optimum.
The Second Pass: CCR’s Five Intrinsic-Quality Checks
Feedback traceability confirms that v2 did what was asked. It doesn’t confirm that v2 is internally sound — a document can faithfully implement all 147 comments and still be wrong. Borrowing directly from Cross-Context Review, the blind auditor applies five checks to the output on its own terms:
- Factual accuracy (FACT) — Are the numbers, references, and claims correct?
- Internal consistency (CONS) — Does the document contradict itself anywhere?
- Contextual fitness (CTXT) — Would this actually work in its intended environment — the real system, process, or regulation it targets?
- Reader perspective (RCVR) — Can the intended audience use this without the context the author was holding in their head?
- Missing elements (MISS) — What should be present that isn’t — regardless of whether any feedback item asked for it?
The traceability pass catches feedback gaps; the intrinsic pass catches quality gaps the feedback never mentioned. Both run in the same blind session at no extra cost, and together they close the blind spot where an output implements every comment yet still fails on its own merits.
Real-World Example
We recently used this pattern on a legacy insurance system modernization project. The workflow:
Session A (Author):
- Extracted 147 SME comments from Confluence
- Identified that v1 had been incorrectly based on a different product instead of intended
- Rewrote sections, deleted irrelevant content, added missing fields
- Produced v2 with [#XX] change markers
Session B (Auditor):
- Started fresh with only three files: v1, v2, and the feedback list
- Systematically verified each of 147 comments
- Categorized results:
- ✅ 60% incorporated correctly
- ⚠️ 29% correctly flagged as pending (awaiting SME input)
- ❌ 11% missing or incomplete
Session B caught gaps that Session A would have rationalized:
- Two major comments about cross-cutting topics were largely unaddressed
- Reference data dropdowns were marked “pending” but not flagged visibly enough
Implementation Tips
Use structured feedback. Numbered comments, categorized feedback, or formal requirements work best. Vague feedback like “make it better” can’t be traced.
Ask specific questions. Don’t ask the auditor “is this good?” Ask:
- “For each numbered comment, is it addressed in v2?”
- “What’s in the feedback that has no corresponding change in v2?”
- “What changed in v2 that has no corresponding feedback item?”
What the Field Calls This
I coined “Zero-Context Feedback Traceability Audit” to describe a workflow I was already using. The field has been converging on the same idea from several directions — under different names, and mostly without packaging it into a repeatable, artifact-driven process.
Cross-Context Review (CCR) is the closest match, and it supplies the evidence. In a controlled experiment, CCR beat same-session self-review, repeated same-session self-review, and even a context-aware sub-agent reviewing the same work. The negative result is the one that matters most: reviewing twice in the same session was no better than reviewing once. That rules out repetition as the explanation and isolates the mechanism — it is the context separation doing the work, not the extra pass. A model becomes a better critic of its own work the moment it forgets how that work was created.
The bias this defends against has its own literature. Research on self-preference bias asks whether models systematically favour their own outputs when acting as judges. Practitioners put it more bluntly: a model’s self-assessed confidence isn’t calibrated — it’s roughly as confident when wrong as when right — and the popular workarounds don’t fix it. Self-consistency voting catches random variance but not systematic bias; “don’t hallucinate” style instructions have no measurable effect. There’s even a name now for the rationalisation failure mode: persuasion bombing, where a challenged model doubles down with more elaborate, self-reinforcing justification rather than admitting error.
Zoom out and this pattern is one instance of the generator–verifier gap and the fast-growing LLM-as-judge discipline — using one model (or many weak ones) to score another’s output, now standard across RAG, agents, and code generation. The IV&V framing in this post is the same principle those pipelines encode: independence is the feature, with disagreement routed to human adjudication as the control layer.
Limitations: The Same-Model Problem
Session isolation removes conversational contamination. What it doesn’t remove is architectural bias. A fresh session of the same model still carries that model’s training-time blind spots. The verification literature is explicit about this risk: generator and verifier can share correlated failure modes, so an auditor may confidently miss exactly what its author missed. Session isolation is necessary but not sufficient.
Three ways to harden the pattern:
- Cross-model auditing — run the auditor session on a different model family from the author. Independent training data and architecture reduce correlated blind spots, not just conversational ones.
- Parallel ensemble — for high-stakes audits, run several independent blind auditor sessions and pool their findings, rather than one auditor iterating. Independent parallel reviews outperform sequential iteration — breadth comes from more auditors, not more turns. Ensembling across different models combines this with cross-model auditing.
- An architecturally independent channel — for verification that reduces to a measurable check (does this field exist, does this number match), a non-generative tool or embedding-based comparison sidesteps the shared-bias problem entirely.
The honest framing: a blind same-model audit catches the mistakes that come from context. A blind cross-model audit also catches some of the mistakes that come from the model. For high-stakes work, reach for the second.
The Broader Principle
This pattern reflects a broader truth about AI-assisted work: the value of AI isn’t just generation, it’s verification.
A single session gives you speed. Two — one to write, one to check — give you confidence.
As AI becomes more embedded in professional workflows, we’ll need more patterns like this. Not because AI is untrustworthy, but because any author — human or AI — benefits from independent review.
The blind audit isn’t about catching AI mistakes. It’s about building systems where mistakes have nowhere to hide.

Leave a Reply