Fundamentals7 min read

Jev Glossary: Noul, Choice, Score and Every Other Term

Plain definitions for every Jev and TypeSafe term you'll run into: what a Noul is, what state means, why score is an expectation, RLCD, ECE, jaggedness, fan-out and more.

One of the most repeated complaints in the launch discussion on Hacker News was that Jev's docs use words you can't look up. "Noul" isn't in any dictionary, and "System One model" sounds like marketing until someone explains it. This page defines every term you're likely to meet, in plain language, with a link to where we cover it in depth.

The basics

Jev

The model. Jev is the first public model from TypeSafe AI, launched September 15, 2026. You send it some content and a set of typed questions, and it returns typed answers with probabilities. It never returns text. See What Is Jev?.

TypeSafe AI

The company that makes Jev. It came out of stealth with Jev on September 15, 2026, with a $40M seed round.

System One model

TypeSafe's name for the category Jev belongs to. It comes from Daniel Kahneman's Thinking, Fast and Slow, where "System 1" is fast, intuitive judgment and "System 2" is slow, deliberate reasoning. A System One model makes quick judgment calls for software. It doesn't reason step by step or write anything. See Jev Is Not an LLM.

Decision model

A more generic name for the same idea: a model whose output is a decision from a fixed set rather than generated text. Some providers and open projects use this term instead of System One.

The request

State

The content being judged. It's the state field of a request and can be a string, a JSON object, or an array of text values. Jev is text-only for now. Everything the model knows about the case has to be in the state, and irrelevant detail in it lowers accuracy, so filter before you send.

Question

One thing you want decided about the state. A request carries a map of questions, each with a type (Choice, Score or Noul), instructions, and usually criteria. All questions in a request are evaluated in parallel against the same state and can't see each other's answers.

Question key

The name you give a question in the questions map, like is_urgent or department. It's never sent to the model. It's only there so your code can find the answer. Naming a question refund_requested tells Jev nothing; the instructions have to say it.

Instructions

The text of a question: what you're asking about the state. Jev reads it literally, so it needs to say exactly what you mean. See Nine Failure Modes.

Criteria

The definitions the model judges against. For a Choice, a map from each option name to a description. For a Score, an ordered list of level descriptions. For a Noul, optional descriptions of what true and false mean. The model reads the criteria, so they carry as much weight as the instructions. See Writing Choice Questions.

Model ID

Which model version answers. jev-latest points to the current version, which is jev-1.13.0 at the time of writing. The response always reports the exact version that answered. Pin the exact version in production so your thresholds don't shift under you.

The three primitives

Choice

Pick one option from a set you define, up to 255 options. Returns choice (the most likely option), probabilities for every option, and confidence. Think of it as a match statement.

Score

Place the state on an ordered rubric of 2 to 10 levels you write. Returns score, probabilities for each level, confidence, and legend. Think of it as a sort key.

Noul

A yes/no question. Returns one number, noul, between 0 and 1: the probability that the statement is true. The name is short for Bernoulli, the probability distribution with two outcomes. It has no confidence field, because one number already describes a two-outcome distribution fully. Think of it as an if statement.

A Noul measures how likely something is to be true, not how much of it there is. 0.5 on "Is this candidate strong in Python?" means the model is split on whether "strong" applies, not that they're medium. For degree, use a Score.

The response

Probabilities

The full distribution over a Choice's options or a Score's levels, summing to 1. More informative than the single answer, since it shows what the model almost picked.

Confidence

A number from 0 to 1 returned with Choice and Score answers, saying how concentrated the distribution is. 0 means the model spread its probability evenly; 1 means it put everything on one answer. Your code uses it to decide whether to act or escalate. See Confidence and Calibration.

Score (the field)

Not a level. The score field is an expectation: each level number times its probability, added up. A score of 1.43 means probability was split between levels, not that there's a level 1.43. Read probabilities when you need to know how it was split. This is the most commonly misread field in the API.

Legend

Returned with Score answers. Maps each level number back to the description you wrote, so you don't have to keep your own copy in sync.

Usage

Token counts for the request: input_tokens and output_tokens. Only input is billed. Output is free because answers are computed in parallel rather than written token by token. See What Jev Actually Costs.

How it's trained and measured

RLCD

Reinforcement Learning for Calibrated Decisions. TypeSafe's name for how Jev was trained: the model is rewarded for probabilities that match real outcomes, rather than for text people prefer. It's the reason Jev's probabilities are meant to be trustworthy. TypeSafe hasn't published the full method.

Calibration

A model is calibrated when its probabilities mean what they say: of all the answers it gives 0.8, about 80% are right. Calibration is what makes a confidence threshold meaningful.

ECE (expected calibration error)

The standard way to measure calibration. It groups answers by predicted probability and averages the gap between predicted and actual accuracy. Lower is better. When you see community audits of Jev quoting an ECE, this is what they mean.

Jaggedness

TypeSafe's word for the uneven shape of what the model is good at. Jev can be excellent at one judgment and unreliable at a nearby one. TypeSafe publishes a jaggedness page per model version listing the weak spots: counting, dates, literal reading, long irrelevant state, adversarial content. See Nine Failure Modes.

Position bias

The tendency for option order to affect a Choice's probabilities, especially on ambiguous inputs. See Option Order Changes Jev's Answers.

Patterns

Decomposition (atomic questions)

Splitting one broad question into several narrow ones, then combining the answers in code. TypeSafe calls it probably the most important concept in its build guide. See Atomic Questions.

Speculative fan-out

Asking questions you might not need in the same request, because extra questions are nearly free and a second request isn't. Your code ignores the answers it doesn't use. See Four Patterns.

Confidence gating

Acting automatically when confidence is high and sending the case to a person or a larger model when it's low. The main way to trade cost against accuracy with Jev.

The API

/v1/systemone

The single endpoint: POST https://api.typesafe.ai/v1/systemone. Most open alternatives copy its request and response format so TypeSafe's SDKs work against them. See Open-Weight Jev Alternatives.

SDKs

typesafe_sdk for Python and @typesafe-ai/sdk for TypeScript. In Python the call is client.system_one(...); in TypeScript it's client.systemOne(...).

TYPESAFE_BASE_URL

The environment variable the SDKs use for the API address. Changing it is how you point the same code at a self-hosted, compatible model.

429 and 529

The two error codes that mean "try again". 429 is rate limiting. 529 means TypeSafe is overloaded. Note it's 529, not the more common 503, so a generic retry wrapper may miss it. The other documented errors are 401 (bad API key) and 422 (invalid request, with the bad field named).

Semantic lints

A feature TypeSafe was reported to be testing in late September 2026: warnings in the console when a question's wording doesn't fit its type, such as a Noul whose instructions aren't a yes/no question. Not generally released at the time of writing.

Are you ready to become a Jev expert?

All interactive courses, 8 mini-projects, the playground, and 1,000 live Jev credits. $19.99 once, with updates as Jev ships new versions.