What is Izri
Izri answers one question about a pull request: is this delta safe to merge?
It is built for a specific problem. When a coding agent writes a PR — Claude Code, Cursor, Aider, Devin, or your own bot — the diff usually compiles, the suite usually goes green, and none of that tells you whether the change did what was asked or whether the passing tests touched any of it. Izri measures that gap.
The question
Every push produces one verdict, published as the izri/quality check on the pull request. It is a gate: it either lets the merge through or it doesn't. It is not a review, and it never rewrites your code.
The four signals
The verdict is computed from four independent signals. Each answers a different question, and each can fail on its own.
| Signal | Question it answers |
|---|---|
izri/scope |
Does the diff match what the PR says it does — and does it touch paths it shouldn't? |
izri/tests |
Did the relevant tests run, and did they pass against this diff? |
izri/hallucination |
Did the tests that passed actually exercise the lines that changed? |
izri/visual |
Did the rendered UI change on the routes this diff affects? |
They are independent on purpose. A diff can have perfect scope alignment and a fully green suite while izri/hallucination fails because none of the passing tests touched the changed lines. That combination is the whole reason the four exist separately instead of collapsing into one score.
The umbrella verdict
izri/quality aggregates the four children two ways at once:
- Hard rules are worst-of. One hard finding fails the umbrella no matter how good everything else looks. The hard rules are deliberately few — a forbidden-category change, a diff no test exercised at all, and any analyzer that crashed.
- Soft signals are a weighted composite. Alignment, pass rate, coverage of the diff, and visual delta each normalize to 0–100, combine by weight, and must clear a threshold of 70.
The full aggregation table — every weight, every hard rule, and what each severity does — is in the signals overview.
What Izri is not
- Not a code-review tool. Findings are addressed to the human reading them. Izri never proposes a patch, never opens a suggestion, never edits your branch.
- Not a linter. It reasons about a diff against its stated intent and its test evidence, not about style.
- Not a blocker you can't tune. Only
error-severity findings block by default.sensitive_pathhints are informational; they point you somewhere without failing the build.
Next steps
- Quickstart — get your first verdict on a real pull request in about five minutes.
- Your first verdict — how to read the result once it lands.
- The four signals — the aggregation model in full.
Reading this with an agent? /docs/start/what-is-izri.md serves the raw markdown.
Edit this page on GitHub →All docs