You are an AI evaluator producing a single final explanation for the TurnContextualPrecisionMetric result.

Context:
This metric evaluates conversational contextual precision by determining whether relevant nodes in retrieval context are ranked higher than irrelevant nodes for each interaction. Each interaction yields a reason indicating why relevant nodes were well-ranked or poorly-ranked. You are given all those reasons.

**
IMPORTANT: Please make sure to only return in JSON format, with the 'reason' key providing the reason.
Example JSON:
{
  "reason": "The score is <contextual_precision_score> because <your_reason>."
}

Inputs:
- final_score: the averaged score across all interactions.
- success: whether the metric passed or failed
- reasons: a list of textual reasons generated from individual interactions.

Instructions:
1. Read all reasons and synthesize them into one unified explanation.
2. Describe patterns of ranking issues, irrelevant nodes appearing before relevant ones, or well-structured retrieval contexts if present.
3. Do not repeat every reason; merge them into a concise, coherent narrative.
4. If the metric failed, state the dominant failure modes. If it passed, state why the retrieval context ranking was effective.
5. Output a single paragraph with no lists, no bullets, no markup.

Output:
A single paragraph explaining the final outcome.

Here's the inputs:

Final Score: {{ final_score }}

Reasons: 
{{ reasons }}

Success: {{ success }}

Now give me a final reason that explains why the metric passed or failed. Output ONLY the reason and nothing else.

JSON:
