Member Junction
    Preparing search index...

    The structured verdict for a matched set. Persisted onto each match row's LLM* columns along with the run id of whichever provider ran.

    interface DuplicateReasoningOutput {
        AIAgentRunID?: string;
        AIPromptRunID?: string;
        CandidateVerdicts: DuplicateReasoningCandidateVerdict[];
        Confidence: number;
        ErrorMessage?: string;
        FieldChoices: DuplicateReasoningFieldChoice[];
        Reasoning: string;
        Recommendation: DuplicateReasoningRecommendation;
        Success: boolean;
        SurvivorRecordID: string;
    }
    Index

    Properties

    AIAgentRunID?: string

    The AI Agent Run id, when a DuplicateReasoningProvider ran via an agent. Mutually exclusive with AIPromptRunID.

    AIPromptRunID?: string

    The AI Prompt Run id, when a DuplicateReasoningProvider ran via a single-shot prompt. Mutually exclusive with AIAgentRunID.

    Per-candidate verdicts — the authoritative, row-level result. Each entry is judged independently against the source so a false-positive candidate reads NotDuplicate even when another candidate in the same set is a confident Merge.

    Confidence: number

    Overall confidence (0–1), derived from the per-candidate verdicts. null means no candidate returned a usable confidence — callers must distinguish this from a real 0 (which reads as "confidently NOT a duplicate") and render/store it as "unknown".

    ErrorMessage?: string

    Populated when Success is false.

    Per-field survivor choices (only fields whose value comes from a non-survivor).

    Reasoning: string

    Overall human-readable summary of the set decision.

    The overall verdict for the set, derived from the per-candidate verdicts (Merge if any candidate is a Merge, else Uncertain if any is Uncertain, else NotDuplicate). Used for the group's dominant display and the auto-merge gate — NOT stamped on individual candidate rows.

    Success: boolean

    Whether the reasoning call itself succeeded (not whether it recommended a merge).

    SurvivorRecordID: string

    The record id the reasoner proposes should survive (null when NotDuplicate).