Home / Choice, Score, Noul: a field guide

Choice, Score, Noul: a field guide

Field guide·By OpenJev Editorial·Updated 2026-10-03·6 min read

Every Jev call is a state plus a dictionary of questions. Each question has three parts: an id (used only by your code — never sent to the model), instructions (what to judge), and criteria (the options or scale). There are exactly three question types. Picking the right one is most of the craft.

Choice — pick one from a fixed list

Returns the chosen option, the probability of every option, and a confidence. The answer is hard-constrained to your list, so it is safe for routing and dispatch.

  • Use it for: ticket dispatch, document-type detection, intent classification, A/B arm selection.
  • Design rule: options must be mutually exclusive and collectively exhaustive for your domain. "billing / technical / sales" is clean; "technical / urgent / billing" is not (urgent is not a department).

Score — place on an ordered scale

Returns a position on your scale — it can land between two levels — plus a distribution and confidence. You define what each level means.

  • Use it for: severity, frustration, quality grading, priority.
  • Design rule: give each level an operational definition, not a vibe. "3 = has a concrete failing step we can reproduce" beats "3 = pretty bad." The model reads your criteria literally.

Noul — yes / no, as a probability

Returns P(yes) in 0–1. There is no separate confidence field — the probability is the signal. (The name is a play on "nought" / the zero side of a binary.)

  • Use it for: "is this a refund request?", "does this contain a bug report?", "is this state safe to act on?"
  • Design rule: phrase it in the positive and keep it single-hop. Jev reads literally — double negations and implied conditions fail. "Does this request a refund of money already paid?" is better than "Isn't this not a non-refundable charge?"

Choosing between them — a quick rubric

Ask yourselfUse
Is the answer a member of a fixed set?Choice
Is the answer a degree, and do you want a number to threshold?Score
Do you want a probability you can act on directly (gate, sample, alert)?Noul
Common mistakes we see. (1) Overloading a Choice with 15+ options — split into two stages instead. (2) Using Score when you only need a gate — Noul is simpler. (3) Forgetting that all three can be mixed in one call and evaluated in parallel; batch them rather than round-tripping three times.

Next: see these wired into a real pipeline in Patterns, with working code, and the sharp edges in Known limitations.