Docs · Product
Reading rules
A rule decides when a file counts as read. Every workspace gets one default rule. Any repo can override it. Edit both in the dashboard under Rules.
The threshold formula
Three numbers set the required seconds for each file:
| Setting | Default | Meaning |
|---|---|---|
minSecondsPerFile | 15 | Floor. Every non-excluded file needs at least this. |
secondsPer100Lines | 5 | Added per 100 changed lines (additions plus deletions). |
maxSecondsPerFile | 180 | Cap. No single file requires more than this. |
Requirement per file: clamp(min, min + ceil(lines × per100 / 100), max). Deleted files need only the floor. Examples with the defaults:
| Changed lines | Required |
|---|---|
| 10 | 16s |
| 100 | 20s |
| 500 | 40s |
| 3,300 or more | 180s (capped) |

Exclusions
Files matching any exclusion glob need zero seconds, are skipped by the check, and are labeled excluded in the files view. The default set covers what nobody should be forced to read:
**/*.lock pnpm-lock.yaml yarn.lock
package-lock.json Cargo.lock Gemfile.lock
poetry.lock **/*.generated.* **/*.min.js
**/*.min.css **/dist/** **/vendor/**
**/node_modules/**Globs match with dotfile support, so **/dist/** also covers hidden directories. Add patterns for your own generated code: protobuf output, snapshots, fixtures. Up to 200 patterns per rule.
Reviewer requirements
| Setting | Default | Effect |
|---|---|---|
requireAllReviewers | off | On: every assigned reviewer must read every file. Off: one required reader completing is enough. |
allowDismissOnReApprove | on | Governs how re-review works after a new push on an already approved PR. |
postReadByComment | off | On: posts a "Read by" summary comment on the PR when the check completes, so the record is visible in the thread. |
Per-repo overrides
Open a repo in the dashboard and edit its rule to detach it from the workspace default. An override replaces the whole rule for that repo, including exclusions. Repos without an override follow the default, including future edits to it.