Skip to content

Pi Verdict

Permission gate extension for the pi coding agent: deterministic allow/deny rules and protected paths settle clear cases first, then gray-zone tool calls get one structured classify() verdict; Jev is an optional native classifier via TypeSafe direct, OpenRouter, or other gateways, failing closed on error.

Stars
13
Language
TypeScript
License
MIT
Published by
Community
Last verified
Oct 2026

About this project

pi-verdict is a minimal permission gate for pi, inspired by Claude Code's auto mode: every tool call gets checked before it runs — allow, deny, or ask you first. Minimal — a 2k-line single-file core (the classifier rides pi's native classify() since 0.13) Built-in danger rules and your own allow/deny rules settle the clear cases first, at zero latency. Everything else goes to a model classifier that sees the conversation context. Any uncertainty or failure fails closed; nothing ever runs silently.

Quoted from the project's README. Read the full README.

Languages
TypeScript
Capabilities
Open sourceRuns locallyRequires API key

Highlights

  • Set classifierModel to typesafe/jev-latest (or openrouter/typesafe/jev-1.13) to use Jev; requires pi >= 0.99, installed with pi install npm:pi-verdict.
  • Three verdicts: ask routes ambiguity to a human and degrades to deny in non-interactive sessions; any uncertainty or classifier failure fails closed.
  • Deny wins over allow, both beat the classifier, and the built-in deny floor is never overridden by the classifier or user allow rules.
  • An optional confidence floor cascades low-confidence Jev verdicts to a fallback model; a demoted deny or ask can never be relaxed to allow.
  • Codemode and MCP calls are gated too: a script may issue up to 256 nested calls, each adjudicated individually at roughly 350 ms per gray-zone call.

Watch out

MIT license; Jev support is an optional backend the README marks experimental, and tools exempted via ignoreTools lose the classifier's protected-path vigilance.

Questions about this entry

Short answers drawn from the linked project or page.

Reactions & coverage

Posts, threads, and videos about this entry from around the web.

X: Agent Handoff Gate: agents verify what they hand off

X: Jev as an LLM guardrail inside Agentgateway

X: Vercel's fx safety reviewer, measured at 18× faster

Reddit: Early experiments wiring Jev into Pi as a safety layer and model router.

Related terms

Glossary definitions related to this entry.

More Jev resources like this

27GitHub stars
A DeepSeek Harness plugin where Jev Choice and Noul checks gate every non-read-only tool call - deny confident high-risk calls, escalate ambiguous ones, auto-approve clearly granted reversible ones - and optionally score session messages so valuable context survives instead of being dropped oldest-first.
Jev Tools & CLIs#community#plugin#guardrails
21GitHub stars
MIT-licensed Python tool router for coding agents that keeps obvious calls on a fast path, asks Jev (default typesafe/jev-1.13 via OpenRouter) for genuinely ambiguous choices, and can run bounded MCTS when multi-step consequences matter. Ships a CLI, MCP server and hook integrations.
Jev Tools & CLIs#community#routing#mcp
22GitHub stars
An MCP proxy and hooks adapter that screens an agent's tool calls before they run and the tool results before the agent reads them, with thresholds in a policy file.
Jev Agents & MCP#community#mcp#security
8GitHub stars
Supervisor for unattended coding agents: it tracks cross-turn state and asks one batched Jev Choice whether a trajectory should continue, pause or escalate, while deterministic code owns dangerous-command blocking, budget caps and Ed25519-signed receipts.
Jev Tools & CLIs#community#guardrails#safety
20.4kGitHub stars
Rust coding-agent harness (MIT, ~20k stars) whose crates/jcode-base/src/jev.rs is a typed TypeSafe Jev decision transport, used for memory pruning (memory_jev.rs), browser navigation (browser_jev.rs), and voice routing (voice_intent.rs) with separate provider selectors per purpose.
Jev Tools & CLIs#community#rust#coding-agent
3.4kGitHub stars
Vercel Labs' Unix-like coding agent CLI written in Zig, shipping a typesafe_permission_reviewer builtin that runs the agent's permission decisions through Jev rather than an LLM call. Model-agnostic and embeddable via libfx and ACP.
Jev Tools & CLIs#community#coding-agents#cli

From the Jev guides

Original write-ups on what this entry is for.

The request shape barely changes across surfaces; the surrounding contract does. When to call the API directly and when a gateway, a Worker binding, or a router entry earns its extra hop.
Jev Tools & CLIs#gateway#vercel#cloudflare
Read article
Taking a decision checkpoint out of Python: what the GGUF and browser WebGPU exports preserve, what they change, and the parity evidence the model cards publish.
Jev Tools & CLIs#open-models#local#onnx
Read article
Jev labels a record that already exists. Code moves, flags, or holds it. How the document, mail, and transfer tools keep the action out of the model.
Jev Tools & CLIs#classification#email#security
Read article
Back to all resources

From the Jev community

Posts from builders shipping with Jev right now.

Follow @typesafeai