Guide
Three Question Types
The preface used dinner to show Jev’s basic shape. Now we dive into Jev’s three fundamental question types.
Master the semantic boundaries, parameters, and return shapes of Jev’s three (, , ), and understand their distinct roles in closed-set routing, truth verification, and continuous control.
In the previous chapter we used to decide what to have for dinner.
In real business and daily decisions, questions go beyond picking a single action. To maximize utility with minimal redundancy, Jev provides three pure question types:
- choice: Route among a closed set of candidate actions.
- noul: Evaluate how reliably facts support a given statement.
- score: Quantify state onto an ordered scale with high-precision float score and confidence.
In this chapter, we briefly review choice, then dive into noul and score.
1. Choice: The Closed-Set Action Router
When facing clear, mutually exclusive, and finite candidate actions, choice is the most direct deterministic router.
For example, in personal financial planning: you are 32, single, with $200k in liquid savings and stable income, but no other major asset backstop. How should you allocate this money?
// state:
"You are 32, single, with $200,000 in liquid savings. Work and income are stable, but you have no other large asset as a backstop."
// questions:
{
"financial_decision": {
"type": "choice",
"instructions": "Given your situation, what do you do with this $200,000?",
"criteria": {
"Keep it in the bank": "A liquid account you can withdraw anytime, about 2% a year, unlikely to beat inflation",
"Growth fund": "A fund aiming for about 15% a year, but locked so you cannot sell for a year",
"House down payment": "A down payment on a home you move into now, with a $2,000 monthly mortgage for twenty years"
}
}
}Real response sample:
{
"model": "jev-1.13.0",
"answers": {
"financial_decision": {
"type": "choice",
"choice": "Keep it in the bank",
"confidence": 0.61,
"probabilities": {
"Keep it in the bank": 0.73,
"House down payment": 0.15,
"Growth fund": 0.12
}
}
},
"usage": {
"input_tokens": 525,
"output_tokens": 59
}
}Jev places 73% probability on deposit with 0.61 confidence. Emphasizing single status with no other safety net makes liquidity the prudent pick.
Try it!
2. Noul: Causal Logic and Propositional Truth
Many real scenarios do not ask for a path to take, but whether an assertion holds true given the evidence.
noul fits causal judgments — assessing how strongly facts support a conclusion. It shines in clinical diagnosis, investigative reasoning, background verification, and compliance checks.
Consider clinical cold diagnosis:
state = "Male, 28. Since yesterday: high fever, mild aversion to wind, a swollen headache. Sore red throat, cough with thick yellow phlegm, blocked nose with yellow discharge, thirsty for cold water. Red tongue tip, thin yellow coating."With these symptoms, we test whether the patient has wind-heat cold or wind-cold. With noul, we do not define options; we state the propositions directly:
// Test 1: wind-heat
{
"wind_heat": {
"type": "noul",
"instructions": "This patient has a wind-heat cold"
}
}
// returns noul: 0.95 (input 362, output 21)
// Test 2: wind-cold
{
"wind_cold": {
"type": "noul",
"instructions": "This patient has a wind-cold"
}
}
// returns noul: 0.04 (input 362, output 22)The resulting noul value represents the evidential support: wind-heat is 0.95, while wind-cold is only 0.04.
Try it!
Deep Dive: The Fundamental Divide Between Noul and Choice
Why test twice with noul instead of two options in choice? What is the fundamental difference?
Consider a mixed case — 'exterior cold with interior heat': chills, body aches, no sweat (exterior cold), accompanied by acute sore throat, thick yellow phlegm, and dry mouth (interior heat).
If forced into : the model normalizes probabilities to sum to 1.0, yielding wind-cold 0.83 vs wind-heat 0.17. This obscures the coexisting interior heat and risks misprescription!
With independent verification: wind-heat yields 0.96 and wind-cold also yields 0.96! Both trigger warnings, faithfully reflecting the concurrent clinical realities.
options are a zero-sum game: each output probability is strongly affected by the other options in the same set.
values are computed independently. Each proposition is measured on its own.
Next, an advanced : noul also accepts optional criteria, and those criteria are scored independently of each other:
Run it!
3. Score: Continuous Quantification and System Tuning
has one usage: type, instructions, and criteria. criteria is a required ordered array, at least 2 levels and at most 10.
{
"model": "jev-latest",
"state": "The export button crashes the settings page in Safari. It works in Chrome, but a few of our customers only use Safari.",
"questions": {
"bug_severity": {
"type": "score",
"instructions": "How severe is the reported issue?",
"criteria": [
"Cosmetic; no impact to functionality",
"Broken or degraded feature, but workaround exists",
"Blocking issue; no workaround exists"
]
}
}
}In the official docs, each criteria entry is one level: a point on the spectrum, described in words. Its number is its position in the array, starting at 0. Three entries are levels 0, 1, and 2. Order is the numbering.
The model receives the descriptions and nothing else. It does not see level numbers or neighboring levels. Each level is judged on its own against the state.
In the official example, probabilities are 0: 0.0, 1: 0.57, 2: 0.43. Read the response like this:
{
"model": "jev-1.13.0",
"answers": {
"bug_severity": {
"type": "score",
"score": 1.43,
"confidence": 0.35,
"legend": {
"0": "Cosmetic; no impact to functionality",
"1": "Broken or degraded feature, but workaround exists",
"2": "Blocking issue; no workaround exists"
},
"probabilities": {
"0": 0.0,
"1": 0.57,
"2": 0.43
}
}
},
"usage": {
"input_tokens": 332,
"output_tokens": 18
}
}- probabilities: the probability of each level, keyed by the level number as a string. The values sum to 1.
- score: the position on the level number line, from 0 to the top level, here 2. It is each level number times its probability, added up: 0 × 0.0 + 1 × 0.57 + 2 × 0.43 = 1.43.
- legend: each level number mapped back to its description. It is the criteria you sent, encoded by index 0, 1, 2.
- : a number from 0 to 1 computed from how probabilities is spread. A single peak on one level means high confidence. Probability spread over several levels means low confidence.
A score of 1.43 sits between levels 1 and 2, leaning toward level 1. It is not a numeric forecast. It is the level probabilities folded into a position on the scale.
Organize it this way: state is the background, instructions define the standard and the range, and criteria places semantic anchors on that scale.
For a listed company, the instructions can say: using five years of published headcount, compensation expense, and attrition, score talent reserve versus loss from 0 to 5. 0 is severe talent loss. 5 is a healthy reserve.
instructions=(Using five published years of headcount, compensation expense, and attrition, score talent reserve versus loss from 0 to 5. 0 is severe talent loss. 5 is a healthy reserve.)Then write the six points from 0 to 5 as situations the facts can match, not as the digits 0 and 5. The model does not see level numbers. Those six lines are the criteria:
- 0: Headcount falls for years, pay expense shrinks, attrition is high, and key roles are not refilled.
- 1: Headcount stalls or slips, pay expense weakens, attrition is elevated, and the reserve thins.
- 2: Headcount is roughly flat, pay expense barely keeps up, attrition is middling, and the reserve does not thicken.
- 3: Headcount grows modestly, pay expense rises with it, attrition is contained, and the reserve is stable.
- 4: Headcount keeps growing, pay expense and coverage widen, and attrition is low.
- 5: Headcount and pay grow healthily for years, attrition is low, and key people both stay and can be hired.
Listed-company filings are public. Here the state is a few published figures from Alphabet (Google) in 2025.
Try it!
Try the Three Question Types
The Playground below includes complete samples for all three types. Switch tabs to test , , and live:
Summary: Primitive Selection Guide
| Type | Role | criteria format | Output fields | Typical scenarios |
|---|---|---|---|---|
| Action routing | dict (key-value mapping) | choice, probabilities, | Task assignment, ticket routing, next action | |
| Propositional truth | Optional, must be dict if passed | noul (0.0 ~ 1.0) | Clinical diagnosis, background checks, fraud control | |
| Continuous quantification | Required, must be ordered list | score, legend, | Ripeness detection, satisfaction score, incident severity |
With these three tools you can drive most structured decisions in Jev. Next we put Jev together with today’s agents and see what comes of it.