Jev Choice questions
A Choice is the System One question for “which of these?” You supply a map of option name → description (null if the name is enough). The API allows up to 255 options.
The answer includes:
choice— the highest-probability option.probabilities— every option mapped to a float. They sum to 1.confidence— a 0–1 summary of how peaked that distribution is.
Minimal shape
{
"department": {
"type": "choice",
"instructions": "Which team should handle this?",
"criteria": {
"billing": "Payments, invoicing, refunds",
"technical": "Bugs, outages, integrations",
"sales": "Pricing, upgrades, new accounts"
}
}
}
TypeSafe’s launch post notes that high-cardinality Choices use a two-stage system (score independently, then choose), which can occasionally slow a call. That is their description of jev behavior at high cardinality, not a latency SLA from this site.
Relative, not absolute
A Choice settles which option wins among the set. Separate Nouls on each option ask whether each property is true in absolute terms. Those can all be low. The skill-suggestion cookbook uses both: Choice to pick a skill, Nouls to decide whether to suggest one at all.
Do not carry a threshold tuned on a Noul over to a Choice. The jaggedness page shows they are not interchangeable.
When Choice is the wrong tool
- You need “how much,” not “which.” Use Score.
- You need “is this true?” Use Noul.
- You need a value extracted from text (an email address, a date). Extract candidates in code, then Choice among them — or use the extraction cookbooks.
Sources
Public TypeSafe or adjacent documentation only. No private claims.