Try it

Raise a line and more tickets go to the stronger second stage; lower it and fewer do. Each of 120 synthetic support tickets has one recorded Jev call and, where escalated, one recorded stage-two reply, so every number is recomputed here with no new model call.

-
escalated to stage two
-
stage-one cost per 1,000 tickets
fixed: stage one ran once
-
average latency estimate
0.19 s x not escalated + 4.0 s x escalated
-
escalated with a recorded stage-two reply
the rest keep the stage-one answer
-
urgent, end to end
-
needs_human, end to end
-
category, end to end
-
sentiment, end to end

Highlighted certainty is below that question's line and sent the ticket to stage two. Click a row for answers and labels. The 0.85 default is a community default, not a fit.

Act: stage one answers stand

Stage two: sent to the stronger model

What Jev is

Jev is a hosted decision model from TypeSafe. You send a JSON state and typed questions: yes or no, pick one, or a 1 to 5 score. It answers with calibrated numbers and no prose, in about 0.2 seconds, for $0.042 per million input tokens.

Here one call carries four questions about a support ticket: urgent, needs_human, category and sentiment. Because the answers are numbers, the policy is yours: the four lines above are that policy, and moving one changes who escalates without another model call.

The cascade rule

A ticket stays with stage one only if every question clears its line. If any question falls below, the ticket goes to stage two.

The number cut is certainty. For a yes or no question it is the larger of p and 1 minus p, so a confident no acts as readily as a confident yes. For a choice or a score it is the returned confidence. Stage two re-answers all four questions but replaces only the answers stage one was unsure about, so a confident stage-one answer is never overwritten.

The check that matters is whether stage two is actually stronger on the same tickets. At the defaults it is, narrowly: 137 of 160 field answers against 131 for stage one, on the 40 tickets it saw. An independent test on shell commands found a Sonnet second stage weaker than Jev alone, 21 of 24 against 23 of 24, so the report warns when stage two is not ahead. Try sentiment at 0.60: escalations fall from 57% to 38% and three answers are lost.

The limits

  • The tickets are synthetic: 120 generated texts with labels true by construction, stage one jev-1.13.0, recorded 2026-10-18. Real tickets will look different.
  • Stage two (claude sonnet, CLI 2.1.286) ran on only 40 of the 68 escalated tickets, in id order. End-to-end accuracy is below a full run's, and lines you raise escalate tickets with no recorded reply.
  • Latency is a weighted average of two measured medians, an estimate. Stage-two cost is not metered: the CLI runs on a subscription.
  • No explanations by design. Calibration is a population property: 0.9 means about nine in ten across many tickets, not that this one is right. Thresholds do not transfer across datasets or model versions.
  • These lines were set by hand. The sibling tool jev-threshold-lab fits them on your own labels.