Choice
A choice question declares named options in criteria. Criterion text is split at commas, semicolons, and the words or and and; arrays and objects are recursively read as groups of criterion text. An object field named not_for is excluded from the positive criteria.
Request
{
"state": {"parcel": "Parcel is in transit"},
"questions": {
"status": {
"type": "choice",
"instructions": {"question": "What is the parcel status?"},
"criteria": {
"moving": "Parcel is in transit; in transit",
"delivered": "Parcel has been delivered; delivered"
}
}
}
}
Outcomes
decided: one option is selected; the response includes choice, index, evidence, and may_act: true.unresolved: more than one option remains supported; the response lists supported evidence and sets may_act: false.refused: no option is supported; unfound lists criteria not located and may_act is false.
The exact matching and any configured decision stage are reported by fields such as by and engine. Use outcome, may_act, and the returned evidence to make a caller-side decision. A confidence or probabilities field, when present for wire compatibility, is not a calibration guarantee.