import type { EvidenceView } from "../../types.js"; import type { VerificationEvaluation, VerificationSnapshot } from "../types.js"; export declare const MAX_FULL_VERIFICATION_RETRIES = 5; export declare class FreshnessPolicy { isReusable(record: EvidenceView | null, taskId: string, snapshot: VerificationSnapshot, upgradeReverify?: boolean): record is EvidenceView; /** 轻量刷新候选:全复用(isReusable)失败的唯一原因是 engine 轴(content/input/ruleset 均 fresh)。 * true → verification_service 走 metadata_refresh 路径(复用旧 full_execution 检查结果 + 重签 engine_revision,秒级不重跑)。 * 前置安全门(records.writeMetadataRefresh 内判 executor/validator 改动 + 旧 run 有 engine_closure_files 快照)须过,否则 fall through full。 * 与 isReusable 同结构,engine 轴取反(仅 engine stale,其他轴 fresh)。 */ isEngineMetadataRefreshable(record: EvidenceView | null, taskId: string, snapshot: VerificationSnapshot, upgradeReverify?: boolean): record is EvidenceView; retryLimit(record: EvidenceView | null, snapshot: VerificationSnapshot, upgradeReverify?: boolean): number | null; invalidateChangedSnapshot(evaluation: VerificationEvaluation, before: VerificationSnapshot, after: VerificationSnapshot): VerificationEvaluation; }