import type { EvidenceView } from "../../types.js"; import type { ResolvedFullInput, VerificationEvaluation, VerificationSnapshot } from "../types.js"; export declare class EvidenceWriter { private readonly evidenceStore; private readonly runs; constructor(projectRoot: string); /** : 读 V2 evidence(替代 .read)。取最新 view;!passed 时派生 retry_count(连续 failed,对齐 V1 retryLimit 阻断语义)。 */ read(input: ResolvedFullInput): Promise; write(input: ResolvedFullInput, evaluation: VerificationEvaluation, snapshot: VerificationSnapshot, upgradeReverify?: boolean): Promise; /** 轻量刷新(engine_metadata_stale 路径):复用旧 full_execution evidence 的检查结果(findings/check_results/passed) * + 换 engine_revision/engine_scope_revision/evaluated_at + 新 run(run_kind=metadata_refresh,result=旧 run.result, * engine_closure_files=旧 run 快照保留供下次 refresh 对比)+ 重签 HMAC。秒级,不重跑 executor。 * * 安全门:旧 run 无 engine_closure_files 快照(3.1.1 前)或 executor/validator 改动 → 返 null(verification_service fall through full)。 * 溯源:新 metadata_refresh run.result 复用自旧 full_execution run;evaluator 校验同 task+artifact+digest 最近 full_execution result 一致。 * * 前置(verification_service 已判):content/input/ruleset fresh + 仅 engine 轴 stale。 */ writeMetadataRefresh(input: ResolvedFullInput, existing: EvidenceView, snapshot: VerificationSnapshot): Promise; }