Ecosystem

One technical system, multiple runtime components, one verification chain.

ERDL is not an isolated library — it's a technical system from semantic specification to runtime framework. Each repo has a distinct role, pinned together by one deterministic verification chain.

Repo navigation

@openoba/erdl
Semantic spec + 34-node kernel
MIT
@openoba/rulsynor-core
Deterministic engine + evidence chain
PyPI
Z3 / SMT formal verification
Apache-2.0
vectors CC0 / code Apache
318 cross-implementation vectors
erdl-guard
Deterministic guard (MCP proxy + SDK + CLI)
MIT
@openoba-ai/erdl-mcp
MCP server (30 rules / 5 tools / zero config)
Full-stack, assembly-based runtime

MCP: one when/then is all it takes

Stop reminding your agent to behave — teach it. Prompt rules don't work: LLMs forget, reinterpret, rationalize. ERDL as an MCP server: the agent doesn't try to follow rules — the engine enforces them before every tool call.

bash
$ npx -y @openoba-ai/erdl-mcp

30 rules · 5 tools · zero config · unlimited custom rules · free forever.

Relationship with Microsoft ACS

ACS (Agent Control Specification, Microsoft AGT) gets the orchestration contract right — a stateless, deterministic, fail-closed policy-decision runtime that standardizes "where to intercept, how to execute". But it is an orchestration contract, not a policy language: it deliberately outsources "the semantics of the rule itself" to Rego / Cedar.

ERDL fills exactly that layer — the policy language itself: a decision model + frozen semantics + three projection surfaces, so the rule's semantics are isomorphic to the policy sentence. Need "a standard, portable policy intercept for an existing agent"? ACS already suffices. Need "rule semantics that are stable, verifiable, and readable"? That's where ERDL comes in.

Delegated authority (A2A / multi-agent)

When agents delegate decisions to one another, cross-implementation trust can't rest on bilateral endorsements. OpenOBA's delegated-authority governance rests on four runtime-authority invariants (from A2A Discussion #2031):

Invariant 01
Authority non-amplification
authority non-amplification
Invariant 02
Provenance continuity
provenance continuity
Invariant 03
Narrow-only constraint inheritance
narrow-only constraint inheritance
Invariant 04
Transitive revocation
transitive revocation