izri/tests
Tests answers the most familiar question: did the suite pass?
It is the most conventional of the four signals, and on its own the least interesting — your CI already runs tests. What makes it useful here is that its result is aggregated with the other three, so a green suite can no longer be the last word. A run that passes while izri/hallucination reports the diff was never exercised produces a failing umbrella, which is exactly the outcome a bare test run can't give you.
What it does
Triggers a run against the change set, waits for it, and reports the outcome. Runs execute on the runner — the queue consumer that drains jobs from Redis — so a self-hosted instance without a runner leaves runs at PENDING indefinitely. See self-hosting.
Run statuses
| Status | Meaning |
|---|---|
PENDING |
Queued, not yet picked up. |
RUNNING |
Executing. |
PASSED |
Terminal. Everything passed. |
FAILED |
Terminal. Tests failed. |
ERROR |
Terminal. The run itself broke. |
CANCELLED |
Terminal. Stopped before completion. |
PASSED is the only terminal status that isn't a failure. The CLI exits non-zero on every other one.
Scoring
Test pass rate feeds the composite at weight 0.36 — the second-heaviest signal, behind hallucination.
A run that errors rather than failing is treated as an analyzer error, which is a hard rule. A broken run is not a passing run, and it isn't a soft deduction either: it means Izri has no evidence, and no evidence never resolves to "safe".
Scoped test selection
Izri selects the tests relevant to the diff rather than always running everything. This keeps the signal fast enough to gate every push. The selection is what izri/hallucination then audits — it checks whether the selected tests actually reached the changed lines.
Running it
izri run # trigger, don't wait
izri run --watch # poll until terminal--watch polls every 3 seconds with a 30-minute cap and exits non-zero on any terminal status except PASSED.
In CI, the GitHub Action does this for you when mode is tests or both.
Related
izri/hallucination— whether those passing tests meant anything.- Verdicts and exit codes.
- Troubleshooting — stuck at
PENDING.
Reading this with an agent? /docs/signals/tests.md serves the raw markdown.
Edit this page on GitHub →All docs