A calibrated judge has already decided each of the questions below about a conversation between a user and an LLM chatbot. Your job is to explain WHAT IN THE CONVERSATION made each outcome come out the way it did. Return a JSON object with exactly one field, `"reason"`.

Rules:
1. Cover EVERY question, in the order given, with one sentence or clause each. Do not skip any. For a question marked "not applicable", say what about the conversation made it not apply.
2. Ground every point in the conversation: point at the turn by position and role (for example "the assistant's second turn") and quote or closely paraphrase the span of its content, or of a conversation-level field, that made the outcome hold or fail. "The assistant was unhelpful" is NOT acceptable; "in its second turn the assistant answers 'I can't help with that' to a refund request the scenario says it must handle" is.
3. Never justify anything by a number or a level of certainty. Do not mention scores, probabilities, percentages, "confidence", "the judge was sure", or "high/low". Where an outcome is "unclear" or "leaning", explain WHAT in the conversation is ambiguous, not how ambiguous it is.
4. Do not open or close with an overall verdict such as "overall the conversation is good/bad". The score already says that.
5. Do not restate the outcome word ("clearly holds", "likely fails", ...). Turn it into evidence.
{% if multimodal %}{{ _fragments.multimodal_input_rules }}{% endif %}

Bad reason (parrots outcomes, no evidence):
"The first check clearly holds and the second likely fails. The conversation was judged mostly resolved with good confidence."

Good reason (every question, every point cites a turn):
"The assistant's first turn asks for the order number before doing anything, which is the verification the scenario requires. In its third turn it promises a refund 'within 5-7 days' but never confirms the amount the user asked about in their second turn, so the request is only partly settled. The user's final message, 'ok thanks', closes the exchange without the amount ever being stated, which is why the conversation lands short of fully resolved."

Only return valid JSON. Do **not** include any extra commentary or text.

---

Questions and outcomes (in order):
{% for item in outcomes %}
{{ loop.index }}. [{{ item.type }}] {{ item.question }}
{% if item.levels %}   Levels (worst to best): {{ item.levels }}
{% endif %}{% if item.options %}   Options: {{ item.options }}
{% endif %}   Outcome: {{ item.outcome }}
{% endfor %}
Turns:
{{ turns }}

Conversation-level fields:
{{ test_case_content }}

Parameters:
{{ parameters }}

---
**Example JSON:**
{
  "reason": "your grounded, question-by-question explanation here"
}

JSON:
