Each explicit observation now carries source_indices — 0-based indices
into the <messages> block pointing to the messages that directly support
the conclusion. Messages in the prompt are prefixed with [N] indices.
This enables the action-based judge's evidence entailment criterion to
slice the conversation to just the supporting messages instead of using
the full conversation as evidence context (degraded mode).
No text duplication — the LLM outputs indices (cheap, low-error), and
the judge looks up the real message text from the trace input.