确定性引擎 + 证据链

模型推理,规则决策。

LLM 提供智能,但智能本身没有方向、没有责任。ERDL 确定性引擎补上这一环:任何工具运行之前,规则引擎先裁决(放行 / 拒绝 / 纠正 / 升级 / 转人工);每次裁决之后,密封一份防篡改的 Decision Object——JCS + SHA-256,可独立重算、可字节级验证。

确定性,被三个独立系统验证

rulsynor-core 的确定性不是「自说自话」,而是被三个独立仓库逐层钉死:

语言层
@openoba/erdl
声明式规则语言——34 节点内核 / 30 操作符 / 13 决策
测试层
erdl-vectors
跨实现字节级验证:318 条冻结向量,由 2 个独立 runner(Go / Python)字节级核验
证明层
erdl-formal
Z3 / SMT 形式验证:34 节点 + E1–E12 全覆盖——把「被测过的确定性」提升到「对所有输入都成立」

一句话:语言定义规则,向量证明「实现一致」,形式验证证明「每个输入都安全」——确定性,从声明 → 测量 → 证明

Decision Object:每一次决策的审计记录

防篡改证据
去掉 audit.hash 后做 JCS 规范化 + SHA-256,得到自报哈希;篡改任何字段都会导致哈希不匹配
三层证据体系
哈希证「完整性」、签名证「身份」、时间戳证「时间」
扁平哈希链
决策记录以 previous_hash 串联;篡改历史、删记录、悬空指针、时钟回退、整链重建、版本降级、混合链,均被建模为可检测场景

7 步方法

intent → plan → evidence → reason → guard → execute → audit——从意图到审计的完整执行环,每一步可追溯、可回滚。

1
intent
理解意图
2
plan
制定计划
3
evidence
组装依据
4
reason
推理决策
5
guard
规则把关
6
execute
执行操作
7
audit
审计落链

快速开始

bash
# 无 API key 也能先看护栏
$ rulsynor demo --tool=exec --cmd="rm -rf /"   # → DENY

# 接模型后对话(7 步执行环)
$ rulsynor chat

# 自写规则:把 *.erdl.yaml 丢进 rules/,启动即加载、过质量门禁
$ rulsynor rules list

# 只读审计轨迹
$ rulsynor audit list

更多见 rulsynor-core · npm @openoba/rulsynor-core