Skip to content
Documentation

Control plane overview.

Cordum runs a control plane on NATS and Redis. The scheduler routes jobs, the safety kernel enforces policy, and the workflow engine coordinates runs.

System Diagram
Clients/UI
  │
  ▼
API Gateway (HTTP/WS + gRPC)
  │ writes ctx/res/artifact pointers
  ▼
Redis (state, config, DLQ)
  │
  ▼
NATS bus (sys.* + job.*)
  │
  ├──▶ Scheduler (safety gate + routing)
  │       │
  │       └──▶ Safety Kernel (gRPC policy check)
  │
  ├──▶ External Workers
  │
  └──▶ Workflow Engine (run orchestration)
Core Components
API Gateway

HTTP/WS + gRPC for jobs, workflows, approvals, config.

Scheduler

Safety gate, routing, job state in Redis, retries, DLQ.

Safety Kernel

Check, evaluate, explain, and simulate policy decisions.

Workflow Engine

DAG orchestration, approvals, retries, and run timeline.

Context Engine

Optional gRPC memory service backed by Redis.

External Workers

Subscribe to job topics and publish results.

Bus Subjects
  • sys.job.submit
  • sys.job.result
  • sys.job.progress
  • sys.job.dlq
  • sys.job.cancel
  • sys.heartbeat
  • sys.workflow.event
  • job.* (pool subjects)
  • worker.<id>.jobs (direct)
Redis Keys
  • ctx:<job_id> and res:<job_id> pointers
  • job:meta:<job_id> and job indexes
  • wf:def:<workflow_id> and wf:run:<run_id>
  • wf:run:timeline:<run_id>
  • cfg:system:* config and policy bundles
  • dlq:entry:<job_id> and dlq:index