Answers from our docs and articlesesc to close
Try asking
Create an accountSign up

Standard vs Thorough: what the extra pass finds, and what it costs

Auditor's two review depths side by side: what each one reads, which seeded bugs only Thorough caught, and what it cost per case in our eval.

Key takeaways

  • Standard reads the diff and the changed files with three passes and a vote; Thorough runs four focused passes that can read and search the whole repository.
  • In our Oct 11, 2026 eval of 22 seeded pull requests, Standard found 34 of 38 planted bugs and Thorough found all 38, at about $0.04 and $0.11 per case.
  • Standard's clearest gap is bugs whose damage is in a file the pull request didn't touch, such as a caller that breaks when a return type changes.
  • Thorough is the default; Standard suits high-volume repositories of small, self-contained changes, and each repository can set its own depth.

Auditor's deep review comes in two depths, Standard and Thorough. Both use the same models and both end with a verifier that checks every finding before it's posted. The difference is how much code the review reads, and that turns out to decide which bugs it can find at all.

This article explains what each depth does, what our eval showed about the gap between them, and how to choose. The method behind the numbers, the case list and every result are in How we measure an AI code reviewer.

What Standard does

Standard runs three find passes over the same change. Each pass gets the diff plus as much of the changed files as fits, and reads the files in a different order, so one pass's blind spot is less likely to be all three's.

The passes then vote. A finding that at least two passes agree on goes to the verifier, as does any finding a single pass rates High. Everything else is dropped. The verifier makes one call that sees each finding with the code around it, and confirms or rejects it.

Standard never sees a file the pull request didn't change. It has no tools to open one.

What Thorough does

Thorough runs four passes instead of three, and each looks for one kind of problem:

  • logic and edge cases
  • security
  • data and concurrency
  • API and contract breaks

Each pass can read, search and list the repository at the pull request's head. The contracts pass is told to search for every caller of what the diff changes and check each one. Since each pass has its own focus, there's no vote; duplicates are merged and every finding goes to the verifier, which can explore the repository too.

In real reviews, Thorough also runs static analysis first: the repository's own type checker and linter where it's set up for them, Semgrep's default rules, and Theme Check on a Shopify theme. Their results are handed to the passes so they don't repeat them.

What the eval showed

Our eval runs 22 pull requests with 38 bugs we planted, plus five clean pull requests where any finding is noise. It measures the deep review alone, without static analysis. These are the Oct 11, 2026 results:

StandardThorough
Bugs found34 of 38 (89%)38 of 38 (100%)
False positives10
Clean cases flagged0 of 50 of 5
Model calls81250
Mean cost per case$0.037$0.112
Median time per case5 s12 s

The usual caveats apply, and they matter here. The bugs are seeded and the answer key is ours. The repositories are mostly two or three files. One bug is 2.6 points of recall, and runs vary: on one real-file case, three Thorough runs in a row found seven, eight and seven of its eight bugs, while two Standard runs found all eight.

So the headline gap of four bugs isn't the useful part. Which four is.

The bugs Standard missed

Two cross-file contract bugs. In one case a lookup function stops throwing and returns null, and a caller in another file still reads a field off the result. In the other, a serializer renames createdAt to created_at, and an untouched feed still sorts on createdAt. In both, the changed code looks correct on its own. The breakage is in a file outside the diff.

Standard can't see that file, and none of its passes proposed anything on either case, in this run or the one on Oct 6. On Thorough, all four passes searched for the callers and flagged both bugs. This is the clearest difference between the depths, and it isn't noise: it's a matter of what each depth can read.

A bug the verifier talked itself out of. A pull request titled "Drop the zero default from balanceOf" makes an unknown account throw instead of returning 0. All three Standard passes found it, and it went to the verifier, which rejected it because the title said the default was dropped on purpose. Thorough's verifier opened the caller, saw nothing guards against the throw, and confirmed it. Reading the caller turned an intent question into a fact.

One of 24 bugs in the real-file cases. Standard found 23, Thorough all 24. At this sample size that's within run-to-run variance.

Standard's one false positive was a fair point the answer key doesn't include: a new retry loop retries card declines with no backoff, alongside the planted bug of a dropped idempotency key, which it also found.

What the extra pass costs

Thorough made about three times as many model calls (250 against 81) and cost about three times as much: $2.46 for all 22 cases against $0.82. The ratio depends on the change.

CasesStandard, meanThorough, mean
18 small cases, two or three files$0.020$0.082
3 cases built from real Shopify theme files$0.138$0.291

On the small cases, Thorough's exploring is most of the cost, so it runs about four times Standard. On the larger real files the diff and file context dominate both, and Thorough runs about twice. These are estimates from token usage and catalog prices. In a real repository there's more to search, so expect Thorough to cost more than the eval shows, and Standard about the same.

Either way, every request a review makes is billed to the Auditor key and listed in Logs, so the cost of each review is visible, and spend caps apply to both depths.

Which to pick

Thorough is the default. Keep it where a change in one file can break code in another, which is most application code: shared types, API handlers and their clients, serializers, anything with callers. Those are the bugs Standard can't see, and they're often the ones that get past a human reviewer too, because the diff looks fine.

Standard is a reasonable choice when:

  • the repository sees many small, self-contained changes, and cost per review matters more than catching cross-file breaks
  • most changes are content, configuration or isolated files, where there are few callers to check
  • the repository already has strong type checking and tests across module boundaries, so contract breaks tend to fail CI before review

Depth is set for the team in the Deep review section of the Auditor page, and each repository can override it in its settings. So a team can keep Thorough on its main application and use Standard on a docs site or a repository of small scripts.

Frequently asked questions

Does Thorough use a different model?

No. Both depths use the find and verify models chosen on the Auditor page, by default anthropic/claude-sonnet-5.5 to find and anthropic/claude-opus-5.5 to verify. Thorough runs more passes, gives them tools to explore the repository, and runs static analysis first.

Can one repository use Standard while the rest use Thorough?

Yes. Depth is a team setting that each repository can override in its own settings on the Auditor page.

Does Thorough post more comments?

Not in our eval. On Oct 11, 2026 it had no false positives and flagged none of the five clean pull requests. Each pass has a narrow focus and the verifier checks every finding, so more passes doesn't mean more noise.

One bill for your apps, your models and your reviews.

Host apps and functions next to your model traffic. Routing picks each turn's model by your quality floor, and Auditor reviews every pull request against your own rules.