Skip to content

Jev Practices & Patterns

Wording, order, and labels: what moves a typed decision

Typed answers move when wording, option order, or labels change. How to measure the movement, freeze the inputs you can, and design questions that survive paraphrases.
Published
Category
Jev Practices & Patterns
Resources cited
11
Reading time
5 min
Tags#decisions#prompting#framing#calibration

A typed decision looks deterministic: one state in, one probability distribution out. In practice, the same judgment moves when you rename an option, reorder the list, or wrap the question in a different sentence. That movement is not random noise. It is a property of the model you have to design around, measure, and sometimes correct in code.

The useful question is not whether wording matters. It does. The useful question is which wording choices you are willing to let change the answer, and which ones you need to hold fixed.

Order is a real input

Consider, Then Choose tested option-order sensitivity across two open System One models, five datasets, and eight wrapped models. It found that choice answers depend on the order of the options, and the dependence grows as the option list grows. Averaging over cyclic shifts reduced the effect without removing it: answers still changed 9.3% of the time under shuffling, and up to 15.4% when the model was wrapped around eight candidates.

Kyle Wild's order-bias test reports the opposite for hosted Jev; it was not tricked by option ordering in his tests, while several other decision models were. That is a useful counterexample, but note the caveat: the post's chart data and other-model names were not recoverable from the catalog digest, so treat it as one reproduction, not a general law. The right response is to test your own model and question set rather than importing either conclusion.

A pre-registered study of irrelevant alternatives makes the same point with a much larger sample. The IIA test used 299,463 calls to jev-1.13.0 on intent and topic classification. Every added option shifted the log-odds between the correct label and its strongest rival by 0.20 to 0.52 nats RMS, about 1.2 to 3 times run-to-run variation. The distortion grew with the log of the option count, reaching roughly one nat at 255 options. Options that look similar to the rival pull probability away from it; off-domain options hurt the correct label.

The design consequence is simple: the option set is part of the question, not a neutral menu.

Labels are part of the state

TypedBench evaluated a hosted model, an open encoder, and open decoders from 0.8B to 9B parameters on the same items. It reports accuracy as a median across paraphrases and calibration against a finite-sample noise floor. The hosted model followed the stated policy but was wording-sensitive and systematically underconfident. That second finding matters for gates: if the model is underconfident, a threshold tuned on raw probabilities will escalate more than the error rate justifies.

Option labels carry their own weight. Type-Safe Is Not Error-Free finds that typed decision models can follow the option name rather than the definition bound to it. If billing_issue and payment_problem both appear, the model may prefer one because of its surface form, not because your definition says it is the better match. Write definitions, but do not assume they dominate the name.

Two habits follow. Keep labels short, distinct, and meaningful on their own. And when two options are genuinely close, make the distinction explicit in the criteria rather than relying on a hidden definition the model may not weight.

Measure wording, not just accuracy

A single accuracy number hides the instability that matters in production. TypedBench's paraphrase range is a better starting point: run each item under several phrasings and report the spread, not only the mean. The IIA test's option-set perturbation is another: add plausible near-misses and watch whether the correct label's probability moves for reasons unrelated to the evidence.

Metamorphic coherence is the same idea in benchmark form. It checks whether a decision model gives consistent answers to transformations that should not change the answer. You do not need a published benchmark to copy the method. Take 50 labeled cases from your own queue, apply five transformations (option order, label rename, paraphrase, one irrelevant option, one near-miss) and log the answers. The cases that flip are your question-design backlog.

For high-stakes choices, a two-pass approach can reduce order dependence without retraining. The Runoff paper's method scores each option alone, keeps a few candidates, then compares the survivors with each candidate in every position. It removed shuffling changes in the paper's tests while keeping accuracy roughly on par. That is a useful pattern when a wrong answer is expensive and an extra forward pass is cheap.

Write the question for the decision, not the demo

The primitives guide and the advanced structure guide both push toward small, specific questions. A question that asks the model to compare two policies, extract a date, and decide whether to escalate in one sentence gives you no way to tell which part moved. Split the judgment into atomic questions, then combine the answers in code where the policy is visible.

