Skip to content
Technology How it works Breeder — Hyperion Burner — Aegis Burner — MetroVolt AI-Native Architecture Magnets Fuel cycle Safety Roadmap
Solutions AI & Data Centers Defense & Government Grid & Baseload Neutron Detection Quantum
Learn Technical Library
Proof Publications Whitepapers Technical Library Open Science & Reproducibility The Honest Gates
Company About / Mission Leadership Environment Health & Safety Investors Careers Press Contact
3D Model
AI Architecture › L4 · Orchestration
L4 · Orchestration

Commands vs Events (CQRS)

Commands are imperative requests that may be rejected; events are immutable facts that already happened. The stack keeps them strictly separate.

THE STACK · click to jumpL7Ecosystem & StrategyL6Experience & VisualizationL5Applications & CopilotsL4OrchestrationL3Twin Modeling & AIL2Data FabricL1Control PlaneL0Foundation▲tlmctl▼L4 · ORCHESTRATIONEvents, workflows, rules, and human routing.1Event Streamingthe backbone2Workflow Enginecampaign procedures3Rules & Safety Boundshard limits4Human-in-the-Loopapproval routing5Schedulerexperiment campaigns6Audit Busfull decision lineageMACHINE TIECoordinates L3 outputs with L5 copilots and human operators.KRONOS FUSION ENERGYAI-NATIVE S.M.A.R.T. GENERATORORCHESTRATIONSHEET 06REV. 2026-08L4 · AI-NATIVE STACK
L4 · Orchestration — its place in the stack (left, click any layer) and its internal components (right). Telemetry rises; control descends.

Two different things

A command is a request to change the machine: 'ramp coil PF3 to setpoint'. It is addressed to one handler, can be validated, and can be rejected. An event is an immutable record that something happened: 'coil PF3 reached setpoint'. It is broadcast, cannot be rejected, and is never mutated. Confusing the two is a common source of control-plane bugs; Layer 4 keeps them on separate topics with separate semantics.

AspectCommandEvent
moodimperativepast-tense fact
can rejectyesno
recipientsone handlermany consumers
mutableno (single-use)no (immutable)

CQRS separation

Command handling (the write path through the gating pipeline) is separated from query/read models built by consuming events. The read side, for instance a live breeder equilibrium view or a burner plug-field dashboard, is a projection rebuilt from the event log and never actuates anything. This keeps the safety-critical write path small and auditable while read models can be many and disposable.

Command lifecycle

text
command issued -> gated -> ACCEPTED or REJECTED
if ACCEPTED and actuator acts -> emits event(s): STARTED, PROGRESS, COMPLETED|FAILED
consumers build read models from events; they never re-issue the command

Why it matters here

Command emission is made reliable by the transactional outbox, and command uniqueness by idempotency keys.

Content reviewed August 2026 · design-and-simulation stage