/** * metadata_refresh — engine 元数据秒级重签的编排实现(execution 层)。 * * 职责边界: * - 负责:tryMetadataRefresh 专用通道(resolve→read→capture→轻量候选判定→重签),不 fall through 真 full * - 不负责:full() 内部的同通道复用(verification_service.fullUnlocked 直接调 freshness/records)、 * 安全门与候选判定的纯逻辑(policy/freshness_policy + policy/engine_refresh_safety) * * 被谁调用:verification/verification_service(薄门面一行委托)、adversarial_review/handler(review 前置自动级联) * 调用谁:input/artifact_resolver、evidence/digest_builder、policy/freshness_policy、persistence/evidence_writer * * 数据流:FullVerificationRequest → resolveFull → 既有记录 + 快照 → isEngineMetadataRefreshable → writeMetadataRefresh * 持久化:writeMetadataRefresh 重签 EvidenceView(秒级,复用旧 full_execution 结果) * * 语义边界(2026-09-01 用户反馈落点):review 发起是读语义——本通道只在"引擎演进+内容未变+安全门过" * (executor/validator 未改动)时秒级重签,不满足条件返回 null 由调用方提示用户跑真实 full, * 不隐式触发重跑(重跑副作用须由用户显式发起)。 */ import type { ArtifactResolver } from "../input/artifact_resolver.js"; import type { DigestBuilder } from "../evidence/digest_builder.js"; import type { FreshnessPolicy } from "../policy/freshness_policy.js"; import type { EvidenceWriter } from "../persistence/evidence_writer.js"; import type { FullVerificationRequest, FullVerificationResult } from "../types.js"; export interface MetadataRefreshDeps { resolver: ArtifactResolver; digests: DigestBuilder; freshness: FreshnessPolicy; records: EvidenceWriter; } /** 尝试 engine 元数据秒级重签;null=不满足条件(无记录/内容变化/判定代码改动/解析失败)。 */ export declare function tryMetadataRefreshWith(deps: MetadataRefreshDeps, request: FullVerificationRequest): Promise;