Deterministic Engine + Evidence Chain
The model reasons. The rules decide.
LLMs deliver intelligence, but intelligence alone has no direction and no accountability. The ERDL deterministic core closes that gap: before any tool runs, the rule engine adjudicates it (allow / deny / correct / escalate / request-human); after every verdict, a tamper-evident Decision Object is sealed — JCS + SHA-256, independently recomputable and byte-verifiable.
Determinism, verified by three independent systems
rulsynor-core's determinism isn't a self-claim — it's pinned down layer by layer by three independent repos:
@openoba/erdlIn one line: the language defines rules, the vectors prove "implementations agree", the formal verifier proves "every input is safe" — determinism, from claim → measurement → proof.
Decision Object: the audit record of every decision
audit.hash removed, JCS + SHA-256 yields the self-reported hash; tampering with any field causes a mismatchprevious_hash; history tampering, deletion, dangling pointers, clock regression, whole-chain rebuild, version downgrade, and mixed chains are all modeled as detectable scenarios7-step method
intent → plan → evidence → reason → guard → execute → audit — a complete execution loop, traceable and rollback-able at every step.
Quick Start
# Try the Guard with zero setup (no API key)
$ rulsynor demo --tool=exec --cmd="rm -rf /" # → DENY
# Chat with the 7-step loop
$ rulsynor chat
# Author your own rules: drop *.erdl.yaml into rules/, loaded at startup
$ rulsynor rules list
# Read-only audit trail
$ rulsynor audit list