Jev as a decision layer, not the coder
The official TypeSafe guidance notes that selecting jev-latest as a generic coding model does not turn it into a code generator. A Pi extension instead asks Jev a bounded question — is this tool call safe, is this file relevant, which model fits this prompt — and lets Pi act on the typed answer. That matches the split described in the coding-agent overview.
Tool-call gates
The best-known projects document a gate rather than a generator. y0usaf/pi-jev describes a measured tool-call gate plus an jev_ask tool for typed, callable decisions. TheoOliveira/pi-jev documents semantic tool routing and typed System One decisions. madeye/pi-jev focuses on assisted file retrieval and request caching rather than approvals.
These are the wrong place to enforce security on their own. The gate produces a judgment; Pi's permission model still has to allow or deny the action. Keep an unambiguous deny path for input the model cannot read confidently.
Auto mode and approvals
pi-jev-auto-mode documents Jev-backed auto mode for semantically auto-approving bash, write and other actions. "Auto mode" is not a single behavior across projects: one extension may add a gate, another may preserve an existing gate, and another may silently disable itself without a key. Read the README for the failure case before you rely on it.
To rank or pre-select capabilities rather than approve commands, pi-jev-skill-picker documents ranking Pi agent skills for the current task with Jev. That is a suggestion to load a skill, not permission to run it.
Model routing
Several independent projects route prompts to model tiers. win4r/pi-jev-router documents task-boundary routing with conservative policies and exact caching; mejiasd3v/pi-jev-router routes through the Vercel AI Gateway; philippdubach/pi-jev-router documents a minimal Pareto-optimal router over OpenRouter; and pi-jev-model-router documents budget-aware routing with typed judgments. Same name, different owners and different backends — verify which one you installed.
Context, retrieval and compaction
iefnaf/pi-jev documents a suite covering selective context compaction and model routing. pi-jev-context documents freshness-aware read deduplication and Jev log filtering, and deliberately puts model performance ahead of token savings. Both are retention decisions; compare them against the compaction guide and check that required information survives.
Choosing between the projects
| Need | Projects to read first |
|---|---|
| Gate a tool call | y0usaf/pi-jev, TheoOliveira/pi-jev |
| Auto-approve actions | pi-jev-auto-mode |
| Load the right skill | pi-jev-skill-picker |
| Route to a model tier | win4r, mejiasd3v, philippdubach, pi-jev-model-router |
| Reduce or retrieve context | iefnaf/pi-jev, pi-jev-context, madeye/pi-jev |
Configuration and safety checks
- Confirm the Pi release and extension API the project targets.
- Know which key the extension reads and what it does without one.
- Test timeout, malformed-answer and rate-limit behavior, not just the happy path.
- Run in observation mode where available and log the proposed decisions.
Failure modes and boundaries
Treat every extension as community software with its own compatibility statement. A model-approved action is still an action your host must authorize, and a routing decision still depends on the target model behaving as expected. Start narrow, measure completion quality and overhead rather than only how often an expensive model was avoided, and widen authority only after the decisions match what the task actually needed.