Edictum

Core vs Console

Edictum ships as two products: a standalone Python library and an optional self-hosted console. Choose what fits your deployment.

AI Assistance

Right page if: you are deciding whether to use just the core library or also deploy Edictum Console, and need to understand what each provides. Wrong page if: you already know what you need and want setup instructions -- see https://docs.edictum.ai/docs/quickstart for core or https://docs.edictum.ai/docs/console/setup for console. Gotcha: the core library has zero runtime dependencies and works fully offline. The console never evaluates contracts -- agents do that locally. Console adds visibility, live updates, and approval workflows on top.

Edictum ships as two products that work independently or together.

Core Library

pip install edictum — MIT licensed, zero runtime dependencies, Python 3.11+.

The core library evaluates contracts in-process, inside your agent. No server, no network calls, no external dependencies at runtime.

What you get:

  • 4 contract types: preconditions, postconditions, session contracts, sandbox contracts
  • 8 framework adapters: LangChain, OpenAI Agents, CrewAI, Agno, Google ADK, Semantic Kernel, Claude SDK, Nanobot
  • YAML contract pipeline with JSON Schema validation and SHA-256 versioning
  • CLI tools: edictum validate, check, diff, replay, test
  • Observe mode for testing contracts against live traffic before enforcing
  • Postcondition findings with remediation callbacks
  • OpenTelemetry instrumentation (via edictum[otel])
  • Built-in templates: file-agent, research-agent, devops-agent
  • Local audit sinks: stdout, file (.jsonl), in-memory collecting sink

Optional extras:

ExtraWhat it adds
edictum[yaml]YAML contract parsing + JSON Schema validation
edictum[otel]OpenTelemetry span emission
edictum[cli]CLI tools (validate, check, diff, replay, test)
edictum[gate]Coding assistant governance (Claude Code, Cursor, Copilot CLI, Gemini CLI, OpenCode)
edictum[server]Console SDK (connects agents to a running console)

Edictum Console

Self-hosted operations console — FSL-1.1-ALv2 licensed, single Docker image, Postgres 16 + Redis 7.

The console never evaluates contracts. Agents do that locally using the core library. The console adds centralized management, visibility, and coordination on top.

What it adds:

  • Live contract hot-reload — edit contracts in the dashboard, agents pick up changes instantly via SSE
  • Human-in-the-loop approvals — approval queue with Slack, Discord, Telegram, email, and webhook notifications
  • Fleet monitoring — live connected agents, drift detection, coverage analysis (enforced/observed/ungoverned tools)
  • Contract management — versioned library, compositions, bundle signing (Ed25519), YAML diff viewer
  • Audit event feed — centralized audit trail with faceted search, histogram, and shareable URLs
  • Agent assignment — rule-based bundle routing with glob patterns and tag matching
  • AI contract assistant — generate contracts from natural language (Anthropic, OpenAI, OpenRouter, Ollama)
  • Multi-environment — separate bundles and notification routing per environment (dev/staging/prod)

When to use each

ScenarioCore onlyCore + Console
Single agent, static contractsYesOverkill
Prototyping / local developmentYesOptional
Contracts change via code deploysYesOptional
Audit logs go to your existing observability stackYesOptional
Need live contract updates without redeploying agentsYes
Need human approval workflows (Slack/Telegram/Discord)Yes
Need visibility into agent fleet behaviorYes
Multiple environments with different contract setsYes
Regulatory audit trail requirementsYes
10+ agents across teamsYes

The core library is always required. Console builds on top of it — it does not replace it.


How they connect

Agent Process                          Console (optional)
┌──────────────────────┐               ┌──────────────────────┐
│  Your Agent Code     │               │  Dashboard (React)   │
│  + Edictum (core)    │◄──── SSE ────►│  FastAPI Server      │
│                      │               │  Postgres + Redis    │
│  Contracts evaluated │── events ───► │  Audit Feed          │
│  locally, in-process │◄── bundles ── │  Contract Management │
└──────────────────────┘               └──────────────────────┘
  • Agents evaluate contracts locally — the console never sees tool call arguments or outputs
  • The console pushes contract updates to agents via Server-Sent Events
  • Agents send audit events (decisions, not data) to the console for the feed
  • If the console goes down, agents continue with their last known-good contracts

Next Steps

  • Quickstart — get the core library running in 5 minutes
  • Console setup — deploy the console with Docker Compose
  • Adapters — choose the adapter for your framework

Last updated on

On this page