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.
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.