Skip to main content

Cross-Context Review: Model-agnostic LLM bias elimination through session isolation

Project description

CCR: Cross-Context Review

Eliminate LLM blind spots. Automatically.

LLMs miss 64.5% of errors when reviewing their own output (Tsui, 2025). CCR fixes this by running multiple completely isolated review sessions — no shared context, no anchoring bias, no sycophancy.

One command. Three independent reviewers. 30 seconds. ~$0.02.

pip install ccr-review
ccr review mycode.py

The Problem

When you ask an LLM to "review what you just wrote," it's like asking someone to proofread their own essay — they see what they meant to write, not what they actually wrote.

This is not a model limitation. It's a structural bias that persists across GPT, Claude, Gemini, and every future model. As long as the reviewer shares context with the producer, blind spots are inevitable.

The Solution

CCR (Cross-Context Review) breaks this cycle through session isolation:

Your Code ──→ [Reviewer 1] ──→
         ──→ [Reviewer 2] ──→  [Director] ──→ Consolidated Report
         ──→ [Reviewer 3] ──→

Each reviewer is a separate API call.
No shared memory. No anchoring. No sycophancy.

Key research findings (360 reviews, 30 artifacts, 150 ground-truth errors):

  • CCR outperforms same-context review: F1 28.6% vs 24.6% (p=0.008)
  • Critical errors show the largest gap: 40% vs 29% detection rate
  • Repeating reviews in the same context doesn't help (SR2 ≈ SR, p=0.11)
  • Session isolation is the key mechanism, not repetition

Quick Start

# Install
pip install ccr-review

# Set your API key (pick one)
export ANTHROPIC_API_KEY=sk-ant-...
export OPENAI_API_KEY=sk-...

# Review code
ccr review mycode.py

# Review with more reviewers
ccr review mycode.py --reviewers 5

# Verify a research paper
ccr verify paper.tex

# Use a different model
ccr review app.js --provider openai --model gpt-4o

# See all models and pricing
ccr models

Python API

from ccr import CCRReviewer

reviewer = CCRReviewer(
    provider="anthropic",
    model="claude-haiku-4-5-20251001",  # ~$0.02/review
    num_reviewers=3,
)

result = reviewer.review_file("mycode.py")

print(result.summary())

# Consensus findings = agreed by 2+ independent reviewers
for finding in result.consensus_findings:
    print(f"[{finding.severity.value}] {finding.description}")

How It Works

CCR implements the protocol from Song (2026):

Step What Happens Why
Extract Only the artifact is taken Removes conversation history = removes bias source
Review N independent API calls review it Each call has zero prior context
Integrate Director merges all reviews Consensus filtering reduces false positives

5-Axis Verification Framework

Every review systematically covers:

Axis What It Checks
FACT Factual accuracy — numbers, names, technical claims
CONS Internal consistency — contradictions, terminology mismatches
CTXT Contextual fitness — works in intended environment?
RCVR Receiver perspective — could readers misunderstand?
MISS Completeness — anything important missing?

Consensus Filtering

Not all findings are equal. When 2+ independent reviewers flag the same issue without seeing each other's reviews, it's almost certainly a real problem. These consensus findings are marked with ★.

Model-Agnostic

CCR works with any LLM. The bias it eliminates is structural, not model-specific:

Model Per Review Monthly (10/day)
GPT-4o mini ~$0.01 ~$3
Gemini 2.5 Flash ~$0.01 ~$3
Claude Haiku 4.5 ~$0.05 ~$15
GPT-4o ~$0.11 ~$33
Claude Sonnet 4.6 ~$0.19 ~$57

Run ccr models for current pricing.

Research

CCR is based on peer-reviewed research with 660+ experimental sessions:

Roadmap

  • Core CCR protocol (independent reviewers + director)
  • CLI (ccr review, ccr verify, ccr models)
  • Anthropic & OpenAI backends
  • Google Gemini backend
  • HCCA mode (hierarchical multi-agent verification)
  • GitHub Action (auto-review on PR)
  • CCR Benchmark dataset on HuggingFace
  • VS Code extension

License

MIT

Citation

@article{song2026ccr,
  title={Cross-Context Review: Eliminating Anchoring Bias in LLM-Based
         Self-Review Through Context Isolation},
  author={Song, Tae-Eun},
  journal={arXiv preprint arXiv:2603.12123},
  year={2026}
}

Built by @SongT-50 — Turning research into tools that work.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ccr_review-0.1.0.tar.gz (11.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ccr_review-0.1.0-py3-none-any.whl (14.3 kB view details)

Uploaded Python 3

File details

Details for the file ccr_review-0.1.0.tar.gz.

File metadata

  • Download URL: ccr_review-0.1.0.tar.gz
  • Upload date:
  • Size: 11.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.1

File hashes

Hashes for ccr_review-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8d931bc35fbe0b1224151089ffaef79633f3975e5b133022a3d9467d70c9a5cb
MD5 02cd641af1eaa13e195ac7cfc1eab7a8
BLAKE2b-256 dc117bb415da0b27d3aa275bc751816d6b4b11e1b599a326c61971b5f92c6422

See more details on using hashes here.

File details

Details for the file ccr_review-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: ccr_review-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 14.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.1

File hashes

Hashes for ccr_review-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 63442c0bdda7f8383e4891e9bcea07e5582aea488a660eb5d5702968e3bb2806
MD5 5ae9a0378c61544e9eb8288ac594f00f
BLAKE2b-256 09d9845b4b51a59b76165c3d90f22173a1165d161ff8eeb1556a6831faa07553

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page