What you will be able to do
- Explain why one review pass over a large multi-file change loses precision
- Split a large review into per-file passes and merge the per-file findings into one ranked result
- Scale per-file review to hundreds of files with a non-interactive loop or a workflow
- Recognize verification passes that filter findings before they are reported, and where the sources stop short of confidence-based routing
1.Why one giant review pass underperforms
Anthropic's context-engineering post calls this effect context rot: the more tokens in the context window, the worse the model recalls information from it. The post explains that each token attends to every other token, so as context grows, the model's grip on those relationships gets stretched thin. The result is a performance gradient rather than a cliff. In its words, "Context, therefore, must be treated as a finite resource with diminishing marginal returns."
For review, this means a single pass over a whole multi-file change spreads the model's attention across everything. A subtle issue in file 31 gets less of it than it would in a focused pass. Claude Code's best-practices guide gives the operational version: "Long sessions with irrelevant context can reduce performance." Every other file in the diff is mostly irrelevant context when you're looking for a local bug in one file. That's the case for splitting the review.
The exam objective also ties one giant pass to contradictory findings, not only to missed ones. The sources don't spell out a mechanism for contradictions beyond attention being stretched thin across a large context. What they do document is the remedy: after focused passes, a reconciliation step deduplicates and ranks the findings so the report is coherent. The next section covers that step.
Checkpoint 1 of 7· Check yourself
Why do the sources support splitting a large multi-file review into smaller passes?
Context rot and the attention budget make each extra token cost some precision. Focused passes give the details in each file a fuller share of attention.
“Context, therefore, must be treated as a finite resource with diminishing marginal returns.”Source: www.anthropic.com
2.Per-file passes, then a merge across files
The multi-pass pattern has two stages. First, a focused pass reviews each file for local issues. Second, a separate step combines those per-file results into one coherent report. Claude Code's dynamic workflows document this shape directly. An example request reads: "use a workflow to review every file changed in this PR for correctness issues, then merge the per-file findings into one ranked summary." Each per-file pass works with a small context, and the merge step deals with what no single pass can: duplicates and ranking across the whole change. Code Review's reconciliation does the same, deduplicating findings and ranking them by severity.
When there are too many files to hand out one at a time in a conversation, fan out. The best-practices guide's recipe is to generate a task list, loop through it with a script that calls claude -p once per item, and "Test on a few files, then run on all of them." A workflow does the same inside Claude Code: it lists the files, then runs one agent per file. Each agent is its own session, so files don't share context and none of them dilutes another's attention.
A per-file pass sees one file, so it cannot see how data moves between files. A merge doesn't fix that. It reconciles and ranks findings that already exist; it doesn't trace anything. Cross-file data flow needs its own analysis. Claude Security describes this capability: it "traces data flows across files" and identifies multi-component vulnerability patterns. The exam guide frames it as a separate integration pass that follows the per-file passes. The sources here don't give an input format or prompt for that pass, so the key point is the division of labor. Per-file passes find local issues, an integration pass examines cross-file data flow, and the merge deduplicates and ranks.
const audits = await pipeline(found.files, file =>
agent(`Audit ${file} for missing authentication checks.`, { label: file }),
)Checkpoint 2 of 7· Exam question
An engineer configures the generation session with a high extended thinking effort and instructs the model to reflect deeply on flaws before submitting its code. Bugs still slip through review. Why is extended thinking insufficient as a substitute for an independent review instance here?
Correct answer: B — Extended thinking still runs in the same session that produced the code, so it retains the reasoning that justified those decisions
- A. Incorrect. The limitation is not about token cost or reasoning depth; extended thinking can genuinely deepen reasoning, it just does so from within a biased vantage point.
- B. Correct. Extended thinking within the same session does not remove the retained reasoning context, which makes the model less likely to question its own prior decisions.
- C. Incorrect. The limitation isn't a budget ceiling; it's that the reflection happens inside the same reasoning context that produced the code.
- D. Incorrect. Extended thinking does not disable tool use, and the core issue is retained reasoning context, not file access.
Checkpoint 3 of 7· Check yourself
A PR touches 60 files. You want local bugs caught in each file and a single report at the end. Which design matches the documented pattern?
Per-file passes keep each review focused, and the merge step reconciles and ranks findings across the whole change.
“use a workflow to review every file changed in this PR for correctness issues, then merge the per-file findings into one ranked summary”Source: code.claude.com
3.Parallel specialist passes plus a verification pass
Passes can be split by concern as well as by file. This is a different axis from the per-file plus cross-file split above: per-file passes divide the change by where the code is, while specialists divide it by what kind of problem they hunt. The Agent SDK notes that during a code review you can run style-checker, security-scanner, and test-coverage subagents simultaneously instead of one after another. Since they run concurrently, the whole review takes as long as the slowest one, not the sum of all of them.
Claude Code's managed Code Review product puts these pieces together with a verification pass at the end. When a review runs, multiple agents analyze the diff and surrounding code in parallel, and each agent looks for a different class of issue. Then a verification step checks results against actual code behavior to filter out false positives. The surviving findings are deduplicated, ranked by severity, and posted as inline comments. That assurance has a cost. Reviews scale in cost with PR size and complexity and take 20 minutes on average, and Code Review usage is billed separately through usage credits. You can build the same thing yourself with a workflow, for example one that audits every route handler for missing authentication checks and "adversarially verify each finding before reporting it."
| Stage | What happens |
|---|---|
| Parallel analysis | Multiple agents analyze the diff and surrounding code, each looking for a different class of issue |
| Verification | Results are checked against actual code behavior to filter out false positives |
| Reconciliation | Findings are deduplicated and ranked by severity |
| Reporting | Findings are posted as inline comments on the specific lines where issues were found |
Checkpoint 4 of 7· Exam question
A refactor touches 60 files. A single reviewer instance given the entire diff at once produces contradictory findings between files. What change to the review architecture best addresses this?
Correct answer: A — Split the review into per-file passes for local issues, plus an integration pass for cross-file consistency
- A. Correct. Splitting into per-file local passes plus a separate cross-file integration pass avoids the attention dilution and contradictory findings that come from reviewing everything in one undifferentiated pass.
- B. Incorrect. Reviewing only the latest commit in isolation loses the cross-file view needed to catch integration issues across the full 60-file change.
- C. Incorrect. Running the same overloaded single pass twice does not fix attention dilution; it just repeats the same structural problem.
- D. Incorrect. A larger context window doesn't resolve attention dilution across unrelated files or eliminate contradictory findings between them.
Checkpoint 5 of 7· Match them up
Match each review mechanism to its job
Tap a term, then the definition that fits it.
Specialists find candidate issues, verification removes false positives, reconciliation merges and orders what remains, and a non-interactive loop scales per-file passes.
“a verification step checks results against actual code behavior to filter out false positives.”Source: support.claude.com
4.Self-reported confidence and review routing: what the sources cover
The exam guide adds one more technique: the model reports its confidence alongside each finding, so findings can be routed by how sure the model is. The prompting guides for Claude Opus 4.8 and Sonnet 5 document the finding-stage prompt for this. It tells the model to report everything, including uncertain items, and to attach a confidence level and an estimated severity to each finding, so that a separate downstream step can filter and rank. The guides add that moving confidence filtering out of the finding step often helps, and that you should tell the model its job at that stage is coverage, not filtering.
The sources don't give numeric confidence thresholds or a routing table, so don't invent any. What they do show is the downstream step. In the vulnerability-detection cookbook, triage is a fresh query that re-reads the code, verifies each finding against the actual lines, and collapses duplicates. It deliberately re-derives severity instead of inheriting the finder's scores, which is "a cheap way to catch overconfidence." Confidence and severity are different signals: severity says how much an issue matters, and confidence says how sure the reviewer is that it is real.
Report every issue you find, including ones you are uncertain about or consider low-severity. Do not filter for importance or confidence at this stage - a separate verification step will do that. Your goal here is coverage: it is better to surface a finding that later gets filtered out than to silently drop a real bug. For each finding, include your confidence level and an estimated severity so a downstream filter can rank them.Checkpoint 6 of 7· Check yourself
In the documented finding-stage prompt, why does each finding carry a confidence level and estimated severity?
The finding stage aims for coverage; the confidence and severity fields travel with each finding so a later stage can filter and rank.
“For each finding, include your confidence level and an estimated severity so a downstream filter can rank them.”Source: platform.claude.com
Checkpoint 7 of 7· Check yourself
Per the sources, which mechanism stops false-positive findings from reaching developers in Code Review?
Severity ranking orders findings, but it's the verification step that filters out false positives before they're posted.
“a verification step checks results against actual code behavior to filter out false positives.”Source: support.claude.com
Exam traps
Each one states something that sounds right. Open it to see what is actually true.
1.If the whole multi-file diff fits in the context window, one review pass is as good as several focused passes.Why is that wrong?
Recall and long-range reasoning lose precision as context grows, so focused per-file passes keep each review sharper.
Covered in Why one giant review pass underperforms
2.Once specialist agents have found an issue, a separate verification pass is redundant.Why is that wrong?
Code Review runs a verification step after the specialist agents specifically to filter out false positives before findings are posted.
Covered in Parallel specialist passes plus a verification pass
3.Severity ranking and confidence scoring are the same signal.Why is that wrong?
Code Review tags findings by severity, which is how much an issue matters. Filtering out unsupported findings is a separate verification job.
Covered in Self-reported confidence and review routing: what the sources cover
Sources
Every claim above is drawn from one of these pages, quoted as it was written on the date shown.
- 1.https://code.claude.com/docs/en/best-practicesOfficial docs
“Long sessions with irrelevant context can reduce performance.”
↩︎ Why one giant review pass underperforms“Test on a few files, then run on all of them”
↩︎ Per-file passes, then a merge across files - 2.
“Context, therefore, must be treated as a finite resource with diminishing marginal returns.”
↩︎ Why one giant review pass underperforms“may show reduced precision for information retrieval and long-range reasoning compared to their performance on shorter contexts.”
↩︎ Exam trap 1“may show reduced precision for information retrieval and long-range reasoning compared to their performance on shorter contexts.”
↩︎ Prediction - 3.https://code.claude.com/docs/en/workflowsOfficial docs
“use a workflow to review every file changed in this PR for correctness issues, then merge the per-file findings into one ranked summary”
↩︎ Per-file passes, then a merge across files“adversarially verify each finding before reporting it”
↩︎ Parallel specialist passes plus a verification pass - 4.
“traces data flows across files, and identifies complex, multi-component vulnerability patterns that traditional scanners might not detect.”
↩︎ Per-file passes, then a merge across files - 5.https://code.claude.com/docs/en/agent-sdk/subagentsOfficial docs
“During a code review, you can run style-checker, security-scanner, and test-coverage subagents simultaneously instead of sequentially.”
↩︎ Parallel specialist passes plus a verification pass - 6.
“multiple agents analyze the diff and surrounding code in parallel”
↩︎ Parallel specialist passes plus a verification pass“Reviews scale in cost with PR size and complexity, completing in 20 minutes on average.”
↩︎ Parallel specialist passes plus a verification pass“a verification step checks results against actual code behavior to filter out false positives.”
↩︎ Self-reported confidence and review routing: what the sources cover“Each agent looks for a different class of issue, then a verification step checks results against actual code behavior to filter out false positives.”
↩︎ Exam trap 2“Findings are deduplicated, ranked by severity, and posted as inline comments”
↩︎ Exam trap 3“a verification step checks results against actual code behavior to filter out false positives.”
↩︎ Checkpoint - 7.https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-sonnet-5Official docs
“For each finding, include your confidence level and an estimated severity so a downstream filter can rank them.”
↩︎ Self-reported confidence and review routing: what the sources cover - 8.https://platform.claude.com/cookbook/claude-agent-sdk-06-the-vulnerability-detection-agentSecondary source
“re-deriving them independently is a cheap way to catch overconfidence.”
↩︎ Self-reported confidence and review routing: what the sources cover