Review credits explained

How ADO Pilot converts a pull request diff into review credits, and what code is excluded from the count.

Last updated

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:

RC = ceil(billing_diff_lines / 500)

Where billing_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 "billing 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 billing 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 (billing lines)RC cost
1 to 5001
501 to 1,0002
1,001 to 1,5003
1,501 to 2,0004
2,001 to 2,5005

Worked example. A PR adds 410 lines and deletes 240 lines across non-excluded files. Billing 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 billing 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 the default exclusion list.
  • 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 billing 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 billing 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.