Review tiers (how much review a change gets)
The session asking for an AI review says how much review the change needs — light, standard or heavy — and Omniscio runs the reviewers you configured for that size. Any change touching a database migration, signing in, or money, or one simply too large to read closely, is raised to the heavy line-up whatever was asked for, and the app records what it asked for, what it ran, and what the change looked like. You configure each size, and an optional trial AI, in Dev Pipeline → Setup.
What it is
When a session asks Omniscio for an AI code review, it says how much review the change needs: light, standard or heavy. Each of those names a reviewer line-up you configure, and Omniscio runs that line-up.
Before this, every review ran whoever the pipeline step happened to name, whether the change was a one-line log fix or a database migration. You either paid for a full review of a stylesheet edit or got one cheap reader on something that could drop a table.
Two things make the choice safe:
- A floor. Omniscio reads the change itself. Anything touching a database migration, signing in or accounts, or money and spend — or simply too large to read closely — is always reviewed at the heavy line-up, no matter what was asked for. The floor only ever raises a request, never lowers it.
- It is recorded. Each review keeps what was asked for, the one-line reason the asking agent gave, what actually ran, and what the change measured. So you can look back and ask "was light the right call for that?" and have the facts to answer it.
Where you set it up
Dev Pipeline → Setup → AI code review. There is a section with the three sizes, and each one is a list of AIs:
- Light — one quick reviewer once you list one. Small, low-risk changes.
- Standard — two reviewers once you list them. The default when the asking agent does not say which tier it wants; out of the box it runs the line-up a review would have run without sizes.
- Heavy — the full line-up once you list one. Big or risky changes, and always work brought back from a cloud machine.
In each list you can name a speed level (basic, worker, smart, genius — those run a
Claude model inside the session) or another company (codex, gemini, deepseek, glm,
kimi), which sends the work to them and costs money. Leave a list empty and that size runs the
line-up a review would have run before sizes existed: the pipeline step's own reviewers — or, for
work brought back from a cloud machine, which sits at no pipeline step, the reviewers your Code
review steps configure.
Below each list is how many reviewers run (0 means one per name you listed), and an optional trial reviewer:
- A trial AI runs beside your usual reviewers for that size — never instead of one — so you can compare how it does on the same work.
- You choose what share of that size's reviews it joins (a percentage), so trying something new costs a fraction of the traffic.
Changing any of this applies to the next review. No restart, no code change.
What the asking agent sees
An agent asks for a review with a size and a one-line reason. It cannot pick or swap an individual
reviewer for a tiered review — the line-up is always yours. If it asks for light on something
that turns out to be a migration, it gets the heavy line-up, and the record says which rule raised
it.
A request that names its own reviewers outright still works exactly as it always did; that path is for a one-off, and it records no size because none was chosen.
Seeing what was chosen
- The scorecard (in the same Setup area) reports each AI's record split by size — the same AI at light and at heavy are different things to compare, and averaging them would answer neither question.
- From the command line,
GET /reviews/tier-pickson the local control server returns, for the session asking: how many reviews it started, how many named a size, how often the floor raised one, the counts by size asked for and by size actually run, which floor rule fired, and the largest change measured.
Where it goes wrong
- A size is not permission to skip review. Light is still a real review. Anything that lets a change through unreviewed is the exact failure this feature exists to prevent — so every size always names real reviewers, and a list left blank falls back to the step's line-up rather than to nobody or to fewer.
- A trial reviewer is never a replacement. If turning one on quietly dropped a reviewer, a comparison built from two different line-ups would look identical to a real one and be worthless.
Related
- The review request shape, the reviewer line-up rules, and the record: contract
ai-review-tiers-contract. - What a reviewer may read, and how findings are judged and scored: contract
review-service-contract,ai-review-scorecard-contract.