Skip to content

Control Plane Architecture

The Runtime is the data plane. The Control Plane is optional governance above it.

This page is the architectural model for how a company Control Plane sits above Engineering Runtime binaries. Operator surfaces and editions live under the Control Plane tab.


Data plane and control plane

     Humans · AI Agents · CI/CD

              │

              ▼

     Engineering Runtime                 ← Data Plane
     (authenticate, context, policy,
      execute, audit — all local)

              │  optional HTTPS
              │  (client off by default)

              ▼

     Control Plane API                   ← Governance Plane
     (publish policy, ingest audit,
      fleet presence)

              │

              ▼

     Demo UI · Enterprise UI             ← Operator views only
Plane Owns Does not
Data plane (Runtime) Execution, local policy evaluation, local audit Depend on the Control Plane to run
Control plane (API + UIs) Shared policy, fleet view, central audit Execute engineering operations

The Data Plane executes. The Control Plane observes and distributes.


One shared API, two surfaces

There is a single Control Plane API with two path prefixes and the same Runtime-facing route shapes:

Surface Prefix Audience
Public / Community /api/public Demo Live mode, Community Runtime uplink
Enterprise /api/v1 App SaaS, enterprise Runtime uplink
portal.  (Live Demo)  ──►  /api/public/*  ──┐
                                            ├──  api.  (shared API)
app.     (Enterprise) ──►  /api/v1/*      ──┘

Hostnames today:

Host Role
api.engineeringruntime.com Shared Control Plane API
portal.engineeringruntime.com Demo UI (Static fixtures or Live Demo)
app.engineeringruntime.com Enterprise SaaS UI

UIs never become a second API. Both talk to api.; the Runtime client points portal.base_url at the API origin, not at a UI hostname.


What crosses the network

When the Runtime Control Plane client is enabled, exactly three calls happen under the configured path_prefix:

Direction Call When
Runtime → API POST …/audit After every local audit write (best-effort)
Runtime ← API GET …/policies?active=true On runtime portal sync only
Runtime → API POST …/fleet/heartbeat Once per process

Nothing else is required for governance to work locally.

publish policy (central)
        │
        ▼
runtime portal sync          ← explicit pull
        │
        ▼
policy-config.yaml (cache)
        │
        ▼
every command evaluates locally
command runs
        │
        ▼
local audit write            ← authoritative
        │
        ▼
optional uplink              ← best-effort, never blocks

Invariants (do not break these)

Invariant Meaning
No second execution path Capabilities and engines never target the Control Plane
Local evaluation A Control Plane outage cannot widen, narrow, or block a command
Local audit first Uplink failure must not turn success into failure
Explicit sync Bootstrap and ordinary commands do not pull policy implicitly
Optional Community / laptop use never requires a Control Plane

The Runtime keeps working when the Control Plane does not.


Where to go next

You want Go to
Operator view (Static / Live Demo, enterprise app) Take Me to the Portal
Community vs Enterprise editions Community and Enterprise
Why a company needs this layer Why Enterprises Need a Control Plane
Client config (path_prefix, env, sync) docs — Control Plane (Portal)

Design Principle

Policy is distributed centrally. Policy is enforced locally.

Central governance must never become a runtime dependency.