# Score

Express an ordered rubric rather than asking for free-form numbers.

Provide at least two and at most ten levels, ordered strictly increasingly by numeric ID. IDs are strings from `"1"` through `"10"`; they need not be consecutive. Define each level in terms a reviewer could apply.

```json request
{
  "model": "ren-1.1.0",
  "type": "score",
  "situation": "The draft reply acknowledges the issue and gives a specific next step, but omits the timeline.",
  "question": "How complete is the support reply?",
  "levels": [
    {"id": "1", "description": "Does not address the issue"},
    {"id": "2", "description": "Addresses the issue but misses an important detail"},
    {"id": "3", "description": "Addresses the issue with all required details"}
  ],
  "threshold": 0.9
}
```

`choice` is the most probable level. `expected_score` is the sum of each numeric level multiplied by its probability, so it may be fractional. The `probability` used by the gate is the probability of the most probable level, not the expected score divided by the maximum level.

For illustration, probabilities `{"1": 0.1, "2": 0.6, "3": 0.3}` give an expected score of `2.2`, a chosen level of `"2"`, and `probability` of `0.6`. This arithmetic example is not a model result.

Keep arithmetic, totals, and fixed business rules in code. The model judges the stated rubric; your application decides how to use it.
