Skip to content
RU

Jev 1.13

Jev 1.13 (typesafe/jev-1.13) is the first TypeSafe System One decision model. It is not an LLM: instead of generating text, it answers typed questions about the state you send — with probabilities your code branches on directly. Context: 32,000 tokens.

  • Not chat: there is no POST /v1/chat/completions for it — calls go to POST /v1/decisions.
  • It does not generate text or explain its decisions — probabilities only. Need a rationale? Ask a chat model afterwards.
  • Not a tool for “write me an email” — it is for decision points in code: routing, classification, action gating.
Primitive Question Answer
noul Does this condition hold? Probability of yes, 0…1
choice Which one of these options? The pick + full distribution + confidence
score Where on the scale? Weighted position + per-level probabilities

Any number of questions of any type per request — one answer each.

“Asking an LLM a narrow question and parsing a label out of its answer” is an anti-pattern: slower, costlier, unstable. Jev does the same faster and predictably:

  • Routing — which team/queue owns an item.
  • Agent gating — is a tool call safe: reversible? within scope? Run / refuse / ask a human by a noul threshold.
  • Classification and tagging — one category plus any number of binary tags in a single request.
  • Cascades — draft with a cheap model → verify with Jev → escalate to an expensive one only on failed checks.
Terminal window
curl https://api.mixen.ai/v1/decisions \
-H "Authorization: Bearer $MIXEN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "typesafe/jev-1.13",
"state": "My checkout page shows a blank screen after I click Pay. Tried two browsers.",
"questions": {
"is_bug": {
"type": "noul",
"instructions": "Is the customer reporting a software defect?",
"criteria": {
"true": "Describes broken or unexpected product behavior.",
"false": "Asks a question or requests a feature."
}
},
"urgency": {
"type": "score",
"instructions": "How urgent is this ticket?",
"criteria": ["Can wait", "This week", "Blocking revenue"]
}
}
}'

One answer per question:

{
"answers": {
"is_bug": { "type": "noul", "noul": 0.96 },
"urgency": { "type": "score", "score": 2, "probabilities": {"0": 0, "1": 0.01, "2": 0.99} }
},
"usage": { "cost": 0.00002, "input_tokens": 476 }
}
  • criteria define the decision boundary, not option descriptions: a true/false pair for noul, one sentence per option for choice, ordered levels for score. The more concrete, the stabler the distribution.
  • state is context, not a prompt: ticket text, a state object, an array. instructions may reference nested fields.
  • Pick thresholds from probabilities/confidence, not just the top answer: low confidence is the signal to hand off to a human or re-ask. Run a dozen labeled examples and tune the threshold to your cost of error.

Only input tokens are billed (state plus questions); output tokens are free. A typical request is a few hundred tokens — a fraction of a cent. Charging follows usage.cost from the response.

  • Context: 32K tokens.
  • The model does not modify state and does not call tools — it only answers your questions.
  • Full request/response schema — in the Decisions guide.