jev-auto-approve
GitHub Action that asks Jev three yes/no questions about a pull request and approves it only when all clear a confidence threshold.
Overview
jev-auto-approve from MetalBear is a GitHub Action that asks Jev whether a pull request needs a human reviewer and approves it when the answer is confidently no. It splits the judgment into separate yes/no questions answered in parallel in one call: is this pull request ready to merge as it stands, is the behaviour it changes covered by testing, and does it require a human reviewer. It approves only when every question clears the confidence threshold; otherwise it skips and comments with the numbers, naming which question held it back.
Because the probabilities are calibrated, the threshold acts as a real dial: 0.95 approves a narrower set than 0.8, and nothing is approved while the model is torn on any question. The quick start triggers on a /jev-approve comment from someone with write access, with examples for every push and a reusable workflow. It needs a TypeSafe key and a separate approve token for the approving bot account, and is MIT licensed.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Yes / no | Is this pull request ready to be merged as it stands? | yes · no |
| Yes / no | Is the behaviour this pull request changes covered by testing? | yes · no |
| Yes / no | Does this pull request require a human reviewer? | yes · no |
How it works
- Trigger on /jev-approve comment or PR push
- Send the PR to Jev with the question set in one call
- Approve if every answer clears the threshold
- Otherwise skip and comment with per-question numbers
Strengths
- Per-question explanation when skipping
- Threshold is a meaningful dial
- Questions are configurable
Caveats
- Auto-approving PRs carries risk; needs careful repo policy
- Requires a separate approver token
Getting started
Use `metalbear-co/jev-auto-approve@v1` in a workflow with jev-api-key, approve-token, approver and confidence-threshold inputs.At a glance
- Type
- Project
- Status
- beta
- Language
- TypeScript
- Runtime
- GitHub Action
- Has code
- yes
- License
- MIT
Use cases and integrations
How curated lists describe it
Jev is a decision model: it answers a typed question with a calibrated probability rather than prose. This action asks it one yes/no question per thing worth being sure about — answered in parallel in a single call — and approves only when every one of them clears your threshold:
logicrw/awesome-jev-projects
Frequently asked questions
What does the action decide?
Whether a PR is ready, tested and safe to approve without a human reviewer.
What happens when it is unsure?
It skips approval and comments which question fell below the threshold.
Who can trigger it?
In the quick start, only owners, members or collaborators via /jev-approve.
Related projects
Coding-agent tools on Jev with public benchmarks: a strict command gate, a code-review router Action, and use cases.
MCP serverbetaTypeScriptCompiler that turns agent rules in CLAUDE.md and similar files into testable Jev programs: typed questions plus a coded verdict.
ProjectbetaTypeScriptZero-dependency Python MCP server where Jev gates shell commands, audits patches and resolves decisions, with SQLite caching.
MCP serverbetaPythonAdvisory Jev sidecar for Pi: four pre-flight hazard checks before bash/write/edit and four diff-quality checks after edits.
PluginbetaTypeScriptAutonomous PR review bot with typed Jev questions, deterministic approval gates and escalation of uncertain reviews to trusted owners.
ProjectprototypePythonTyped judgment harness for coding agents with gates from PRD to release; runs on JSON-forced LLMs today and Jev by swapping the backend.
ProjectprototypeTypeScript