/** * Task Record Cleanup — cancel/reset 共享的任务记录清理 helper。 * * 职责边界: * - 负责:任务记录清理域清单(单源)+ gate/review/waiver store 实例 + gate/waiver 共享清理逻辑 * - 不负责:review 条件清理(cancel 全删 vs reset 摘要匹配条件删,差异大,由调用方各自调 reviewStore) * * 被 handle_cancel/handle_reset 调用,消除两处域清单副本 + Store 实例化重复(B1/Task-007)。 */ import { AdversarialReviewStore } from "../adversarial_review_store.js"; import { WaiverStore } from "../waiver_store.js"; import { type EvidenceView } from "../types.js"; /** 任务记录清理器:封装 store 实例 + gate/waiver 共享清理逻辑。 * cancel(全删)与 reset(条件删)复用此 helper;review 条件差异大由调用方各自调 reviewStore。 */ export declare class TaskRecordCleaner { private readonly projectRoot; readonly reviewStore: AdversarialReviewStore; readonly waiverStore: WaiverStore; constructor(projectRoot: string); /** 清理任务在各域的 gate 记录(先按 task_id 过滤,再按 shouldDelete 决定失效哪些)。 * cancel 传 ()=>true(全失效该 task 的);reset 传 (r)=>!r.passed(只失效 failed 归零 retry)。 * : 迁 V2 tombstone(invalidateByArtifact),不物理删 EvidenceView(保审计),V2 reader 自动过滤。 * V2 多历史:按 (task,domain,kind,path) 去重取最新(对齐 V1 覆盖式每组合一条),shouldDelete(最新),批量失效。 */ clearEvidence(taskId: string, shouldDelete: (record: EvidenceView) => boolean): Promise; /** 清理任务的所有 waiver(cancel/reset 共用,全删)。 */ clearWaivers(taskId: string, reason: string): Promise; }