rulsynor-core v1.0: An AI Agent You Can Audit
How do you trust an AI Agent in production? Not "trust" as in I think it'll do the right thing. Trust as in cryptographic proof that every decision was correct, traceable, and independently verifiable.
Today: rulsynor-core โ open-source Guard engine for AI Agents. MIT license. On npm.
30-Second Demo
bash
npx @openoba/rulsynor-core --tool=exec --cmd="rm -rf /"
๐ก๏ธ Decision: DENY
๐ Reason: Destructive command blocked.
๐งพ Recorded: sha256:8274b0... (tamper-evident)
๐งญ Alternative: Use the read tool to inspect first.
Not just "no." The agent learns why and what to do instead.
What It Does
Guard: Evaluates every tool call before execution โ ring-sorted, sub-millisecond. 30 preset rules + write your own.
Audit: Every decision produces a 25-field cryptographic record. JCS + SHA-256. Chain-linked.
Verify: Anyone can verify audit records with zero SDK. Just JCS + SHA-256. No rulsynor needed.
What Makes It Different
Most AI safety tools are prompt-based. "Be careful" isn't governance. rulsynor-core gives you:
7 decision types โ ALLOW, DENY, CORRECT, QUARANTINE, REQUEST_HUMAN, NOTIFY, EMERGENCY_HALT
Cryptographic audit chain โ not "we logged it," mathematical proof
Third-party verified โ 101 cross-implementation vectors, 13/13 passed by Concordia
MIT licensed โ zero framework dependencies
Rules in Plain Language
ๅคๅถ
# "If the agent runs rm -rf, block it"
name: block-destructive-rm
when:
conditions:
- field: context.tool.name
operator: eq, value: exec
- field: context.tool.args.command
operator: matches, value: rm\s+-rf
then:
decision: DENY
instruction: Destructive command blocked.
Any LLM can translate English descriptions into ERDL rules. The compiler validates everything before loading.
5-Minute Integration
import { Evaluator, GuardStateManager,
loadPresetRules, toCompiledRules }
from '@openoba/rulsynor-core';
const rules = toCompiledRules(loadPresetRules());
const evaluator = new Evaluator(new GuardStateManager());
const result = evaluator.evaluate(
{ toolName, toolArgs, sessionId, agentId },
rules
);
// result.decision โ ALLOW | DENY | CORRECT | ...
Works with LangChain, MCP, custom ReAct loops. Same API everywhere.
Roadmap
30 preset rules, 20 operators
JCS+SHA-256 audit trail
Third-party verified
LangGraph integration guide
Community rule marketplace
GitHub ยท npm
"LLM vendors deliver exceptional intelligence. We deliver accountability."
Built at OpenOBA. MIT.
Top comments (0)