import type { ReviewComment } from './types.js'; /** * A Find "angle" — one lens a finder is specialised to. `full` depth runs one * finder per angle (concurrently) so each can go deep in its lane; Triage then * merges and deduplicates their findings. */ export interface ReviewAngle { key: string; directive: string; } export declare const REVIEW_ANGLES: readonly ReviewAngle[]; /** * A finding paired with the pool member that authored it. The author model is * internal pipeline metadata used to pick a cross-family verifier (a model other * than the one that raised the finding). It MUST NOT leak into posted comments, * fingerprints, or the summary — only `comment` is ever surfaced. */ export interface AuthoredFinding { comment: ReviewComment; authorModel: string; } /** * Merge findings from multiple angle finders into a deduplicated set. * * Two findings are considered the same when they share a file, sit within a few * lines of each other, and have either an identical or sufficiently similar * normalised subject — so heterogeneous models that phrase the same defect * differently collapse to one finding. The higher-severity copy wins (ties * broken by higher confidence), carrying its own author model forward, so a * finding one angle rates CRITICAL is not masked by another angle's WARN. * * Deterministic by construction: inputs are sorted by a stable key before * clustering, so the same set of findings always yields the same merged output * regardless of the order angles complete in. */ export declare function triageFindings(groups: AuthoredFinding[][]): AuthoredFinding[]; //# sourceMappingURL=triage.d.ts.map