确定性引擎 + 证据链
模型推理,规则决策。
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
审计落链
快速开始
# 无 API key 也能先看护栏
$ rulsynor demo --tool=exec --cmd="rm -rf /" # → DENY
# 接模型后对话(7 步执行环)
$ rulsynor chat
# 自写规则:把 *.erdl.yaml 丢进 rules/,启动即加载、过质量门禁
$ rulsynor rules list
# 只读审计轨迹
$ rulsynor audit list