Skip to content

jevable

Bash-native CLI that filters any stream by meaning with Jev, like grep for semantics, so an agent wakes only for lines that matter.

Projectbeta

Overview

jevable gives an agent Jev as an atomic tool: a bash-native CLI that filters any stream by meaning. You pipe in lines and ask one plain-English question, such as does this line report that a dependency is down; matching lines pass through unchanged, with grep-style exit codes, an optional JSON mode with scores, a stricter threshold flag and an invert flag. Rules can mix ordinary CEL conditions with judge.boolean, judge.choice and judge.score calls, and ordinary conditions short-circuit so many lines never reach the model. Identical questions on identical material are cached within a run, and only the material passed to judge leaves the machine, truncated for long strings.

The main use is making an agent's monitor smart: instead of waking a coding agent on a fixed heartbeat, jevable watches logs and wakes it only for relevant events. In the author's 334-event benchmark across five streams, it cut always-on cost from an estimated $40.06 for a 30-minute heartbeat to $5.44 while catching 44 of 52 relevant events (85%). A guide command walks an agent through setup and covers Claude Code, Codex, OpenClaw, Hermes, pi and dsh. It works with TypeSafe, OpenRouter or Vercel AI Gateway keys and has CI and an npm package.

What the decision model decides

TypeQuestionAnswers
Yes / noDoes this line report that a dependency is down? (any user-supplied yes/no question)—
ChoiceWhich category does this line belong to (judge.choice)?—
ScoreWhere does this line fall on an ordered scale (judge.score)?—

How it works

  1. Pipe a stream into jevable with a question or rule
  2. Plain conditions run first; remaining lines sent to Jev
  3. Lines above the threshold pass through unchanged
  4. Agent is woken only by matches

Strengths

  • Composes with any shell pipeline
  • README reports 86% lower always-on cost than a heartbeat
  • Caching and short-circuiting reduce calls
  • Works across several agent runtimes

Caveats

  • Recall was 85% in the benchmark, so some relevant events are missed
  • Cost figures are replay estimates

Getting started

npx -y jevable key YOUR_API_KEY, then `tail -n 0 -F app.log | npx -y jevable "Does this line report that a dependency is down?"`.

At a glance

Type
Project
Status
beta
Language
TypeScript
Runtime
Node CLI
Has code
yes
Has tests
yes

Use cases and integrations

How curated lists describe it

  • Grep that reads meaning. Make your agent's monitor smart: Jev judges each line, and only what matters wakes the agent.

    hellogumbo/awesome-jev

Frequently asked questions

How is it like grep?

Matching lines pass through unchanged and exit codes follow grep: 0 match, 1 none, 2 error.

How much does it save?

In the author's benchmark, $5.44 versus $40.06 for a 30-minute heartbeat, with 85% recall.

What data leaves my machine?

Only the material passed to judge, truncated for long strings.

Related projects

  • Pre-flight hook for WorkBuddy and Hermes Agent where Jev classifies each prompt on nine dimensions and injects routing cues.

    ProjectbetaPython
  • Adaptive thinking-level router for Pi: Jev or local rules pick low/medium/high/xhigh at task start, on reasoning failures and when stable.

    ProjectbetaTypeScript
  • Cost-, cache- and quota-aware LLM router that classifies each turn with a Jev-class model, prices every route, and checks cheap answers.

    ProjectprototypePython
  • TypeScript/Bun launcher that asks Jev which model and reasoning effort each Codex, Claude Code or Pi turn should use.

    ProjectbetaTypeScript
  • Scores OpenTelemetry logs with Jev for diagnostic value, priority and routing before any expensive LLM analysis.

    ProjectbetaTypeScript
  • Deterministic-first 'System 1.5' gate for coding agents: triages test failures, breaks doom loops and governs effort, with optional Jev.

    CLIbetaPython