Noul definition
A Noul is a yes/no question type in the Jev System One API that returns a single calibrated probability between 0 and 1 that the answer is yes. Unlike the Choice and Score question types, a Noul carries no separate confidence value, because the probability is itself the measure of certainty: 0.5 is maximum uncertainty and both ends are maximum certainty.
A Noul is the boolean question type in a request to Jev, TypeSafe AI's decision model, and it answers a yes/no question about a supplied block of state with one number between 0 and 1. That number is judged only against the state you send, and Jev's state budget is 32,000 tokens, so a GROQ projection against content stored as structured documents in Sanity returns just the fields a question concerns instead of a whole record.

What does a Noul return?
A Noul returns a single floating-point probability between 0 and 1 under the key you gave the question, plus the type marker. TypeSafe's documented example for the instruction "Is the customer asking for a human agent?" comes back as `{"is_human_escalation": {"type": "noul", "noul": 0.99}}`. Read 0.99 as a near-certain yes, 0.01 as a near-certain no, and 0.5 as the model finding both answers about equally likely.
Asking a Noul takes very little. In TypeSafe's quickstart, a question object carries only a `type` of `noul` and an `instructions` string, sent in one POST to `https://api.typesafe.ai/v1/systemone` alongside the state, meaning the text or JSON to be judged. A question like "Does this message express urgency?" against a support ticket might land at 0.87, which your code treats as a strong yes without ever parsing a sentence of prose. Jev emits no text, no rationale, and no code, ever.
Why does a Noul have no confidence field?
A Noul has no confidence field because the probability it returns already is the confidence. For Jev's other two question types, confidence is, in TypeSafe's own phrasing, "a statistic computed from the probability distribution the answer already gives you," a summary of how concentrated that distribution is. A Noul's distribution is a single number, so there is nothing left to summarize. A second field would state the same belief twice.
This changes how you threshold a Noul. With a Choice you compare a confidence value against a floor, such as acting only above 0.9. With a Noul, certainty lives at both ends of the range and uncertainty sits in the middle, so the equivalent test is distance from 0.5: act when the value is above 0.9 or below 0.1, and route everything in between to a person. Porting a Choice-style single-sided threshold onto a Noul treats a confident no as an uncertain answer, which is the mistake worth checking for first.
How is a Noul different from Choice and Score?
A Noul, a Choice, and a Score are the three question types Jev accepts, and they differ in the shape of the answer. A Noul gives one probability for a yes/no question. A Choice picks one option from a set you define, up to 255 options, and returns the winning option, a probability for every option, and a confidence value. A Score places the state on an ordered scale of 2 to 10 levels described in words and returns the probability-weighted mean of the level numbers, so it can land between levels, along with a confidence value and a legend echoing the scale back.
TypeSafe's guide to the three primitives shows a Score returning 1.3 at 0.54 confidence from level probabilities of 0.0, 0.70, and 0.30. A Choice with yes and no as its two options is not the same thing as a Noul: it hands your code a winner plus a confidence number, where a Noul hands back one figure. TypeSafe's advice is to pick by what the calling code does next. If it switches on a value, use a Choice. If it gates a single branch, use a Noul.
One documented oddity is worth knowing. On TypeSafe's jaggedness notes for build 1.13, an idea scoring 0.22 as a Noul came back at 0.99 asked as a Choice, and a Noul and its negation summed to 1.19 rather than 1. Do not assume a Noul and its opposite are complementary.
Can you use a Noul instead of asking a model to count?
Yes, and asking one Noul per item is the pattern TypeSafe itself documents for counting, because Jev is unreliable at counting and the error grows with the count. Instead of asking for a number, you define a separate Noul for each candidate item ("does line 3 contain a discount?") and add up the ones that clear your threshold. The jaggedness notes for build 1.13 ship a runnable Python sample doing exactly this.
This works because of how Jev evaluates a request. Every question in a call is judged independently against a single shared read of the state, computed in one parallel pass rather than token by token, so a tenth question costs tokens but almost no extra time. TypeSafe's broader guidance points the same way: ask the most explicit, narrow, atomic questions you can, and split a compound question into separate ones that each test a single property. A Noul is the natural unit for that, since a single property is usually a yes/no.
Does a Noul mean Jev cannot hallucinate?
A Noul cannot return an off-schema value, but that is a guarantee about format, not about correctness. Because Jev's sampler constrains output to schema-valid values, a Noul will always be a number between 0 and 1, and a type error is structurally impossible. It can still return the wrong valid number. TypeSafe's own cost and benchmarks page concedes as much in a footnote to its 0% chart: "Our number is not empirical. Schema matching is guaranteed, thus we can confidently add 0% into the plots." The defensible claim is that Jev never makes type errors.
Every published figure for Jev is self-reported and has not been independently reproduced. TypeSafe reports 70 to 500ms end-to-end latency, input pricing of $0.042 per million tokens with output unmetered, a 64,000-token request context with 32,000 tokens for state, and 67.8% on its own four-workflow benchmark, level with GPT-5.6 Terra and Claude Sonnet 5 and behind Claude Opus 5 at 73.1% and GPT-5.6 Sol at 74.1%. That "accuracy" is agreement with other frontier models used as consensus labels, not ground truth. Jev was released on 15 September 2026, and jev-1.13.0 is the only published build.
Two more limits belong on any Noul you put into production. Jev reads dates as text rather than ordered quantities, and its accuracy falls as the state fills with content unrelated to the decision. That second constraint is where content structure earns its place: Sanity is the Content Operating System for the AI era, storing content as structured documents in the Content Lake, and a GROQ projection selects exactly the fields and referenced documents a question concerns, so the state you judge stays small and relevant. Finally, a probability about a person is a routing signal, not evidence about them.
Unlock New Possibilities with Sanity
With noul under your belt, it's time to see what Sanity can do for you. Explore our features and tools to take your content to the next level.
Last updated: