import type { DiffFile } from '@sofagent/core'; import type { LogEntry } from '@sofagent/core'; import type { Rule } from './rules/types'; import type { RuleCheck } from './rules/types'; /** * 历史 diff 快照——包含已解析的 diff 和日志 * 用户从 git log 重建或从测试 fixture 加载 */ export interface DiffSnapshot { /** 快照时间戳 */ timestamp: string; /** 已解析的 diff 文件列表 */ diffFiles: DiffFile[]; /** 日志条目 */ logEntries: LogEntry[]; /** 任务描述 */ task?: string; /** 该快照之前的规则结果(用于对比) */ previousResults: RuleCheck[]; } /** * 回归验证报告 */ export interface RegressionReport { /** 重跑的历史快照数 */ totalSnapshots: number; /** 规则更新后新发现的问题(之前 PASS 现在 WARN/FAIL) */ newIssues: number; /** 规则更新后解决的问题(之前 WARN/FAIL 现在 PASS) */ resolvedIssues: number; /** 结果不变的 */ unchanged: number; /** 详细变化记录 */ details: { /** 快照时间戳 */ timestamp: string; /** 规则名 */ ruleName: string; /** 旧状态 */ oldStatus: string; /** 新状态 */ newStatus: string; }[]; } /** * 运行回归验证 * 遍历每个 snapshot,用 currentRules 重新跑一遍规则, * 对比新旧状态 * @param snapshots 历史 diff 快照数组 * @param currentRules 当前版本的规则数组 * @returns 回归验证报告 */ export declare function runRegression(snapshots: DiffSnapshot[], currentRules: Rule[]): RegressionReport; //# sourceMappingURL=audit-regression.d.ts.map