Architecture
Current high-level architecture for the hosted Edictum control plane.
AI Assistance
Right page if: you want the current high-level shape of the hosted control plane. Wrong page if: you need exact route contracts -- see https://docs.edictum.ai/docs/control-plane/reference/api. Gotcha: the current control plane is not the old single-image edictum-server stack. It is edictum-api plus edictum-app, with enforcement still running inside the SDK runtime.
The current control plane has three distinct pieces:
edictum-apihandles rulesets, keys, runs, events, approvals, audit, notifications, and SSE.edictum-appis the browser UI for operators.- The SDK runtime still evaluates rules locally inside each agent process.
Agents
edictum[server]
API Key Auth
Bearer edk_*
Dashboard
React SPA
Cookie Auth
HttpOnly · SameSite
REST + SSE
HTTP
Edictum Control Plane · Docker
FastAPI
async · uvicorn · DDD layers
React SPA
/dashboard
SSE Streams
agent + dashboard
Background Workers
approvals · partitions · cleanup
Notifications
Telegram
Slack
Discord
Email
Webhook
SQLAlchemy
Sessions
Database
PostgreSQL 16
partitioned events
Alembic
6 migrations
Cache
Redis 7
sessions · rate limits
Current Component Map
| Component | Current role |
|---|---|
edictum-api | Go backend for /v1/* routes |
edictum-app | React app for /home, /runs, /events, /audit, /agents, /policies, /approvals, /settings, /onboarding |
SDKs (edictum, edictum-ts, edictum-go) | Local rule evaluation, approval hooks, session state, optional server connection |
| PostgreSQL | Source of truth for workspaces, rulesets, runs, approvals, events, audit, and notifications |
Current Route Families
The current public API includes these route groups:
/v1/rulesets/v1/runs/v1/events/v1/audit/v1/approvals/v1/stream/v1/events/stream/v1/agents/v1/keys/v1/notifications/channels/v1/sample-run
Request Flow
- An agent evaluates rules locally.
- If it is server-backed, it fetches rulesets from
edictum-api. - The same agent posts events, approvals, and session state to
edictum-api. edictum-appreads that workspace data for operator views.- SSE keeps both browser views and server-backed agents current.
What Changed
The retired edictum-server docs described:
- one image serving API plus SPA together
- local password/session auth as the primary human auth model
- a large bundle/composition surface that is not the current public API
That is not the current public architecture.
Related
Last updated on