Jev-Code-Reviewer
egma-ai's MIT-licensed tool for reviewing a coding agent's own pull requests: a local CLI, an agent skill, and an unpacked Chrome extension, built around one design choice — show a reviewer a behavior change, not a diff, and rank changes so most of them never need reading closely. 81 stars, 1 fork, 10 commits, last updated 2026-09-25.
What it replaces
The stated problem is the one this spoke already tracks from the cost side (stop-burning-tokens-on-code-review): an agent that produces a 230-file PR gets "YOLO merged" because nobody can hold that much diff in their head. Jev's answer keeps a model in the loop on every PR, unlike deterministic-review-gate, which removes the model from the hot path entirely. What it changes is what the reviewer sees, and how much of it demands attention.
How it works
Two model providers split the job, and the tool's own name comes from one of them. TypeSafe
(covered independently in ../llm-providers-wiki as typesafe-ai) scores each change unit through
its Jev model — the "typed decision" function-call model this spoke's sibling wiki documents in
system-one-models-and-jev as "unstructured state in, typed probabilistic decisions out."
jev-code-reviewer and its jev-reviewer CLI are named after that model, not the other way round.
OpenAI, over the Responses API with
Structured Outputs and store: false, writes the prose a reviewer reads — old logic, new logic,
what changed, why it might need attention. A local policy file (config/policy.json, a repo's own
.jev-reviewer.json, or --policy) turns that evidence into one of three priorities, and the
policy's hash is recorded in every report:
- P0 — human review required (shown expanded, and by default the only tier shown at all)
- P1 — human review recommended (starts collapsed)
- P2 — mechanical or well-supported (starts collapsed)
There is no hosted backend and no GitHub App in v1. The CLI (jev-reviewer analyze --pr <url> --repo <path>) reads a local clone and the PR's diff via gh, so it never requests its own GitHub
token; an optional context tool, Graphify (installed as the graphifyy package via uv tool install graphifyy), adds related symbols and dependencies when it can find them, and the tool falls
back to diff-only context when it can't. Output is a cached report served by a local process
(jev-reviewer serve, 127.0.0.1:4731 only) that the Chrome extension reads over a paired bearer
token — it swaps GitHub's own diff tables for a P0/P1/P2 badge and an old/new logic view, with the
original diff one toggle away, and it works only on the classic /files page, not /changes.
Posts nothing to GitHub: nothing here writes a PR comment, so it does not add a second queue to
the one stop-burning-tokens-on-code-review found reviewers were already drowning in — the
report exists only for whoever opens the extension or the local server.
An agent skill (install/README.md) lets a coding agent call analyze itself right after
opening a PR; the docs are explicit that this is best-effort — "not a daemon, webhook, Git hook, or
guaranteed listener."
What it does not claim
The architecture doc is unusually direct about its own limits: summaries are "an interface over the
code, not an authoritative replacement for it," Graphify's static neighbors "do not prove runtime
impact," and analysis "must not imply whole-repository understanding." Only the first 12 diff hunks
are analyzed by default (--max-units raises this to 100). Stale reports are never shown once a PR
gets new commits — analyze has to be rerun and the report refreshed by hand. And because the tool
is not offline, changed code and its nearby context go to TypeSafe and OpenAI; API keys sit
unencrypted, owner-only, in ~/.config/jev-reviewer/credentials.json, a choice the README defends
because an agent's own shell often can't see environment variables its human's shell can.
Why it's here over llm-providers-wiki
The router's runner-up was ../llm-providers-wiki, which already holds CodeRabbit as a per-model
review vendor evaluated on its own terms, and, it turns out, TypeSafe's Jev model itself
(typesafe-ai, system-one-models-and-jev). Neither angle fits here: nobody has benchmarked
what TypeSafe or OpenAI catch that the other misses, the source makes no such claim, and this page
is about the harness built around the model, not the model's own accuracy (that question, and
TypeSafe's self-reported 67.8% aggregate figure, stay on system-one-models-and-jev). What Jev
contributes to this spoke is the harness shape: a CLI, agent skill and browser extension wired
around a local server, aimed specifically at a coding agent's own output. That sits next to
claude-security-plugin and deterministic-review-gate as a third answer to where a model
belongs in the review loop. It is not removed, the way deterministic-review-gate removes it; it
does not post its own PR comments, the way the GitHub Actions setup
stop-burning-tokens-on-code-review measured did; instead it triages, so only a fraction of the
output (P0) demands a human's first look.
Tier
T1. Everything load-bearing here (commands, architecture, the P0/P1/P2 policy mechanism, the provider split, the stated limitations) is the project describing its own design, checkable against the repository. The tagline ("prioritizes human attention") is marketing framing, not a measured effectiveness claim, and nothing in the source reports how often the priority split is right or how much reviewer time it actually saves; that absence is recorded above rather than folded into the tier.
Related
stop-burning-tokens-on-code-review · deterministic-review-gate · claude-security-plugin · agent-skills · agentic-coding-harness · shipping-without-human-verification · agent-loops-verification · egma-ai · typesafe-ai · system-one-models-and-jev · synthesis