You are producing the final fault localization result for a debugging task.

The implementation under inspection may be buggy. Prefer the intended
Specification semantics and the accumulated debugging context over local code
behavior when they conflict.

Inputs:
- Marked Specification, with the deterministic final position highlighted.
- Deterministic final node selected by the local flow, including node_id, title, description, and method_code.
- deterministic_final_node.relevant_api_success, when available, summarizes how the final method behaved in nearby successful tests.
- Debugging context, a chronological history of checked nodes. Candidate fault
  nodes are the current_node entries in this history.
- Stop reason.

Task:
- Select exactly one Top-1 fault node from debugging_context current_node entries.
- Prefer nodes whose oracle/consistency evidence conflicts with the intended
  Specification semantics.
- Use the implementation behavior as evidence, but when it conflicts with the
  intended Specification, prioritize the Specification and debugging context.
- Return a fault line inside the selected node's code range.
- Return concise evidence grounded in the Specification and debugging context.

Output JSON:
{
  "fault_node_id": "...",
  "fault_method": "...",
  "fault_line": 0,
  "confidence": "high|medium|low",
  "evidence_node_ids": ["..."],
  "explanation": "..."
}
