accept or review.
Put the decision in review. Leave it out of instructions. “Only pick billing if you are sure” changes the answer. minSelectedProbability changes the result.
Ask for something a person could see in the ticket. Ticket age, plan entitlements, counts, and date math belong in your code.
Question ids are stable keys: lowercase, starting with a letter, then letters, digits, or _, at most 64 characters. Ids in one document are unique.
Choice
Mutually exclusive options. Includeother when the set is not closed.
{ "type": "choice", "choice": "billing", "probabilities": { ... } }. Option descriptions are what the model matches against. Option keys are what you store.
Score
Two to ten ordered levels. Each level describes a situation. “Low”, “medium”, and “high” are not situations.{ "type": "score", "score": 1.4, "probabilities": { ... } }. The score is a number. The review range is inclusive on that number. Level index 0 is the first string in criteria.
Boolean
Whether a statement is true. The answer is a probability, not a hard boolean.0.5 is the middle of that probability. It is not a third category.
criteria is optional. When you set it, include both true and false.
Starter triage pack
A new pack is created with these five questions. Defaults: choice floor0.7, score review range [1, 2], boolean review band (0.35, 0.65).
When those ids are present, the result may include
derived:
derived is omitted when none of those ids are answered. It is not a second policy language.
Document
A pack document is{ "questions": [ ... ] } with at least one question. review is stored with the question and is not sent to the model.