Edictum
Edictum Control Plane

Ruleset Management

Remote ruleset delivery, version history, drift detection, and replay in Edictum Control Plane.

AI Assistance

Right page if: you need the live control-plane surface for uploading rulesets, viewing version history, replaying events, or checking drift. Wrong page if: you need the YAML syntax for writing rules -- see https://docs.edictum.ai/docs/rulesets/yaml-reference. For hot-reload and agent sync, see https://docs.edictum.ai/docs/control-plane/concepts/hot-reload. Gotcha: the control plane stores and serves rulesets. It does not execute Workflow Gates.

Edictum Control Plane is the optional server layer for remote ruleset delivery, approvals, and fleet visibility. Agents still enforce rules locally; the server gives you upload, history, replay, and drift tracking.

What It Stores

The live backend stores versioned rulesets. Each deployed ruleset record includes:

FieldDescription
nameRuleset name, used by agents to subscribe and by the UI to group versions
versionMonotonic version number
yaml_contentFull YAML text
revision_hashSHA-256 hash of the YAML
signatureEd25519 signature of the deployed ruleset
public_keyPublic verification key
deployed_atDeployment timestamp
deployed_envEnvironment the ruleset was deployed to

Ruleset Endpoints

The public API is ruleset-centric:

MethodPathPurpose
GET/v1/rulesetsList rulesets in the current workspace
GET/v1/rulesets/{name}Fetch the current ruleset by name
PUT/v1/rulesets/{name}Upload or replace a ruleset
GET/v1/rulesets/{name}/versionsView version history
GET/v1/rulesets/{name}/versions/{version}Fetch one saved version
GET/v1/rulesets/{name}/currentFetch the deployed YAML for the current environment
GET/v1/rulesets/{name}/replayReplay events against a ruleset version range

The UI uses the same data to render ruleset history, deployment status, and the diff view.

Upload Flow

Uploading a ruleset is simple:

  1. Author rules.yaml locally.
  2. Validate it with the core CLI.
  3. Upload it to PUT /v1/rulesets/{name}.
  4. The server stores a new version and pushes rulesets.updated over SSE.

That is the current public flow. There is no public rule library or composition API on the docs site.

Drift Detection

Agents report their current policy_version hash. The control plane compares that hash with the latest deployed ruleset for the agent's environment.

StatusMeaning
currentAgent hash matches the deployed ruleset
driftAgent hash differs and the agent is stale
unknownAgent did not report a ruleset hash

Drift is visible on the fleet monitoring page, and agents pick up the latest ruleset on the next SSE reconnect.

Replay

Replay is the server-side way to compare a candidate ruleset against a baseline event window. The docs API exposes it at:

  • GET /v1/rulesets/{name}/replay

Use it to compare verdict changes before promoting a new version.

Current Control Plane Docs

Security

The control plane is a security-critical surface.

  • Human auth: Clerk-backed operator traffic in the hosted app
  • API keys: workspace-scoped and one-way hashed
  • Workspace isolation: API reads and writes stay scoped
  • Ruleset signing: server-backed rulesets can be signed and verified
  • Fail closed: agents keep enforcing locally when remote coordination fails

Security model

Next Steps

Last updated on

On this page