Skip to main content

Module validate

Module validate 

Source
Expand description

evorule validate —— 规则集形态门禁(L2 纪律)

§从白名单到门禁

本命令最初只做一件事:校验顶层 type 是否在 core_eval 元指令白名单 (META_INSTRUCTION_TYPES)内。那份「规范」被写死在 Rust 里,只能回答一个 问题——顶层类型认不认识。

BUG-P0-005 暴露了它回答不了的问题:每条规则的 type 都合法、整个规则集 仍然可能让守卫永不求值(L1 io_request 排在 L2 enforce 之前、命中即 返回,后者永远求不到值)。这不是「某条规则写错」,而是排列与组合不合法 ——性质上属于规则集的形态,不属于单条规则。

故本命令改为形态门禁:

  • 判定条款在 evorule-tcb/discipline/core_eval.json(数据:可版本化、 可 diff、可评审,随内核发版,不存在「规范与代码各写一份」的漂移);
  • 遍历与事实标注在 discipline_gate(机制:把内核看不见的列表级事实 注入 _ctx,判定全部交给 execute_transition 求值)。

作用域从「顶层 N 条」扩大到「含 branch 内嵌子指令的全部节点」—— BUG 不住在顶层。

§退出码

  • 0:通过门禁
  • 1:有纪律违规(含未知元指令 —— 即历史上的 DC-01 前身)

§行为变更提示

老版本只认顶层 type;新版本会额外拦截会让守卫失效的形态(DC-05 遮蔽)、 破坏重放等价性的形态(DC-08/DC-09)等。首次在新仓库跑出现违规属预期, 这些违规历史上一直存在,只是此前没有任何东西检查它们。

Functions§

run
执行 validate 子命令