jev-gates
Claude Code plugin with nine Jev-judged gates for rules, scope, intent, completion and claims that escalate but never approve.
Overview
jev-gates provides calibrated gates for Claude Code, each judged by Jev against a fixed checklist and one piece of evidence. Every gate can escalate; none ever approves. Gates include a rule guard (edits breaking CLAUDE.md rules), scope guard (edits outside the request), intent guard (edits when you only asked a question), prompt check (requests missing outcome, location, finish line or repro), Bash guard (destructive commands), done gate (unaddressed asks), claims gate ('tests pass' when no test ran), proof gate (risky changes nothing verified) and commit guard (messages claiming work the diff does not show).
Since 0.9.0 only the claims gate is on by default. The author explains why from a week of real sessions: the claims gate caught real overstatements, the intent guard added about 650 ms per prompt with asks mostly on scratch files, and most done and proof blocks landed on turns that were already fine. Each gate costs about half a second warm and a fraction of a cent, and a wrong answer costs at most a permission prompt or retry.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Yes / no | Does the reply claim results (such as tests passing) that the evidence does not show? | — |
| Yes / no | Does this edit break a CLAUDE.md rule or go outside the requested scope? | — |
| Yes / no | Was any ask in the prompt left unaddressed? | — |
| Yes / no | Is this shell command destructive or irreversible? | — |
How it works
- Hooks fire on prompts, edits, shell commands, stops or commits
- Each enabled gate sends a checklist and one piece of evidence to Jev
- Escalate with a permission prompt or block when Jev flags a problem
- Never auto-approve
Strengths
- Escalate-only design limits damage from wrong answers
- Defaults tuned from real session data
- Low cost per check
Caveats
- Most gates are opt-in
- Some gates added latency or false blocks in the author's week of use
Getting started
Install the plugin for Claude Code; see 'Turning on other gates' in the README to enable more than the claims gate.At a glance
- Type
- Hook
- Status
- beta
- Language
- TypeScript
- Runtime
- Claude Code plugin (hooks)
- Has code
- yes
Use cases and integrations
How curated lists describe it
Six hook gates for Claude Code that catch broken rules, out-of-scope edits, unfinished asks, and false claims, each judged by Jev against a fixed checklist and one piece of evidence.
hellogumbo/awesome-jevSeven calibrated gates for Claude Code (rules, scope, intent, done, claims, proof, and commit honesty) that escalate but never approve.
MrJev/awesome-jev
Frequently asked questions
What does Jev decide?
Whether a claim, edit, command, stop or commit fails a specific checklist item.
Can it approve actions?
No, gates only escalate.
Which gates are on by default?
Only the claims gate since version 0.9.0.
Related projects
Calibrated alignment verifier that checks LLM responses and agent plans for sycophancy, deception, overreach and dark patterns with Jev.
ProjectprototypeTypeScriptClaude Code plugin that checks every reply and file edit against your CLAUDE.md rules with one Jev yes/no per rule.
PluginbetaTypeScriptClaude Code plugin that scores a turn's redacted diff on eight Jev risk axes at Stop and asks Claude to reinvestigate once if high.
ProjectbetaGoRisk gate for AI coding agents: Jev decides at five layers and Claude Code hooks enforce deny or ask deterministically.
ProjectbetaJavaScriptStop hook for coding agents where Jev checks each attempted stop against plain-language rules and sends the agent back if one is violated.
HookbetaPythonStop hook for Claude Code and Codex that refuses 'done' until a check passes after the last edit; Jev advises but never causes a block.
CLIbetaTypeScript