Concepts
Six ideas carry most of the system. If you internalize these, every other page reads faster.
Tenant
A tenant is the unit of isolation and identity. Every API request is scoped to exactly one tenant, derived from the validated API key, never from the hostname. Each tenant gets a dedicated time-series database instance and a dedicated encryption key, so tenant data is physically separated, not just filtered. Disabled tenants fail closed. See Tenant isolation.
Fleet
A fleet is everything a tenant operates and observes: satellites, ground stations, data centers, and the links between them. The platform does not require a fleet schema up front; the fleet graph is projected from whatever telemetry you write, entity by entity, using the latest sample per entity. The console renders that graph on the globe and keeps every metric tied to one simulation clock.
The unified asset model
In the console, everything on the globe lives in a single asset registry, and the rule has teeth: provenance is metadata, never behavior. An asset's origin (oneweb operator fleet, gsaas ground-station catalog, catalog TLE constellation groups, import, chat, synthetic) controls labeling and disclosure only. What an asset can do is derived from its data as capabilities: telemetry (live, recorded, none), links, predictions, orbital elements, coverage analysis, editability. An uploaded TLE satellite propagates, renders, and scores through exactly the same pipeline as the operator fleet; the only difference is its badge. See Assets.
Measurement families
Telemetry records carry a free-form measurement name on write, but topology reads project five canonical families:
| Measurement | Represents |
|---|---|
link | Feeder and inter-satellite links |
satellite | Spacecraft state |
ground_station | Gateways and ground sites |
weather | Weather observations at sites (ingested platform-side) |
telemetry | General time-series metrics |
Reads on GET /topology accept only these five; anything else is rejected as invalid input. If you write derived or custom metrics, put them under telemetry with tags that identify them. See Data model.
Replay versus live
The console runs one simulation clock in two modes:
- Live pins the playhead to the newest stored sample and tracks incoming data, with an explicit indicator distinguishing live, stale, and disconnected.
- Replay samples a stored window at the playhead; scrubbing re-evaluates every sparkline, statistic, and card at that instant.
In both modes, every number on screen refers to the timeline instant, not wall time. Trend answers state the exact window and coverage they computed over.
Deterministic engines versus ML predictions
Two kinds of computation produce numbers in Constellation OS, and they are never blurred:
- Deterministic engines are pure functions of the scene: fleet statistics, link budgets, coverage and pass analysis, gateway-outage what-ifs, the P.618 rain model, siting and beam optimizers. Fixed steps, no randomness, stable ordering; the same inputs give the same numbers, which is what makes saved scenarios reproducible and reports auditable. See Determinism.
- ML predictions come from trained model families served by the platform. SNR is the production family; every forecast names the model and tier that produced it, and forecasts carry their age.
The assistant sits on top of both and follows the same rule: the model decides what to run, deterministic tools and named models decide what is true.
Provenance and honesty principles
A few conventions run through every surface, and the docs rely on them:
- Every value names its source (stored telemetry, deterministic engine, production model and tier, general baseline, labeled stub) or shows an explicit dash. Nothing is fabricated to fill a box.
- Synthetic assets are permanently labeled synthetic in every answer that touches them.
- Modeled results say they are modeled; re-derived geometry that can differ from stored links says so.
- Rain-degraded numbers are always presented next to clear-sky numbers, so sensitivity is visible as a delta.
- Partial imports, excluded assets, truncated windows, and low sample sizes are reported plainly instead of silently absorbed.