import type { CompiledRule, Violation } from './compiler-schema.js'; export type FindingSeverity = 'error' | 'warning' | 'info'; export type FindingSource = 'lint' | 'shield'; export type FindingCategory = 'security' | 'architecture' | 'style' | 'performance'; /** * Unified finding model — canonical output shape for both lint and shield. * Consumed by SARIF, PR comments, and CLI output formatters. * ADR-071: Unified Findings Model. */ export interface TotemFinding { /** Unique finding ID — lessonHash for lint, generated for shield */ id: string; /** Which system produced this finding */ source: FindingSource; /** Severity level — unified across lint and shield */ severity: FindingSeverity; /** Human-readable description */ message: string; /** File path (relative to project root) */ file?: string; /** 1-based line number */ line?: number; /** Matched source line content (lint only) */ matchedLine?: string; /** Rule/lesson heading (lint) or category label (shield) */ ruleHeading?: string; /** Confidence score 0-1 (shield only, always 1.0 for lint) */ confidence: number; /** Category tag */ category?: FindingCategory; } /** Convert a lint Violation into a unified TotemFinding. */ export declare function violationToFinding(v: Violation): TotemFinding; /** Reconstruct the CompiledRule + Violation from a lint-sourced TotemFinding (for SARIF compat). */ export declare function findingToViolation(f: TotemFinding, ruleMap: Map): Violation | null; //# sourceMappingURL=finding.d.ts.map