/** * cross-validation check 方向判定(一致性裁决 MVP,治循环网逐产物修复不收敛)。 * * 职责边界: * - 负责:按契约 DAG(同域 requires + 跨域 requires_upstream)判定"验证产物 X 对照交叉产物 Y"的方向 * - 不负责:读文件、跑 check、改产物(纯图查询,由 verify_runner 消费用其结果决定 blocking/warning) * * 被谁调用:gate/verify_runner(check 过滤时判方向,反向降级 warning 不阻断振荡) * 调用谁:core/types.DomainContract(契约图) * * 数据流:(verifiedDomain/Kind, crossDomain/Kind, contracts) → requires/requires_upstream 图查询 → forward/reverse/unknown * 持久化:无持久化(纯函数图查询,不读不写文件) * * 收敛原理:反向 check 降级后,cross-val 只正向 blocking → 修复只流向下游 → 振荡变收敛链。 * 详见 docs/研讨记录/一致性裁决/全局裁决治循环网不收敛.md 第十节。 */ import type { DomainContract } from "../core/types.js"; /** cross-val check 的方向:正向=验证下游对照上游(失败改下游);反向=验证上游对照下游(降级 warning);unknown=无直接依赖关系(默认正向)。 */ export type CheckDirection = "forward" | "reverse" | "unknown"; /** * 判定"验证 (verifiedDomain/verifiedKind) 对照交叉 (crossDomain/crossKind)"的方向。 * - forward:verified 是 cross 的下游(verified 依赖 cross)→ 正常 blocking,失败改 verified。 * - reverse:verified 是 cross 的上游(cross 依赖 verified)→ 降级 warning,不逼修上游(防回流振荡)。 * - unknown:无直接依赖 → 默认当 forward(改被验证产物),安全。 */ export declare function resolveDependencyDirection(verifiedDomain: string, verifiedKind: string, crossDomain: string, crossKind: string, contracts: DomainContract[]): CheckDirection;