> ## Documentation Index
> Fetch the complete documentation index at: https://judged.systems/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Questions

> Write choice, score, and boolean questions the model can answer from the ticket.

A question is an observation. The model returns evidence. Your [thresholds](/docs/guides/results) decide `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. Include `other` when the set is not closed.

```json theme={null}
{
  "type": "choice",
  "id": "department",
  "name": "Department",
  "instructions": "Choose the team that best owns the next action for this ticket.",
  "criteria": {
    "billing": "A payment, invoice, subscription charge, or refund issue.",
    "technical": "A product defect, outage, integration, or performance issue.",
    "account": "An access, identity, security, or account-management issue.",
    "other": "The ticket does not primarily belong to billing, technical, or account."
  },
  "review": { "minSelectedProbability": 0.7 }
}
```

The answer is `{ "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.

```json theme={null}
{
  "type": "score",
  "id": "urgency",
  "name": "Urgency",
  "instructions": "Score the operational urgency expressed by the current situation.",
  "criteria": [
    "Routine request with no stated time pressure or active impact.",
    "Time-sensitive request or limited impact affecting one customer.",
    "Serious degradation, repeated failure, or impact affecting multiple users.",
    "Critical outage, security exposure, or immediate material business impact."
  ],
  "review": { "minInclusive": 1, "maxInclusive": 2 }
}
```

The answer is `{ "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.

```json theme={null}
{
  "type": "boolean",
  "id": "refund_requested",
  "name": "Refund requested",
  "instructions": "The customer is asking to reverse or refund a charge.",
  "criteria": {
    "true": "The customer explicitly or clearly implicitly requests money back.",
    "false": "The customer does not request money back."
  },
  "review": { "lowExclusive": 0.35, "highExclusive": 0.65 }
}
```

`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 floor `0.7`, score review range `[1, 2]`, boolean review band `(0.35, 0.65)`.

| Id | Type | Observes |
| - | - | - |
| `department` | choice | `billing`, `technical`, `account`, `other` |
| `urgency` | score | Four situations, from routine to critical |
| `refund_requested` | boolean | The customer asks for money back |
| `policy_risk` | score | Four situations, from none to severe |
| `escalation` | boolean | The customer asks for a higher tier |

When those ids are present, the result may include `derived`:

| Field | Rule |
| - | - |
| `department` | The selected `department` choice |
| `priority` | From `urgency`: below `1` is `low`, below `2` is `medium`, otherwise `high` |
| `tags` | `refund` when `refund_requested` probability is at least `0.8`. `escalation` on the same rule |

`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.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.