Skip to content

jev-route

Async Python intent and tool router: Jev picks the handler, and a code-side confidence gate stops weak or invented decisions.

ProjectbetaMIT

Overview

JevRoute is an embeddable Python library that sits in front of an agent's own tools and handlers. You register callables with decorators such as @router.intent and @router.tool, the router asks Jev which capability should handle an input, applies a confidence gate, and only then invokes the matching handler. The README contrasts it with harness adapters (CLIs, IDE plugins, proxies) that add a decision step to a runner you did not write: here the agent owns the loop and routing is one await inside it.

Safety is enforced in code rather than requested in a prompt. The client returns a typed response with the winner, confidence, per-option scores and the engine's own abstention signal; below the threshold the winner is discarded and a fallback handler runs or the decision abstains. A winning label the engine invented is resolved against the router's own registry and degraded to the fallback with a warning, and executing an unregistered target raises an error. So a weak or hallucinated decision cannot reach a privileged tool such as issuing a refund. It is async, typed, tested with an injectable mock transport, and published on PyPI.

What the decision model decides

TypeQuestionAnswers
ChoiceWhich registered intent or tool should handle this input?—
Yes / noShould the router abstain on this input?yes · no

How it works

  1. Register handlers with @router.intent or @router.tool
  2. Call the router with the input
  3. Jev returns a winner, confidence and per-option scores
  4. Below threshold or unknown label, run the fallback or abstain
  5. Otherwise invoke the registered handler

Strengths

  • Weak or invented decisions never reach privileged tools
  • Plain library inside your own process
  • Testable with exact thresholds and mock transport

Caveats

  • Requires a TypeSafe key
  • Thresholds must be chosen per application

Getting started

pip install jev-route, then register handlers on a router and await its routing call.

At a glance

Type
Project
Status
beta
Language
Python
Runtime
Async library
Has code
yes
Has tests
yes
License
MIT

Use cases and integrations

How curated lists describe it

  • Async, typed intent & tool routing for Python agents: Jev decides, a confidence gate stops weak decisions before they reach a privileged tool.

    logicrw/awesome-jev-projects

Frequently asked questions

What does Jev decide?

Which registered intent or tool should handle an input.

What if Jev invents a label?

It is resolved against the registry and sent to the fallback with a warning, never executed.

How is it different from harness plugins?

It is a library inside your own agent, so your code owns the gate and the loop.

Related projects

  • Plugin suite adding Jev judgments to DeepSeek Harness: tool pruning, dead-loop blocking, a safety guard and skill routing.

    PluginbetaTypeScript
  • Discontinued DeepSeek Harness decision layer whose policies let Jev only narrow permissions and fail closed; successor is jevcore.

    ProjectprototypeTypeScript
  • MIT plugin and local MCP server that hands an agent's closed questions to Jev or local Laya, with policy gates and receipts.

    Agent skillproductionPython
  • Cognitive control layer for OpenCode that uses Jev to compute GO, DELIBERATE, VERIFY or BLOCK for agent actions, observing by default.

    ProjectbetaTypeScript
  • DeepSeek Harness plugin registering a jev_decide tool so the agent can ask Noul, Choice or Score questions and gate on probabilities.

    PluginbetaTypeScript
  • Hermes Agent plugin that classifies each turn's route (skill, research, history, others) with Jev before the model call.

    PluginbetaPython