Docs · Product
The check
One check run carries the whole product: Read PR / Review complete. It appears on every pull request in a watched repo and tells you, per commit, whether the changed files have been read.

States
| State | Title | Meaning |
|---|---|---|
| Queued / in progress | Waiting on review | Files are recorded, thresholds are set, reading has not finished. This is the normal state of an open PR. It is amber, not red. |
| Success | All files read | Every non-excluded file met its threshold for the required readers on the current head commit. |
| Action required | Reading incomplete | A review was submitted before the files were read. The summary lists which files still need time. |
| Neutral | Read PR paused, not enforced | Billing is unresolved on a private repo. The check states why and links to billing. It never blocks the merge. |
The check is per commit. A new push re-evaluates against the new head: files with unchanged diffs keep their read state, changed files start over.
Requiring the check
Without branch protection the check is informational. To gate merges, make it required on your default branch:
- GitHub repo Settings → Branches → edit the rule for your default branch.
- Enable Require status checks to pass before merging.
- Add
Read PR / Review completeto the required list.
gh api repos/:owner/:repo/branches/main/protection \
--field 'required_status_checks.contexts[]=Read PR / Review complete'Rulesets work the same way: add the check by name to a required status checks rule.
Fail open, never closed
A billing problem is an amber event, not a red one. Trials that lapse, payments that fail past their 14-day grace window, and canceled subscriptions all move private-repo checks to neutral, which passes branch protection. Action required is reserved for one thing: files not yet read.