# TRIANGULATION PROTOCOL (Private -- S3 Multi-Method Orchestrator)

**Scope:** Defines claim-level reconciliation once parallel discipline invocations return. Owns the convergence-class decision tree, the material-difference thresholds per claim type, and the "never procedurally tiebreak" rule surface.

## 1. Inputs

One claim ID plus the set of returned discipline findings. Each finding carries: discipline name, finding text, self-rubric confidence, sources cited from the upstream fitness-verified set, method-internal flags (e.g., RoB 2 high-risk, CERQual moderate, Admiralty input), and any method-surfaced anomalies.

If the set has fewer than 2 returned findings the claim is NOT reconcilable here -- either a `CAPACITY_BOUND` deferral is pending (send to Phase 5 handoff with `PARTIAL_DISCIPLINE_COVERAGE`) or a `SINGLE_METHOD_EXCEPTION` was filed upstream (the single-method finding is passed through as `EXCEPTION_SINGLETON`, NOT classified as CONVERGENT).

## 2. Convergence Classification

Classify the returned set into exactly one class. Decision order is strict -- later rules do not override earlier:

- **CONTRADICTORY** -- two or more returned disciplines produce incompatible findings on the same claim (direction conflict, or sign conflict, or mutually exclusive mechanism). Written to Surprise Register as one entry per contradicting pair.
- **UNDER_DETERMINED** -- at least one returned discipline reported `INSUFFICIENT_EVIDENCE` AND remaining disciplines agree on direction. Synthesized finding is permitted but must carry an `EVIDENCE_GAP` flag.
- **NULL** -- all returned disciplines reported `INSUFFICIENT_EVIDENCE`. Route to S8 Adversarial Pass for `nothing-found` expansion; no synthesized finding emitted.
- **PARTIAL_AGREEMENT** -- direction agreement across disciplines, but magnitude, scope, population, or mechanism-detail differs. Check the material-difference threshold in section 3.
- **CONVERGENT** -- all returned disciplines reach the same finding within their respective confidence rubrics.

## 3. Material-Difference Thresholds (per claim type)

These thresholds are LOAD-BEARING. A PARTIAL_AGREEMENT above threshold is treated as a contradiction for Surprise Register purposes -- below threshold it is annotated but allowed to synthesize.

- **Causal:** effect-direction disagreement is CONTRADICTORY; effect-size > 2x discrepancy is material; mechanism-disjoint is material.
- **Descriptive:** population scope disjoint is material; prevalence > 1.5x discrepancy is material.
- **Predictive:** out-of-sample calibration sign discrepancy is CONTRADICTORY; Brier-equivalent > 0.1 delta is material.
- **Normative:** argumentative incompatibility (contrary conclusions from same premises) is CONTRADICTORY; frame divergence is material.
- **Interpretive:** thematic conflict on the same data is material; transferability domain disjoint is material.

## 4. Synthesized Finding Rules

Emit a synthesized claim-level finding ONLY if class is CONVERGENT, UNDER_DETERMINED (with gap flag), or PARTIAL_AGREEMENT below material-difference threshold. For CONTRADICTORY and material PARTIAL_AGREEMENT the synthesized field is the literal token `CONTESTED`, NOT a summary.

## 5. NEVER (tiebreaker surface)

Never resolve a CONTRADICTORY class by: picking the highest-self-confidence discipline; picking the most recent source's discipline; picking the discipline with the most sources; picking the Admiralty-highest input; picking the Research Auditor's vote. These are the five tiebreaker antipatterns. All are rejected. Contradictions EXPAND inquiry via S8 and S6; they are NOT resolved here.

## 6. Outputs

Per claim: convergence class, synthesized finding OR `CONTESTED`, Surprise Register entry IDs (for contradictions and material partials), ledger reference range, per-discipline finding table. Hand to the Claim Triangulation Record template.
