izri/scope
Scope
Does the diff match what the PR said it was going to do? Did it touch paths it shouldn't?
What it asks
Reads the PR's stated intent (title, body, linked issue) and the actual diff, then asks: are these the same change? Hard rules cover sensitive-path violations and pr_type policy; the soft score is an LLM-driven alignment number between 0 and 100.
Hard rules
Auto-fail
- •Forbidden category in `.izri/scope.yml` was touched (e.g. fix-only PR modified the schema).
- •A sensitive path was modified without an explicit `allow` rule.
Soft signal
hybrid
Alignment score 0–100. Composite weight in izri/quality: 0.24.
When it fires
On every push to a PR. The first run hydrates the scope config from `.izri/scope.yml` (or the dashboard defaults); subsequent runs reuse the cached config row.
Implementation reference
The docs page has the full type signatures, config schema, and the on-disk shape of every analyzer output. Or grab the raw markdown via /docs/features/scope.md.