---
title: What is Izri
description: Four independent signals, one merge verdict — what Izri computes, and what it deliberately does not.
order: 10
---

# 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`](/docs/signals/scope) | Does the diff match what the PR says it does — and does it touch paths it shouldn't? |
| [`izri/tests`](/docs/signals/tests) | Did the relevant tests run, and did they pass against this diff? |
| [`izri/hallucination`](/docs/signals/hallucination) | Did the tests that passed actually exercise the lines that changed? |
| [`izri/visual`](/docs/signals/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](/docs/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_path` hints are informational; they point you somewhere without failing the build.

## Next steps

- [Quickstart](/docs/start/quickstart) — get your first verdict on a real pull request in about five minutes.
- [Your first verdict](/docs/start/your-first-verdict) — how to read the result once it lands.
- [The four signals](/docs/signals/overview) — the aggregation model in full.
