jevbooks

← All projects

jev-pr-reviewer

offneves/jev-pr-reviewer

Local CLI that scores PR/MR diffs with JEV and applies deterministic risk policy.

Automated README summary

Automatically summarized from the README on 4 Nov 2026; not a run by jevbooks. Run instructions and author-reported outcomes still need verification.

What it is

A local TypeScript CLI for developers reviewing Pull Request / Merge Request diffs. It obtains structured decisions from JEV (TypeSafe) and applies a deterministic risk policy to the application code, separating model decisions from application decisions.

How it uses Jev

JEV answers structured questions about the diff state (files, additions, deletions, diff text plus inventory summary). Four scored axes (securityImpact, databaseChange, apiImpact, authenticationImpact) use the TypeSafe score primitive with a 0–9 rubric, converted to 0–100 impact. Advisory axes (breakingChange, needsHumanReview, riskLevel) do not enter the score. The app computes a weighted average and maps it to APPROVE / REVIEW / BLOCK.

Primitives:score

Technique worth stealing

Separate model decisions (impact + confidence) from application decisions (weighted average, risk level, action) via a deterministic policy JSON.

Try it

npm install && npm run build, then node bin/jev-pr-reviewer.mjs analyze fixtures/sample.diff --mock --json

View on GitHub

Start using Jev: API key and your first request →

Model judgments from README excerpts

Project signals use repository metadata, an existing summary and the first 700 README characters, not the full project. “Not found” means not detected in that material; it does not establish absence. These are the original judgments with recorded models and dates, not source audits or run results.

Models & evaluation dates

Inclusion gate
jev-1.14.0
Project signals
jev-1.14.0
Category
jev-1.14.0
Pattern tags
jev-1.14.0

Evidence

These signals use repository metadata, an existing summary and at most 700 cleaned README characters. ≥ 0.60 means reported in that excerpt; ≤ 0.40 means not found there. The middle band is inconclusive. None is a source-code audit or a test result. The runnable-tool question excludes research experiments; the recommendation question asks for a learning shortlist, not a quality verdict.

  • Jev is core to the projectFound in material0.95
  • Shows a System One patternFound in material0.91
  • Describes handling uncertaintynot found in the excerpt0.06
  • Reports measured numbersnot found in the excerpt0.02
  • Is a runnable toolFound in material0.86
  • Top-10 learning shortlist signalnot found in the excerpt0.37
  • Is a replica of the modelnot found in the excerpt0.10
  • Solves a common problem (0–2)score on a 0–2 scale1.78 / 2
  • About JevFound in material0.98
Signals
Jev is core to the project0.95Shows a System One pattern0.91Describes handling uncertainty0.06Reports measured numbers0.02Is a runnable tool0.86Top-10 learning shortlist signal0.37Is a replica of the model0.1000.51Solves a common problem (0–2)1.78 / 2012

no-judgment band (0.40–0.60)

Design patterns
Scorecard0.98Menu0.92Questionnaire0.86Inspection0.67Funnel0.64Traffic light0.61Blind review0.2300.51

no-judgment band (0.40–0.60)

The Jev model and date for each judgment stage are listed above. Card written by DeepSeek V4.1 Flash from the README on 4 Nov 2026.