Architecture overview

Covey separates the control plane (stateful, always on) from the data plane (ephemeral sandboxes).

Control plane

A single Go binary with Postgres as its anchor. It unites scheduler/dispatcher, agent registry & org chart, backlog store, identity & secrets broker, guard-rail/policy engine and observability.

Data plane

Isolated, ephemeral sandboxes with a persistent home. The state lives in the control plane that orchestrates them.

Daemon protocol

Between control plane and sandbox runs a bidirectional protocol (WebSocket). It is the stable seam of the architecture: runtimes behind it are swappable (OpenHands, Harness, Claude Code …), the protocol stays the same.

Postgres as the anchor

One data store carries almost everything: state, backlog, RBAC, queue (SELECT … FOR UPDATE SKIP LOCKED), pub/sub (LISTEN/NOTIFY), memory (pgvector) and AES-GCM-encrypted secret columns.

Batteries included, but swappable

Every platform capability has a DB-backed built-in default and a thin interface for an external provider (e.g. IdentityProvider: builtin ↔ OIDC; SecretStore: builtin ↔ Vault). Operations run with builtin everywhere.