The UCI messages Argus speaks.
The C2 Minimum Message Set is 262 messages. A-GRA requires correctness on the interactions a C2 application implements, not coverage of all of them, so Argus grows this set in tiers, in the order that best tests the pipeline.
Direction is from the point of view of Argus: out means Argus sends, in means Argus receives. Names are the UCI message types without their MT suffix.
Tier 0 — Envelope and session
Nothing works without these. Everything Argus sends rides inside a DataPayload command; everything it receives arrives inside a DataPayload.
| Message | Dir | Role | Status |
|---|---|---|---|
| MA_TxDataPayloadCommand | out | The envelope every outbound message rides in | Live |
| MA_RxDataPayload | in | The envelope every inbound message arrives in | Live |
| MA_TxDataPayloadCommandStatus | in | Transmission status from the bus | Planned |
| SystemStatus | in / out | Heartbeat both ways; inbound it classifies each platform | Live |
| Operator | in / out | Declares the operator role; the entry point to commanding | Planned |
| MA_OperatorRole | in / out | The role roster, broadcast on every change | Planned |
| MA_SystemNotification | in / out | COP acknowledgement out; unauthorized replies in | Planned |
Tier 1 — The picture
Three disjoint feeds, selected by message type: ownship, our own platforms, and the fused picture.
| Message | Dir | Role | Status |
|---|---|---|---|
| MA_PositionReportDetailed | in | Ownship only: the platform this console is aboard | Live |
| MA_PositionReport | in | Self-reports from each autonomous platform | Live |
| NavigationReport | in | Fuel and navigation state on the same stream | Planned |
| Entity | in / out | The fused picture from a COP leader; inbound first | Planned |
| PackageStatus | in | Team membership and health | Planned |
Tier 2 — First command: MA_FlightCommand
The best test of the pipeline: the only fully specified end-to-end status lifecycle, with accept, reject, an activity loop, and a counter-proposal.
| Message | Dir | Role | Status |
|---|---|---|---|
| MA_FlightCapability | in / out | What the platform can currently do; the second gate | Next |
| MA_FlightCapabilityStatus | in | Availability changes mid-mission | Next |
| MA_FlightCommand | out | The command: direct heading, speed and altitude, or waypoints | Next |
| MA_FlightCommandStatus | in | Received, accepted, or rejected | Next |
| MA_FlightActivity | in | Ongoing execution feedback | Next |
| MA_Task | in / out | The counter-proposal of the platform on rejection | Next |
Tier 3 — Return to base by plan activation
Cheap once Tier 2 exists and operationally essential. Activation acknowledges normally, so it reuses the same state machine.
| Message | Dir | Role | Status |
|---|---|---|---|
| MA_MissionPlanActivationCommand | out | Activate a pre-loaded plan, RTB included | Planned |
| MA_MissionPlanActivationCommandStatus | in | Accept or reject | Planned |
| MA_MissionPlanActivationStatus | in | Which plans are active | Planned |
| MA_MissionPlanExecutionStatus | in | Execution progress | Planned |
Tier 4 — Task-level command
Tell a platform what to achieve rather than how to fly. CAP first: positional, renders on a map, and carries no weapons path.
| Message | Dir | Role | Status |
|---|---|---|---|
| MA_Task | in / out | The task; CAP first, then Flight | Planned |
| MA_TaskStatus | in | Execution state | Planned |
| MA_CAP_ExecutionStatusReport | in | CAP-specific feedback | Planned |
| MA_TaskPlan | in / out | Task plan container | Planned |
Tier 5 — Obligations
Not commands, but a C2 node that ignores these is a broken peer. A platform may be blocked awaiting an approval it never gets.
| Message | Dir | Role | Status |
|---|---|---|---|
| MA_ApprovalRequest | in | The platform asks Argus to approve its own action | Planned |
| MA_ApprovalRequestStatus | out | The answer; the platform may be waiting on it | Planned |
| MissionContingencyAlert | in | Comms loss and other stateful conditions | Planned |
Deferred, with reasons
Strike and weapons employment
DeferredA Strike task pulls in target designation, release consent, engagement zones, shot queues, rules of engagement, and approval routing. A strike task without them is a half-wired weapons path, so it waits until the whole flow is in scope.
Mission plan upload
DeferredThe one operation with no success acknowledgement. Plan activation assumes plans are already loaded through the normal mission-data path.
Contributing tracks to fusion
DeferredEntity inbound is Tier 1. Publishing our own tracks to the COP leader comes later.
Everything else in the 262
DeferredSensor tasking, communications management, geozones, tactics, threat assessment, and debrief grow with adoption. The standard requires correctness on what is implemented, not coverage.
On the wire
Envelope
Every message is a JSON object keyed by its message name, carrying SecurityInformation, MessageHeader, and MessageData. Outbound rides inside MA_TxDataPayloadCommand; inbound arrives inside MA_RxDataPayload with the inner message hex-encoded in EncodedPayload.
Transport
OWP over WebSocket to the LA-CAL broker: INIT, PUB, SUB, and UNSUB out; +OK, -ERR, INFO, and MSG in. The session reconnects on its own and replays subscriptions.
Identity
UUIDs travel as bare 32-digit lowercase hex, the lexical form of the schema's 16-byte hexBinary type. Every participant on the bus mints its own and all of them agree on the form.