Prompt craft

How to write TypeSafe Jev questions

Jev answers the questions you declare — it does not invent your taxonomy. Good criteria beat longer prose. Keep option names stable; put nuance in descriptions.

Choice vs Score vs Boolean

Type You supply You receive Use when
choice Named options → descriptions Selected key + per-option probabilities (+ confidence) Mutually exclusive labels / routes
score Ordered levels (2–10), low → high Probability-weighted level score + rung probs Severity, quality, risk rubrics
boolean Yes/no proposition (+ optional criteria) Probability of true Single fact checks
Score is not accuracy. A score of 1.5 on a 0–2 rubric is an expected level, not “75% correct.” Do not treat Score or Choice confidence as an accuracy promise.

Writing strong criteria

  • Disjoint options. If two Choice keys can both be true, operators will fight the model.
  • Describe edges. Say what buy_intent includes (stock, ship-to) vs price_question.
  • Keep residual last. Use other / human as escape hatches, not lazy catch-alls.
  • Order Score ascending. Criteria arrays are lowest → highest.
  • One decision per question. Split “route” from “urgency” into separate keys.

Shared confidence policy

TypeSafe exposes confidence from the option distribution. Pack convention:

High confidence

Auto-suggest the Choice (tag, route, or verdict) in your UI.

Low confidence

Send to a human queue with no default action.

Calibrate cutoffs on labeled examples from your stream or inbox. Thresholds are use-case-specific. Never wire suggestions into money or refund side effects.

State tips

Pass a string, object, or array as state. Prefer structured records (comment text + metadata) over dumping a whole chat log when only one message matters.