/** * Entity audit metric helpers. * * Pure functions — no DB, no embeddings. The audit queue assembles the * snapshot from live tables and fixtures, then hands it to these helpers * for deterministic metric calculation + baseline classification. */ export declare const FALSE_MERGE_HARD_CEILING = 0.02; export type EntityAuditClassification = 'improved' | 'stable' | 'regressed' | 'inconclusive'; export interface AuditCandidateSnapshot { id: string; status: 'pending' | 'auto_merged' | 'approved' | 'rejected' | 'deferred'; score_total: number; left_canonical_id: string | null; right_canonical_id: string | null; left_kind: string | null; right_kind: string | null; } export interface AuditGoldPair { canonical_id: string; left_obs_id: string; right_obs_id: string; } export interface AuditCandidateGoldLink { candidate_id: string; matched_pair_key: string; score_total: number; } export interface AuditSnapshot { candidates: AuditCandidateSnapshot[]; gold_pairs: AuditGoldPair[]; candidate_gold_matches: AuditCandidateGoldLink[]; gold_canonical_projection_counts: Record; } export interface AuditMetricSummary { false_merge_rate: number; false_merge_numerator: number; false_merge_denominator: number; cross_language_candidate_recall_at_10: number; cross_language_recall_numerator: number; cross_language_recall_denominator: number; ontology_violation_count: number; projection_fragmentation_rate: number; } export interface AuditRunClassificationInput { current: AuditMetricSummary; baseline: AuditMetricSummary | null; } export declare function computeFalseMergeRate(candidates: AuditCandidateSnapshot[]): { rate: number; numerator: number; denominator: number; }; export declare function computeCrossLanguageRecallAtK(goldPairs: AuditGoldPair[], matches: AuditCandidateGoldLink[], k: number): { recall: number; numerator: number; denominator: number; }; export declare function computeCrossLanguageRecallAt5(goldPairs: AuditGoldPair[], matches: AuditCandidateGoldLink[]): { recall: number; numerator: number; denominator: number; }; export declare function computeCrossLanguageRecallAt10(goldPairs: AuditGoldPair[], matches: AuditCandidateGoldLink[]): { recall: number; numerator: number; denominator: number; }; export declare function computeOntologyViolationCount(candidates: AuditCandidateSnapshot[]): number; export declare function computeProjectionFragmentationRate(counts: Record): number; export declare function computeAuditMetrics(snapshot: AuditSnapshot): AuditMetricSummary; export declare function classifyAuditRun(input: AuditRunClassificationInput): EntityAuditClassification; //# sourceMappingURL=audit-metrics.d.ts.map