from enum import Enum from pydantic import BaseModel from src.models.claim import Claim class ContradictionType(str, Enum): DIRECT_NEGATION = "DIRECT_NEGATION" QUANTITATIVE_CONFLICT = "QUANTITATIVE_CONFLICT" DIRECTION_REVERSAL = "DIRECTION_REVERSAL" SCOPE_MISMATCH = "SCOPE_MISMATCH" TEMPORAL_SUPERSESSION = "TEMPORAL_SUPERSESSION" METHODOLOGICAL_CONFLICT = "METHODOLOGICAL_CONFLICT" class ContradictionPair(BaseModel): claim_a: Claim claim_b: Claim contradiction_score: float contradiction_type: ContradictionType explanation: str scope_note: str temporal_resolution: str | None = None is_genuine: bool