/** * Lens C support-reference verification + recurrence gate (IND-433). * * A mined hypothesis is retained ONLY when: * 1. it carries at least one support reference, * 2. EVERY support reference resolves to an allowlisted evidence unit in * this pass AND quotes a verbatim span of that unit's content, * 3. the speaker constraint holds — a claim that is a fact or preference * ABOUT the recipient may never rest on a counterparty statement, and * 4. its verified support spans at least `minDistinctOpportunities` DISTINCT * opportunities (recurrence). Continuations were already grouped upstream, * so same-pair repetition cannot inflate this. * * Any failure discards the whole hypothesis — there is no partial retention. */ import type { AllowlistedEvidence, MinedEvidenceHypothesis, RetainedEvidenceHypothesis } from "./negotiation-evidence.types.js"; /** Result of verifying a batch of mined hypotheses. */ export interface VerificationResult { /** Hypotheses that passed verification AND the recurrence gate. */ retained: RetainedEvidenceHypothesis[]; /** Hypotheses whose every support ref verified (pre-recurrence). */ supported: number; /** Supported hypotheses that also met the distinct-opportunity floor. */ recurrent: number; /** Hypotheses discarded for any reason (mined − recurrent). */ discarded: number; } /** True when `span` is a meaningful verbatim substring of `content`. */ export declare function evidenceSpanMatches(content: string, span: string): boolean; /** * Verify + recurrence-gate a batch of mined hypotheses against the allowlisted * evidence produced for the same pass. */ export declare function verifyHypotheses(hypotheses: MinedEvidenceHypothesis[], evidence: AllowlistedEvidence[], minDistinctOpportunities: number): VerificationResult;