The jaggedness notes are the checklist for the parts the model does not do reliably: counting, date arithmetic, exact magnitude between score levels, and structural invariants. Do not ask a question whose answer depends on one of those. Ask for the component, then calculate.

A short checklist

  • Freeze the option order for production requests, and test whether shuffling changes the answer.
  • Use short, distinct option labels; do not rely on definitions to beat a misleading name.
  • Run a paraphrase spread on 50–100 labeled cases before trusting a threshold.
  • Add near-miss options to the test set and watch the correct label's probability, not only the top answer.
  • Use a presence Noul or a code check for anything the model reads literally.
  • Version the question text alongside the model version, because both are inputs.

None of this makes the model deterministic. It makes the instability visible, which is the part you can actually manage.

From the Jev directory

The resources behind this article.

The three TypeSafe question types, the typed answers they return, how to choose between them, and how to ask several in a single call.
Jev Practices & PatternsDocs#official#primitives#choice
Official
Instructions, option descriptions, score levels, and noul criteria all accept JSON, so you can label question parts, pass schemas and taxonomies, and keep candidate paths alive.
Jev Practices & PatternsDocs#official#primitives#architecture
Official
A maintained list of jev-1.13's known failure modes, literal reading, unreliable counting, dates as text, indirection, context rot, and contradictory criteria, each with a guardrail.
Jev Practices & PatternsDocs#official#docs#evaluation
Official
A benchmark for typed decision models such as Jev, built from seven policy-labelled generators and nine evaluation suites. It reports accuracy as medians across paraphrases, calibration against a matched noise floor, and realized cost under asymmetric cost matrices.
Jev Benchmarks & EvaluationsArticle#community#research#arxiv
Community
A study of option-order sensitivity in System One models and a training-free fix called Runoff. It scores each option alone to keep a few candidates, then compares them with each candidate in every position, removing order dependence in two forward passes.
Jev Practices & PatternsArticle#community#research#arxiv
Community
An evaluation of Jev and two open-weight typed decision models when option names and definitions conflict. With yes/no names, decision-flip rates are up to 70.4 percentage points higher than the 0/1 control, and mean AUC drops from 93.8% to a below-chance 23.2%.
Jev Practices & PatternsArticle#community#research#arxiv
Community
Kyle Wild's October 13, 2026 post testing whether decision models inherit the primacy and recency effects of the LLMs underneath: Jev was not tricked by option ordering, while the other decision models he tested were. Reproduction code is linked on GitHub.
Jev Practices & PatternsPost#community#order-bias#evaluation
Community
Pick one option from a set you define. Returns the option, the full probability distribution, and 0-1 confidence, with up to 255 options and parallel questions that barely add latency.
Jev Practices & PatternsDocs#official#primitives#choice
Official
How TypeSafe reports certainty, how it differs from probability, and how to use it architecturally to gate and route decisions.
Jev Practices & PatternsDocs#official#confidence#routing
Official
A pre-registered study of whether jev-1.13.0 satisfies independence of irrelevant alternatives, using 299,463 calls on intent and topic classification. Every added option shifts the log-odds between the gold and strongest wrong label by 0.20–0.52 nats RMS, 1.2 to 3 times run-to-run variation.
Jev Benchmarks & EvaluationsArticle#community#research#arxiv
Community
Metamorphic coherence benchmark for typed probabilistic decision models: 240 synthetic cases and 2,240 questions checked by 50 probability laws, with released reports for 21 open models and 4 reference models.
Jev Benchmarks & EvaluationsDocs#community#evaluation#calibration
Community
Back to all articles

Related Jev articles

Coverage failures look like model errors. How to build candidate sets, add an honest rejection option, and measure coverage separately from calibration.
Jev Practices & Patterns#decisions#options#rejection
Read article
Language changes accuracy, calibration, and error ranking. What the Indonesian, Arabic, and Chinese evaluations show, and how to design a multilingual deployment.
Jev Practices & Patterns#decisions#multilingual#calibration
Read article

From the Jev AI model community

Posts from builders shipping with Jev right now.

Follow @typesafeai