keel v0.3.0
M3:受控进化
规则从候选到生效只有一条路:keel promote;撤回只有一条路:keel retire。
- 规则要过对照验证:
cases/下 pass 和 fail 两个方向的夹具必须都在,只证明"该过的过了"不算数——一条永远 exit 0 的检查也能满足。 - promote 前置条件缺一不可:candidate 状态(或证据已过期需重新验证)、
check.argv、指向有效决策的from,全部满足才转 active 并写证据;不满足则留在 candidate,失败证据同样写入仓库。 - definition_digest 覆盖面扩大:argv、cases、正文、argv[0] 指向的检查脚本内容一并纳入。改了其中任何一项都会报
rule_evidence_stale(warn)。 - retire:转 retired,原因写进正文,历史保留;被替代的旧规则只提示不自动改。
- 规则执行范围限定:只在人显式发起的验证(worktree/index/range)中运行,且只跑 scope 与变更集有交集的规则;Stop hook 不再执行规则,只做对象层检查。
keel review:只读命令,展示到期、失效冲突、确定性学习候选簇与统计,不执行任何规则。
技能版本与对照评估后置到 M4。
go test ./... 全绿;SHA256SUMS 随本次发布附带,可用 shasum -a 256 -c SHA256SUMS 校验。