> ## Documentation Index
> Fetch the complete documentation index at: https://secndai.manicule.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For every page in one file, fetch https://secndai.manicule.dev/llms-full.txt (large).
> To search and read these docs as tools, connect the MCP server at https://secndai.manicule.dev/api/mcp.
> Every agent surface: https://secndai.manicule.dev/.well-known/llms-manifest.json

# Choice (/primitives/choice)

<!-- agent-signals: reading_time_min: 1 · est_tokens: 286 · updated: 2026-11-12 -->
Related: [Score](/primitives/score.md), [True/false](/primitives/true-false.md), [Changelog](/changelog.md)

> Select one of the alternatives your application can handle.

Use short, distinct IDs for routing and descriptions to explain their meaning. IDs must be unique and nonblank. Supply 2–255 options.

```json title="request"
{
  "model": "ren-zero-2026-11-12",
  "type": "choice",
  "situation": "A customer reports being charged twice for one order.",
  "question": "Which support queue should handle this ticket?",
  "options": [
    {"id": "billing", "description": "Charges, invoices, and payment disputes"},
    {"id": "delivery", "description": "Shipping and missing parcels"},
    {"id": "other", "description": "The ticket does not clearly fit the named queues"}
  ],
  "threshold": 0.9
}
```

`choice` is the selected option ID; `probabilities` contains one entry for each offered ID and sums to one within numeric tolerance. `p` is the selected option's probability. The current gateway also exposes that same value as `confidence`.

High probability only compares the offered options. It cannot prove that an omitted category would fit worse. Review ambiguous boundaries and option-order sensitivity on your own development examples.
