/** * adversarial_review — 规范化客户端提交的 findings / resolutions。 * * 职责边界: * - 负责:校验并规整客户端提交的 findings 与 resolutions * - 不负责:不存储 findings、不做交集聚合(由 handler/store 负责) * * 被谁调用:core/adversarial_review/handler(handleAdversarialReview / applyAdversarialReviewResolutions) * 调用谁:adversarial_review_store 的 ReviewFinding 类型 + reviewFindingKey 纯函数 * * 数据流:raw findings/resolutions → 字段校验+trim → ReviewFinding[] / Pick<...>[](格式错返回 ok:false + error) * 持久化:无持久化(纯函数,内存态转换) * * 将外部审查输入归一化为持久化模型。 */ import type { ReviewFinding } from "../adversarial_review_store.js"; export interface NormalizedFindingResolution { id: string; resolution_status: "confirmed" | "false_positive" | "accepted_risk"; closure_status: "open" | "fixed" | "waived"; resolution_evidence: string; /** 推荐线半结构化锚点(可选,K4 批):原问题代码片段(落 ResolutionRecord 供差量重审复核;resolve 时不做引擎核验) */ old_quote?: string; /** 推荐线半结构化锚点(可选):新代码锚点(落 ResolutionRecord 供差量重审复核) */ new_anchor?: string; /** 推荐线机器可核验引用(可选):run-id / commit / 测试名 */ verification_ref?: string; } /** 严格规范化 resolution;任一项字段不全或取值非法时整批拒绝并返回具体字段名。 */ export declare function normalizeFindingResolutions(raw: unknown): { ok: true; resolutions: NormalizedFindingResolution[]; } | { ok: false; error: string; }; /** 规范化客户端提交的 findings。round>=2 输出是审查证据,格式错即本轮无效,不能过滤成 [] 后计入 K-sample。 */ export declare function normalizeFindings(raw: unknown): { ok: true; findings: ReviewFinding[]; } | { ok: false; error: string; };