Skip to main content

Agent Protocol Specification

Version: 0.1.0 The RotaStellar Agent Protocol defines how satellite-side agents communicate with the Console API. It is a pull-based protocol designed for intermittent satellite connectivity.

Authentication

All agent requests authenticate via API key in the X-API-Key header. The agent identifies itself via the X-Agent-ID header.
API keys are created in Mission Control under Developer > API Keys. Keys are hashed (SHA-256) server-side and compared against stored hashes. Keys can be revoked at any time from the Console.

Agent Lifecycle

1. Register

The agent registers with the Console on first startup. This creates or updates an agent record.
Request:
Response (201):
If the agent_id already exists for this user, the record is updated (upsert).

2. Poll for Workloads

The agent polls periodically for pending deployments assigned to its satellite.
Response (200) — Work available:
Response (204) — No work available. The agent should sleep for poll_interval_s and retry. The server returns the oldest pending deployment where:
  • mode = 'live'
  • satellite_id matches the agent’s registered satellite
  • status = 'pending'
On dispatch, the server updates the deployment status to dispatched.

3. Report Events

During execution, the agent reports events as they occur.
Request:
Response (201):
The server stores the event and updates the deployment status based on event type:
  • job.accepted (when dispatched) → deployment status = running
  • job.completed → deployment status = completed
  • job.failed → deployment status = failed

4. Report Telemetry

Agents send periodic heartbeats with health data.
Request:
Response (200):
All fields except agent_id, status, and timestamp are optional.

Event Types

All events follow this structure:

Lifecycle Events

Placement Events

Compute Events

Transfer Events

Security Events

Checkpoint Events

Orbital Compute Primitive Events

Eclipse, window, and pass steps emit specialized events. See Orbital Compute Primitives for details.

Constellation Events

Multi-satellite DAG orchestration events. See Constellation Execution for details.

ISL Transfer Events

Error Handling

All error responses follow this format:

Rate Limits

Versioning

The protocol version is included in the User-Agent header:
Breaking changes will increment the minor version until 1.0. After 1.0, semantic versioning applies.