The Plant State API: A Governed Read Model
A high-fan-out read plane publishes a coherent, versioned snapshot of plant state drawn from the digital twin, never from raw control internals.
One coherent snapshot
External consumers need to know what the plant is doing without touching how it does it. The plant state API answers that. It publishes a versioned snapshot assembled from the L3 KRONOS-CTRL twin: current operating mode, power export, availability, key physics summaries, isotope production rates, and health rollups. The snapshot is internally consistent (all fields share one twin timestamp) so a consumer never sees a state stitched from different instants.
What is exposed, and what is not
The read model is a projection, not a firehose. It exposes decision-relevant summaries: for the breeder, instantaneous tritium and helium-3 production rate against the ~4 kg/yr and ~1.97 kg/yr classes, neutron flux availability for services, and breeding balance under the active TBR lever; for the burner, net export power, direct-energy-conversion efficiency, and plug status abstracted to a single confidence. Raw microsecond diagnostics, control gains, and model weights are never exposed.
# GET /v2/state -> coherent projection from the twin
{
'unit': 'hyperion-foak',
'twin_ts': '2030-05-01T12:00:00.000Z',
'mode': 'burn',
'availability': 0.0, # design-stage: twin-simulated
'breeder': {
'tritium_rate_kg_yr': 3.9, # ~4 kg/yr class
'he3_rate_kg_yr': 1.97,
'tbr_lever': 1.5, # 1.1 / 1.5 / 1.8
'neutron_service_flux': 'nominal'},
'confidence': 0.92
}
The read plane is cacheable and idempotent, so thousands of dashboards and AI agents can poll without loading control. Cache freshness is bounded and stamped; a consumer always knows the maximum age of what it reads. Streaming subscriptions are offered for consumers that need change-driven updates rather than polling.
Every field carries units and, where meaningful, uncertainty inherited from the twin's per-module confidence. This lets downstream AI consumers weight the data honestly rather than treating a low-confidence estimate as ground truth. Values in the design phase are twin-simulated and labeled as such; availability reads 0 until a unit is commissioned, so no operational claim is implied before FOAK.