
A typical ADO Pilot review completes in 2 to 5 minutes. In rare cases — for example, during high AI-provider load — a review can take up to 10 minutes, or very occasionally longer. This page explains what affects duration and what each step is doing while you wait.

## Typical timing by PR size

| PR size                                       | Typical duration | Worst case at the 95th percentile |
| --------------------------------------------- | ---------------- | --------------------------------- |
| Small — 1 to 3 files, fewer than 500 lines    | 2 to 3 minutes   | about 5 minutes                   |
| Medium — 5 to 15 files, 500 to 1,500 lines    | 3 to 5 minutes   | about 7 minutes                   |
| Large — 20 or more files, 1,500 or more lines | 5 to 10 minutes  | up to ~10 minutes                 |

These ranges assume a healthy AI provider. Actual times vary with code complexity and provider load.

## What the review is doing while you wait

```text
queued                        under a second
  fetch diff and enrichment    ~10 to 30 seconds
first-pass analysis            1 to 3 minutes
second-pass refinement         1 to 3 minutes
finalize and post              under a second
```

- **Queued.** ADO Pilot records the review and acquires the concurrency slot for that pull request. Only one active review runs per PR at a time — reviews for other PRs in the same organization run in parallel and are not held up by it.
- **Fetch and enrich.** The diff comes from Azure DevOps. Code-structure summaries and static-analysis findings are computed and attached to the review context.
- **First-pass analysis.** ADO Pilot runs a high-recall sweep of your diff to surface every potential issue.
- **Second-pass refinement.** ADO Pilot re-evaluates each candidate finding, drops the false positives, and writes the final comment text. See [Why some findings are dropped](two-pass-design.md) for the rationale.
- **Finalize.** Confirmed findings post as inline comments, the tracking comment finalizes to PASS, ADVISORY, or FAIL, and the `ai-pr-review` status check updates.

## Why some reviews are slower

Things that make a review faster:

- Smaller diff (fewer files, fewer lines).
- Simple code without deep cross-file dependencies.
- A healthy AI provider.

Things that make a review slower:

- Larger diffs, especially over 1,500 changed lines.
- High AI-provider load — requests queue under heavy traffic.
- Rare: Azure DevOps API delays when fetching the diff or posting comments.

## When a review takes longer than expected

Most reviews complete within 5 minutes. If a review has not finished within roughly 10 minutes — for example, during high AI-provider load — ADO Pilot cancels the in-flight request and re-runs the same analysis on a more reliable path:

- The review still completes, with the same findings format and the same tracking-comment lifecycle. You will not see a difference in the output.
- The extra time comes from the wait before the switch, not from the fallback path itself — once it switches, the review finishes quickly.

This path is reserved for the rare cases where the primary path has genuinely stalled — most reviews never need it.

## Where to see the duration

The full review detail page — linked from "full review" in the tracking comment's footer — shows the total duration alongside queued and completed timestamps so you can see the wall-clock span of the run.

## Speeding up your reviews

The biggest lever is PR size. A 500-line review is meaningfully faster than a 5,000-line review and almost always produces better findings, because the model can hold more of the change in working context. If you have a large refactor to ship, split it into per-subsystem PRs. Each one reviews quickly, and the rolling feedback is more useful than one slow verdict on the whole change.


