
A review credit (RC) is the unit ADO Pilot bills in. One RC covers roughly 500 lines of changed code, and every review costs at least 1 RC. This page explains the formula, walks through worked examples, and lists the code that does not count toward your bill.

## What is a review credit?

A review credit (RC) is the unit ADO Pilot bills in. Every PR review costs at least one RC, and longer diffs cost more in proportion.

The formula:

```text
RC = ceil(billable_diff_lines / 500)
```

Where `billable_diff_lines` is the sum of additions and deletions in the PR diff, after exclusions are applied (binary files, paths matching the org's exclusion list, and per-line normalization for very long lines).

A 650-line diff therefore costs `ceil(650 / 500) = 2` RCs. A 90-line diff costs 1 RC (the minimum). An empty diff — for example, when a PR is updated with a commit that touches only excluded files — costs 0 RCs and consumes none of your monthly allocation.

The "billable diff" is the added and deleted lines across non-excluded files, counted the same way Azure DevOps counts additions and deletions in the PR view. For most PRs, a quick glance at the PR's "Files" tab before you submit gives you a close estimate of the RC cost — but it isn't a strict upper bound. As the long-line rule below explains, a line longer than 200 characters counts as multiple billable lines, so a diff with unusually long lines can cost more RCs than the ADO-displayed line count suggests.

## How many RCs does a PR cost?

| PR diff size (billable lines) | RC cost |
| ----------------------------- | ------- |
| 1 to 500                      | 1       |
| 501 to 1,000                  | 2       |
| 1,001 to 1,500                | 3       |
| 1,501 to 2,000                | 4       |
| 2,001 to 2,500                | 5       |

Worked example. A PR adds 410 lines and deletes 240 lines across non-excluded files. Billable diff is `410 + 240 = 650` lines. RC cost is `ceil(650 / 500) = 2` RCs. In most cases, re-running the review on the same commit does not charge again — this is enforced through review deduplication on commit identity, so the same commit SHA maps to the same review instance.

## What code does not count?

ADO Pilot excludes generated, vendored, and binary content from the billable diff so you are not charged to review files no human edits by hand.

- **Binary files.** Images, archives, and other non-text blobs contribute 0 lines.
- **Default exclusion patterns.** Binary formats, files ending in `.lock` (such as `yarn.lock`, `poetry.lock`), and source maps are excluded by default. Note that `package-lock.json` and `pnpm-lock.yaml` use a `.json` / `.yaml` extension and are **not** excluded by default — add them to your org-level patterns if needed. Minified bundles such as `*.min.js` are also not excluded by default. See {% link href="../configuring/file-exclusions.md" %}the default exclusion list{% /link %}.
- **Custom exclusions.** Patterns you add at the org, project, or repo level are also stripped before the count.
- **Long-line normalization.** A line longer than 200 characters counts as multiple billable lines. This is a safety guardrail that prevents a single minified file from costing 1 RC when it should cost dozens.

## Empty diffs and superseded reviews

If a PR update touches only excluded files, the billable diff is empty and the review costs 0 RCs.

A **superseded** review is one made obsolete because a newer commit was pushed to the same pull request before that review's results were posted. ADO Pilot bills for every review it **completes**, but it makes a best-effort attempt to avoid spending credits on work you no longer need: when more than one iteration of the same PR is waiting to be reviewed at the same time, it tries to run only the **latest** iteration and skip the earlier ones before they start. A superseded review that is skipped before it runs never consumes a review credit (0 RCs).

This is best effort, not a guarantee. A review that has **already started** when you push a newer commit runs to completion and **is billed** — its inline comments are simply not posted, because a newer commit has superseded them. Only one review posts results to the PR at a time.

{% callout type="info" title="Where do RCs go?" %}
Each RC you consume is deducted from your plan's monthly allocation. See [Plan tiers](./plan-tiers.md) for the per-tier RC count and [Overage behavior](./overage-behavior.md) for what happens when you run out.
{% /callout %}


