Skip to content

JevLang

TypeScript/Python policy engine where Jev only answers declared questions and code decides routes, gates and actions.

ProjectbetaMIT

Overview

JevLang (timmikeladze) is a policy engine for decisions that would otherwise live inside a prompt: routing, triage, approvals, escalation and guarding an agent's tools. You declare questions (noul, choice or score) and a policy of rules, confidence gates and actions in TypeScript or Python. The model only answers the questions; the policy picks the branch.

Answers are validated against the declared questions, and confidence gates escalate to a human instead of guessing. Each decision records its readings, confidence and the clause that fired, and recorded runs replay byte-for-byte so policy changes can be diffed against history. Actions support confirmation, cooldowns, budgets, rollbacks and a signed journal. Policies serialise to a fingerprinted JSON artifact that loads identically in both languages. Pure decisions, validation and replay work offline with no account. It is aimed at teams that need auditable LLM-driven routing.

What the decision model decides

TypeQuestionAnswers
Yes / noIs this message spam?—
ChoiceWhich team should handle this ticket?billing · technical · sales
ScoreHow frustrated is the customer?—

How it works

  1. Declare questions and a policy with rules, gates and an otherwise branch
  2. Model (Jev) answers only the questions the policy needs
  3. Answers are validated; a low-confidence gate escalates to a human
  4. The matching clause's action is dispatched with guards and journaled
  5. Recorded decisions can be replayed to test policy changes

Strengths

  • Routing logic is typed code, so typos fail at build time
  • Explainable, replayable decisions with an audit journal
  • Same policy verified in TypeScript and Python
  • No runtime dependencies; decide and replay work offline

Caveats

  • Model calls still need a provider key
  • Policy authoring adds upfront design work
  • Maturity of the action and rollback layer is not stated

Getting started

bun add jevlang (Node 22+).

At a glance

Type
Project
Status
beta
Language
TypeScript
Runtime
Node 22+, Bun, Python
Has code
yes
License
MIT

Use cases and integrations

How curated lists describe it

  • A policy engine for LLM decisions: declare routes, gates and actions once in TypeScript or Python, and every decision comes validated, explainable, replayable and audited.

    logicrw/awesome-jev-projects

Frequently asked questions

Does the model choose the branch?

No. The model answers declared questions and the policy's clauses decide; low confidence escalates.

Can I test without a model?

Yes. decide() reads answers you pass in, so validation and replay run offline.

How does it relate to jevlang (sumanmichael)?

They are separate projects with the same name; this one is a policy engine, the other a Python syntax extension.

Related projects

  • TypeScript runtime that turns Jev's probabilistic answers into versioned, replayable decisions via ordered YAML policy rules.

    ServicebetaTypeScript
  • Collection of production-shaped Python harnesses implementing most of TypeSafe's listed Jev decisions with confidence-gated logic.

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

    PluginbetaTypeScript
  • DeepSeek Harness Web GUI plugin giving the agent a jev_ask tool, usage tracking and an optional command guard with explicit caveats.

    PluginbetaTypeScript
  • DeepSeek Harness bundle registering a jev_ask tool for typed noul, choice and score questions to Jev.

    ProjectprototypeTypeScript
  • Python dialect that adds a '~' operator and jev/case blocks so a branch can ask Jev a yes/no, scale or choice question.

    ProjectprototypePython