import type { WaiverRecord } from "../core/waiver_store.js"; import type { DomainName } from "../core/types.js"; /** * 计算域门禁规则集指纹。该域全部 enforced check 中会影响适用性、执行和证据语义的 * 声明字段都进入 hash,避免只改执行模式或方向却继续复用旧记录。 * 规则变更后 doctor 标 rules_stale,要求重新验证。 * verify 写 EvidenceView 时记录;doctor 比对当前 hash 判定旧 verified 产物是否需重验。 */ export declare function computeRulesetHash(domain: string, projectRoot?: string): string; /** * 计算单条 check 的规则指纹。 * 指纹与 computeRulesetHash 的单条规则表示同源,覆盖全部执行语义字段。 * check 不存在(被删)返回 undefined → isWaiverRuleCurrent 判非当前(豁免目标消失,失效)。 */ export declare function computeCheckRuleHash(domain: string, checkId: string, projectRoot?: string): string | undefined; /** * waiver 的规则是否仍当前。仅比较目标 check 的规则指纹,避免同域其他规则变化导致连带失效。 */ export declare function isWaiverRuleCurrent(w: WaiverRecord, domain: DomainName, projectRoot: string): boolean; /** * 计算引擎判定修订指纹(判定闭包代码聚合 hash)。 * 验证执行器、聚合或新鲜度算法变化会改变摘要,使已有完整验证记录失效。 * VerificationService 写记录时保存 engine_revision,证据评估与 doctor 比较当前摘要。 * * 全局指纹:hash(global 闭包全部文件)。保持原语义不变,兼容旧 evidence 的 engine_revision 比对, * 并作 scope 迁移期的 fallback 轴(旧 evidence 无 scope 字段时消费侧用全局值)。 */ export declare function computeEngineRevision(): string; /** * 计算 engine closure 的 per-file hash 快照(Record<相对 ENGINE_ROOT 路径, sha256>)。 * 用途:VerificationRun.engine_closure_files 存 full_execution 时的 per-file 快照; * engine_metadata_refresh 安全门对比旧 full_execution run 的快照 vs 当前,精确判 executor/validator * 文件是否改动(改动→须重跑不轻量;非 executor 改动如 stale/evaluator→允许轻量)。 * 与 computeEngineRevision 同源(collectClosureFiles),per-file 集合与聚合 hash 一致。 * 区别于 engine_scope_revision(scope 聚合 hash):scope revision 变化过严(shared 基础任意文件改→所有 scope 变), * per-file 对比只关注 executor/validator 改动,精确判轻量安全性。 */ export declare function computeEngineClosureFileHashes(): Record; /** * 计算某 engine scope 的判定修订指纹 = hash(shared 基础闭包 + 该 scope 专属文件)。 * - shared 基础 = global 闭包文件 minus 所有 scope 专属文件(核心机制 + 通用/跨产物判定) * - scope 专属文件只影响对应 scope:改 deployment 专属 → 仅 deployment revision 变 * - 改 shared 基础 → 所有 scope revision 变(通用判定逻辑变了,合理) * - 未知 scope fail-closed(抛错,禁止 silent fallback 到其他 scope 或 global) * scope 声明单一真相源:templates/shared/engine_closure.json 的 scopes 字段。 * * 基础层(Part 1):仅提供计算能力;evidence 携带 scope fp 的写入与 stale 消费由后续 Part 接入。 */ export declare function computeEngineScopeRevision(scope: string): string; /** * 从 closure spec 的 scopes 提取 scope 名列表(纯函数,可单测)。 * scopes 缺失 fail-closed 抛错,禁止 fallback 默认 scope 数组(消除硬编码三源漂移)。 */ export declare function extractScopeNames(scopes: Record | undefined): string[]; /** * 读取 engine scope 列表(单一来源 engine_closure.json.scopes,动态读,保持 JSON 顺序)。 * 消费方(doctor/impact 等)用此获取 scope 列表,不硬编码 shared/deployment/code/backend/frontend。 * 新增 scope(如 runtime)声明在 engine_closure.json 即自动包含,无需改消费方。 */ export declare function getEngineScopes(): string[]; /** * 批量计算所有 scope 的 revision(Record)。 * 消费方不再自己循环 scope(消除三源漂移:scope 列表 + revision 计算都单一来源 engine_closure.json)。 */ export declare function computeEngineScopeRevisions(): Record;