Foundations 03 5 min Updated Sep 20, 2026
Choice, Score, or Noul — how to pick
Choice selects from a closed set; Score rates ordered levels; Noul returns P(yes). Mix them in one call; each question runs in parallel against the same state.
TypeSafe exposes three question primitives. Pick the shape that matches the decision your code needs.
| Question type | Goal | Returns |
|---|---|---|
| Choice | Pick from a defined set | selected option, per-option probabilities, confidence |
| Score | Rate against ordered, descriptive levels | score/level, per-level probabilities, confidence |
| Noul | Yes/no evaluation | P(yes) in 0–1; no separate confidence field |
How to choose
- Closed taxonomy (queues, intents, categories) → Choice, and always keep an
other/insufficient_evidenceescape hatch when the world is messy. - Ordered quality or severity rubrics → Score.
- A single binary check (“meets must-haves?”, “needs human?”) → Noul.
You can mix types in one request. Questions evaluate in parallel and in isolation against the same state—your code composes the results. Do not write “use the previous answer” inside the packet; chain in code if you need dependency.
Sources
- Primitives
- Choice · Score · Noul