Operator Agent
The RotaStellar Operator Agent is a lightweight runtime that executes compute workloads on satellites. It uses a pull-based protocol designed for intermittent connectivity — agents operate autonomously and sync with Mission Control during contact windows.The Operator Agent is open source. See the GitHub repository for the Rust SDK.
Architecture
The agent runs on the satellite (or in simulation on a development machine). It communicates exclusively with the Console API — there is no direct connection to the CAE planner.How It Works
- Poll — Agent checks for pending workloads during contact windows
- Execute — Agent runs workload steps locally on the satellite
- Report — Agent streams execution events back to Console
- Telemetry — Agent sends periodic health/status heartbeats
Deployment Modes
| Mode | Description |
|---|---|
simulated | Console generates events from CAE plan data. No agent involved. Good for testing and demos. |
live | Agent polls, executes, and reports events. Real or hardware-in-the-loop execution. |
Event Types
The agent uses the same event format as the CAE simulator. Events track the full lifecycle of a workload execution:| Event | Description |
|---|---|
job.accepted | Workload received and queued |
placement.decided | Step placement decision (on-board vs ground) |
plan.created | Execution plan finalized |
step.started | Compute step begins |
step.progress | Progress update (25%, 50%, 75%) |
step.completed | Compute step finished |
transfer.started | Data transfer initiated |
transfer.completed | Data transfer finished |
checkpoint.saved | State checkpoint persisted |
security.encrypted | Data encrypted |
job.completed | All steps finished successfully |
job.failed | Execution failed |
constellation.step_assigned | DAG step assigned to satellite |
constellation.step_completed | DAG step finished |
constellation.failover | Step failed, reassigning |
isl_transfer.started | ISL data transfer initiated |
isl_transfer.completed | ISL transfer done |
checkpoint.predicted | Hazard prediction generated |

