/** * Quality gates for compound extraction. * * Extracted from compound-extractor.ts — validation and dedup logic that * determines whether an extracted solution is worth persisting. */ import type { SolutionType } from './solution-format.js'; /** Shape of a solution extracted from git diff or session context */ export interface ExtractedSolution { name: string; type: SolutionType; tags: string[]; identifiers: string[]; context: string; content: string; } /** Gate 0: Is this extraction worth doing? */ export declare function gate0(stats: { files: number; lines: number; hasCodeFiles: boolean; }): boolean; /** Gate 1: Structural validation (pure — does not mutate input) */ export declare function gate1(sol: ExtractedSolution): boolean; /** Gate 2: Toxicity filter */ export declare function gate2(sol: ExtractedSolution): boolean; /** * Gate 2.5: Trivial pattern rejection — 자명한 패턴은 축적할 가치 없음. */ export declare function gateTrivial(sol: ExtractedSolution): boolean; /** Gate 3: Dedup check against existing solutions */ export declare function gate3(sol: ExtractedSolution): 'new' | 're-extract' | 'duplicate'; /** Evaluate an extracted solution against all quality gates */ export declare function evaluateExtractedSolution(sol: ExtractedSolution): { action: 'accept' | 'skip' | 'duplicate' | 're-extract'; message?: string; };