# Raft Warfighting Data Model

# Raft Warfighting Data Model (v1)

The Raft Warfighting Data Model (WDM) is a structured data model for tactical command and control. It provides a shared language for capturing the operational picture: what exists in the battlespace, what is being done about it, and why.

The model is designed for explicit interoperability. External references and typed payloads allow WDM records to bridge to other tactical data models, including OMS UCI messages, Cursor on Target (CoT) events, GCCS-J tracks, and others. See INTEROP.md for the adapter pattern and level-of-fidelity tradeoffs.

Ontology alignment with BFO and the Common Core Ontologies (CCO) provides a formal semantic foundation, enabling WDM records to participate in cross-domain knowledge representation and reasoning alongside other DoW and IC ontology-aligned systems.

The Raft Data Platform (RDP) provides the runtime for this model. RDP offers a federated data catalog, eventually-consistent mesh replication, data governance and distribution policies, and related platform services. WDM defines the structure, while RDP handles storage, transport, and access control. Every record carries security markings, provenance, and replication metadata so that data can be trusted, attributed, and shared across classification boundaries and disconnected networks.

## raft/wdm/v1/action.proto

An Action represents any directed activity, notification, or structured report shared across the mesh. The same message type can express a fire mission, an operations order, a contact alert, or a status report -- the scope and type fields control interpretation. Actions support hierarchical composition (orders containing phases containing tasks), typed dependencies and links to other actions, and typed links to the objects they involve. New use cases are added by defining new scope/type combinations rather than new proto definitions.

Action message
A flexible, self-describing record representing any directed activity, notification, or structured report shared across the warfighting mesh. Action is intentionally general. The `scope` and `type` fields control how the message is interpreted, and producers populate only the fields relevant to their context. Common patterns: TASK scope -- individual directed activities such as fire missions, ISR collection, movement orders. ORDER scope -- composite operations and directives with PHASE and TASK children via the hierarchy fields. ALERT scope -- time-critical notifications (e.g., contact, CBRN, MEDEVAC 9-line). Populate the `alert` field. REPORT scope -- structured observations and assessments (e.g., SPOTREP, SALUTE, etc.). Actions are immutable after creation except for state transitions, progress updates, BDA attachment, and approval chain progression. To change action content, cancel the existing action and create a new one.
Hide 35 properties
id string
Unique identifier.
security SecurityMarking
Classification and handling caveats.
name string
Short name used to refer to the action in displays and reports.
description string
Detailed description of the action.
type string
Free-form type identifier that classifies the action within its scope. The combination of `scope` and `type` together can determine how consumers interpret the action. Scope provides the broad category, while type refines it. There is no schema-enforced contract on valid values; producers and consumers should agree on a shared vocabulary for their integration context. Use lowercase snake_case by convention (e.g., "fire_mission", "contact", "sitrep"). Examples by scope: tasks might use "isr_collection", "movement", or "strike"; alerts might use "contact", "cbrn", or "medevac_9line"; reports might use "sitrep", "spotrep", or "intsum"; orders might use "execution_order" or "planning_order", etc.
scope ActionScope
Scope of this action in the planning hierarchy.
ontology Ontology
Semantic classification and formal ontology alignment.
labels LabelsEntry repeated
Extensible key-value metadata. Keys should follow a namespaced convention such as "domain.system.field" to avoid collisions.
parent_action_id string
ID of the parent action that this action is part of. Empty for top-level actions (e.g., a top-level operations order).
child_action_ids string repeated
IDs of child actions that compose this action. For example, an ORDER-scoped action may have PHASE children, each of which may contain TASK children.
links ActionLink repeated
Typed links to other actions. Covers both scheduling constraints (e.g., "do not start until action X finishes") and non-scheduling relationships (e.g., "this action supersedes action Y").
state ActionState
Current lifecycle state of the action.
priority ActionPriority
Execution priority.
progress ActionProgress
Current execution progress.
requested_by Principal
Principal that originated the action request.
assigned_to Principal
Principal responsible for executing the action.
authorized_by Principal
Principal that approved the action for execution. May differ from the requestor (e.g., fires require commander approval).
intent Intent
Intent: why this action exists and what good looks like on completion.
kill_chain_phase F3eadPhase
Current phase of the F3EAD targeting cycle.
target_nomination TargetNomination
Target nomination data. Populated when the action nominates a target for engagement.
bda BattleDamageAssessment
Battle damage assessment captured during or after execution.
area_of_operations SpatialGeometry
Geographic area of operations for this action. Any SpatialGeometry variant is acceptable (polygon for an AO, circle for a target radius, rectangle for a kill box).
route Route
Planned or actual route followed during action execution.
not_before Timestamp
Earliest time at which the action may begin execution.
not_after Timestamp
Latest time by which the action must complete.
object_links ObjectLink repeated
Typed links to objects involved in this action. Each link carries the object's ID and a type describing its role (e.g., target, asset, or general association).
details Struct
Action-specific metadata as loosely-typed structured data. Follow the @type convention with a fully qualified type identifier (e.g., "raft.wdm.v1.ext.FireAction", "com.acme.IsrCollectionPlan"). Prefer strongly-typed fields over `details` when available.
external_refs ExternalReference repeated
References to representations of this action in external systems (e.g., AFATDS fire mission, ISR order, etc.).
attachments Attachment repeated
File attachments associated with this action. WDM stores pointers, not contents; binary upload happens out of band against the platform object store.
provenance ProvenanceRecord
Data lineage and source attribution for trust assessment. Required on every publish.
replication ReplicationMetadata
Mesh replication metadata. Read-only; populated by the platform.
ml_annotations MachineLearningAnnotation repeated
Machine learning annotations attached to this action (e.g., automated target recommendation, ML-derived priority).
catalog CatalogReference
Reference to this action's position in the Raft Data Platform catalog (data source, connection, dataset).
alert AlertData
Alert-specific data.
warfighting_functions WarfightingFunction repeated
Doctrinal warfighting function(s) this activity is exercising (ADP 3-0 / JP 3-0). Tag every applicable function; an empty list means no doctrinal function is asserted. Activities may routinely span multiple functions.
LabelsEntry message
Hide 2 properties
key string
value string
ActionLink message
A typed link from this action to another action. Covers both scheduling constraints (sequencing between actions) and non-scheduling relationships (causality, supersession, coordination).
Hide 2 properties
action_id string
ID of the referenced action.
type ActionLinkType
Classification of the link.
ActionProgress message
Execution progress within a action's current state.
Hide 4 properties
phase string
Execution phase within the current state. Free-form upper snake-case string defined by the client; the server treats the value as opaque. Example: "SHOT", "SPLASH", "ON_STATION".
status_message string
Human-readable status message describing current progress.
metadata Struct
Additional structured progress data. Follows the same @type convention as Action.details.
updated_at Timestamp
Server-assigned timestamp recording when this progress was captured. Read-only.
AlertData message
Alert-specific fields for scope = ALERT actions. An alert is a time-critical notification published to the mesh. Most alert data lives on standard Action fields (see the field comment on Action.alert for the mapping). This message captures what is unique to alerts: severity, category, response guidance, and lifecycle signals (all-clear, supersession). Examples: Contact -- scope=ALERT, type="contact", priority=CRITICAL, alert.severity=CRITICAL, alert.category=ALERT_CATEGORY_CONTACT, alert.response_instructions="QRF RTB to CP ALPHA", area_of_operations=(point at contact location), object_ids=[""]. CBRN -- scope=ALERT, type="cbrn", priority=CRITICAL, alert.severity=CRITICAL, alert.category=ALERT_CATEGORY_CBRN, alert.response_instructions="MOPP 4", area_of_operations=(hazard area polygon). MEDEVAC 9-line -- scope=ALERT, type="medevac_9line", priority=HIGH, alert.severity=HIGH, alert.category=ALERT_CATEGORY_MEDEVAC, alert.affected_count=2, area_of_operations=(point at pickup zone). Blue-on-blue -- scope=ALERT, type="blue_on_blue", priority=CRITICAL, alert.severity=CRITICAL, alert.category=ALERT_CATEGORY_BLUE_ON_BLUE, object_ids=["", ""], alert.response_instructions="CEASE FIRE grid AB1234567890".
Hide 7 properties
severity AlertSeverity
Assessed impact severity, independent of handling priority. A routine weather advisory may be LOW severity / LOW priority; a contact report is CRITICAL severity / CRITICAL priority.
category AlertCategory
Broad alert category. Determines which optional fields are relevant and helps the platform route the alert.
response_instructions string
What recipients should do in response.
all_clear bool
True when the condition that triggered the alert has been resolved. Publish a new version of the action with all_clear=true and state=COMPLETED to signal resolution.
supersedes_action_id string
ID of a previous alert action that this one supersedes. Use when issuing a corrected or updated alert for the same event.
source AlertSource
Source of the alert (human, sensor, automated system).
affected_count uint32 optional
Number of personnel affected by this alert (e.g., casualties, exposed individuals, isolated personnel).
BattleDamageAssessment message
Battle damage assessment captured during or after action execution.
Hide 8 properties
level BdaLevel
Assessed damage level.
confidence double optional
Confidence in the damage assessment. Range: 0.0 to 1.0.
methodology string
Assessment methodology (e.g., "visual from platform", "imagery review", "SIGINT change", "HUMINT report").
functional_status FunctionalStatus
Assessed functional status of the target after engagement.
reattack_recommendation ReattackRecommendation
Whether reattack is recommended.
notes string
Free-form analytical notes.
assessor Principal
Principal that conducted the assessment.
assessed_at Timestamp
Time at which the assessment was completed.
Intent message
A concise, informational expression of the purpose of an action, the desired end state, and any constraints on execution.
Hide 6 properties
purpose string
Why the action is being executed. Answers "why".
method string
The broad scheme for achieving the purpose. Answers "how".
end_state string
The desired condition on action completion.
key_actions string repeated
Operationally critical actions that must happen for the action to succeed. Listed in priority order.
constraints string repeated
Constraints placed on the execution (time windows, geographic restrictions, weapon releases, collateral damage limits).
restrictions string repeated
Explicit restrictions on what must not happen (e.g., "no fires within 500m of FLOT", "no engagement without PID").
ObjectLink message
A typed link from this action to an object, describing the object's role in the action.
Hide 2 properties
object_id string
ID of the referenced object.
type ObjectLinkType
Role this object plays in the action.
Route message
A planned or actual route for action execution. Captures an ordered list of waypoints, along with optional cross reference to a structured polyline geometry for map rendering. Routes are action-specific; general-purpose linear control measures (MSRs, phase lines) belong on a Object with category CONTROL_MEASURE.
Hide 5 properties
kind RouteKind
Kind of route: planned, actual, or alternate.
waypoints RouteWaypoint repeated
Ordered waypoints defining the route.
polyline Polyline
Optional rendered polyline for map display. When populated, its positions should correspond to the waypoint positions.
total_distance_meters double optional
Total planned distance in meters.
total_duration_seconds double optional
Planned total duration in seconds.
RouteWaypoint message
A single waypoint on a route.
Hide 7 properties
order uint32
Ordered position of this waypoint (1-indexed).
label string
Human-readable label (e.g., "IP", "CP ALPHA", "TGT").
position Position
Geographic position.
planned_time Timestamp
Planned arrival time at the waypoint.
planned_speed_mps double optional
Planned speed over ground in meters per second.
planned_altitude_hae_meters double optional
Planned altitude at the waypoint (HAE meters).
action string
Action to be performed at the waypoint.
TargetNomination message
Nomination data for a target engagement action.
Hide 4 properties
target_number string
Target number or identifier issued by the nominating agent.
category TargetCategory
Category of target (e.g., HPT, HVT, fleeting, planned, dynamic).
desired_effect DesiredEffect
Desired effect on the target (e.g., destroy, neutralize, suppress, harass, disrupt, degrade).
notes string
Free-form notes captured during target development.
ActionLinkType enum
Classification of a link between two actions. The first four values describe scheduling constraints -- how the lifecycle of one action gates another. FINISH_TO_START is by far the most common. The remaining values describe non-scheduling relationships such as causality, replacement, and coordination.
ACTION_LINK_TYPE_UNSPECIFIED = 0
ACTION_LINK_TYPE_FINISH_TO_START = 1 This action should not start until the referenced action finishes. The most common scheduling link (e.g., "begin the ground assault only after the preparatory fires phase completes").
ACTION_LINK_TYPE_START_TO_START = 2 This action should start when the referenced action starts. Used for coordinated, concurrent execution (e.g., "begin electronic jamming when the ground assault starts").
ACTION_LINK_TYPE_FINISH_TO_FINISH = 3 This action should not finish until the referenced action finishes. Used when one action must sustain for the duration of another (e.g., "maintain suppressive fires until the breaching element completes its task").
ACTION_LINK_TYPE_START_TO_FINISH = 4 This action should finish before the referenced action should start (e.g., "route clearance must finish before the convoy departs").
ACTION_LINK_TYPE_TRIGGERED_BY = 5 This action was created as a result of the referenced action (e.g., a contact alert triggering a QRF task).
ACTION_LINK_TYPE_SUPERSEDES = 6 This action replaces the referenced action. The referenced action should be treated as obsolete.
ACTION_LINK_TYPE_DERIVED_FROM = 7 This action is based on or informed by the referenced action (e.g., a follow-on strike derived from an ISR collection).
ACTION_LINK_TYPE_COORDINATES_WITH = 8 This action should be deconflicted with the referenced action (e.g., overlapping airspace, shared frequency, adjacent maneuver).
ActionPriority enum
Action execution priority. Aligns with military message precedence levels. Higher priority actions should preempt lower priority work.
ACTION_PRIORITY_UNSPECIFIED = 0
ACTION_PRIORITY_LOW = 1 Routine
ACTION_PRIORITY_MEDIUM = 2 Priority
ACTION_PRIORITY_HIGH = 3 Immediate
ACTION_PRIORITY_CRITICAL = 4 Flash
ActionScope enum
Scope of an action in the planning hierarchy. Actions can stand alone or compose into a tree via the parent_action_id and child_action_ids fields. When composed, a DIRECTIVE or ORDER typically sits at the root, PHASE nodes group execution into sequential or parallel stages, and TASK / SUB_TASK leaves represent individual directed activities. Flat actions (e.g., a standalone alert or report) simply omit the hierarchy fields.
ACTION_SCOPE_UNSPECIFIED = 0
ACTION_SCOPE_DIRECTIVE = 1 High-level strategic guidance or directives.
ACTION_SCOPE_ORDER = 2 Operational order or directive (e.g., execution orders, planning orders, amendments).
ACTION_SCOPE_PLAN = 3 Named campaign or operation plan.
ACTION_SCOPE_PHASE = 4 Temporal or functional phase within an order or plan.
ACTION_SCOPE_TASK = 5 Individual directed activity (e.g., fire mission, ISR collect, patrol).
ACTION_SCOPE_SUB_TASK = 6 Subordinate step within a task.
ACTION_SCOPE_ALERT = 7 Time-critical notification (e.g., contact, CBRN, blue-on-blue, MEDEVAC).
ACTION_SCOPE_REPORT = 8 Structured observation or assessment (e.g., SPOTREP, SALUTE, etc.).
ActionState enum
Action lifecycle states. State transitions follow a general flow: DRAFT -> PENDING -> APPROVED -> ASSIGNED -> ACKNOWLEDGED -> PLANNED -> IN_PROGRESS -> COMPLETED Terminal states (final, cannot be changed): - COMPLETED: Successfully finished - FAILED: Execution failed - CANCELLED: Cancelled (the deletion mechanism for actions) - REJECTED: Refused by assignee
ACTION_STATE_UNSPECIFIED = 0
ACTION_STATE_DRAFT = 1 Being composed; not yet submitted.
ACTION_STATE_PENDING = 2 Submitted, awaiting approval.
ACTION_STATE_APPROVED = 3 Approved by authority, not yet assigned.
ACTION_STATE_ASSIGNED = 4 Assigned to executing principal.
ACTION_STATE_ACKNOWLEDGED = 5 Executing principal acknowledged receipt of the action.
ACTION_STATE_PLANNED = 6 Executing principal has developed an execution plan.
ACTION_STATE_IN_PROGRESS = 7 Currently being executed.
ACTION_STATE_PAUSED = 8 Execution temporarily halted.
ACTION_STATE_COMPLETED = 9 Successfully completed (terminal).
ACTION_STATE_FAILED = 10 Failed to complete (terminal).
ACTION_STATE_CANCELLED = 11 Cancelled; this is the deletion mechanism for actions (terminal).
ACTION_STATE_REJECTED = 12 Rejected by assignee (terminal).
AlertCategory enum
Broad classification of the alert condition.
ALERT_CATEGORY_UNSPECIFIED = 0
ALERT_CATEGORY_CONTACT = 1 Enemy contact (troops in contact, direct/indirect fire, ambush).
ALERT_CATEGORY_CBRN = 2 Chemical, biological, radiological, or nuclear event.
ALERT_CATEGORY_BLUE_ON_BLUE = 3 Friendly-on-friendly engagement.
ALERT_CATEGORY_MEDEVAC = 4 Medical evacuation request (9-line format).
ALERT_CATEGORY_AIRSPACE_VIOLATION = 5 Unauthorized airspace entry or violation.
ALERT_CATEGORY_LOST_LINK = 6 Loss of communications link to a node or unit.
ALERT_CATEGORY_HOSTILE_FIRE = 7 Hostile fire / indirect fire alert.
ALERT_CATEGORY_IED_UXO = 8 IED or unexploded ordnance detected.
ALERT_CATEGORY_WEATHER = 9 Significant weather impacting operations.
ALERT_CATEGORY_FORCE_PROTECTION = 10 Force protection / base defense alert.
ALERT_CATEGORY_CYBER = 11 Cyber event affecting tactical systems.
ALERT_CATEGORY_EW = 12 Electronic warfare detection (jamming, spoofing).
ALERT_CATEGORY_DOWNED_AIRCRAFT = 13 Downed aircraft.
ALERT_CATEGORY_PERSONNEL_RECOVERY = 14 Personnel recovery (isolated personnel).
ALERT_CATEGORY_OTHER = 15 Catch-all for alert types not covered above.
AlertSeverity enum
Alert severity -- assessed impact of the condition, independent of handling priority.
ALERT_SEVERITY_UNSPECIFIED = 0
ALERT_SEVERITY_LOW = 1 Informational, no immediate impact.
ALERT_SEVERITY_MODERATE = 2 Localized impact, monitor.
ALERT_SEVERITY_HIGH = 3 Significant impact, action needed.
ALERT_SEVERITY_CRITICAL = 4 Life-threatening or mission-critical.
AlertSource enum
How the alert was generated.
ALERT_SOURCE_UNSPECIFIED = 0
ALERT_SOURCE_HUMAN = 1 Manually issued by a warfighter.
ALERT_SOURCE_SENSOR = 2 Automated sensor detection.
ALERT_SOURCE_SYSTEM = 3 Platform-generated (e.g., link loss).
ALERT_SOURCE_FUSED = 4 Multi-source fusion / correlation.
BdaLevel enum
Physical damage level assessment.
BDA_LEVEL_UNSPECIFIED = 0
BDA_LEVEL_NO_DAMAGE = 1
BDA_LEVEL_LIGHT = 2
BDA_LEVEL_MODERATE = 3
BDA_LEVEL_SEVERE = 4
BDA_LEVEL_DESTROYED = 5
DesiredEffect enum
Desired effect on a target. Aligned with JP 3-60 effect terms.
DESIRED_EFFECT_UNSPECIFIED = 0
DESIRED_EFFECT_DESTROY = 1
DESIRED_EFFECT_NEUTRALIZE = 2
DESIRED_EFFECT_SUPPRESS = 3
DESIRED_EFFECT_HARASS = 4
DESIRED_EFFECT_DISRUPT = 5
DESIRED_EFFECT_DEGRADE = 6
DESIRED_EFFECT_DENY = 7
DESIRED_EFFECT_DECEIVE = 8
DESIRED_EFFECT_DIVERT = 9
DESIRED_EFFECT_INFLUENCE = 10
F3eadPhase enum
Phase of the F3EAD targeting cycle. F3EAD is a continuous targeting methodology that couples intelligence (Find, Fix, Exploit, Analyze, Disseminate) with operations (Finish). actions are tagged with their current phase so planners can visualize the kill chain across active actions.
F3EAD_PHASE_UNSPECIFIED = 0
F3EAD_PHASE_FIND = 1 Locate and identify a target
F3EAD_PHASE_FIX = 2 Maintain continuous track / positive ID
F3EAD_PHASE_FINISH = 3 Engage or otherwise affect the target
F3EAD_PHASE_EXPLOIT = 4 Extract value from site/materiel/persons
F3EAD_PHASE_ANALYZE = 5 Derive intelligence from exploitation
F3EAD_PHASE_DISSEMINATE = 6 Publish products and lessons learned
FunctionalStatus enum
Functional status of a target after engagement.
FUNCTIONAL_STATUS_UNSPECIFIED = 0
FUNCTIONAL_STATUS_FULLY_FUNCTIONAL = 1
FUNCTIONAL_STATUS_DEGRADED = 2
FUNCTIONAL_STATUS_NON_FUNCTIONAL = 3
FUNCTIONAL_STATUS_UNKNOWN = 4
ObjectLinkType enum
Classification of an object's role in an action.
OBJECT_LINK_TYPE_UNSPECIFIED = 0
OBJECT_LINK_TYPE_RELATED = 1 General association. The object is related to the action but does not fit a more specific role.
OBJECT_LINK_TYPE_TARGET = 2 The object is the target of the action (the effect recipient).
OBJECT_LINK_TYPE_ASSET = 3 The object is an asset assigned to execute the action (the effect producer -- e.g., a firing unit, sensor, or vehicle).
ReattackRecommendation enum
Reattack recommendation.
REATTACK_RECOMMENDATION_UNSPECIFIED = 0
REATTACK_RECOMMENDATION_NOT_REQUIRED = 1
REATTACK_RECOMMENDATION_RECOMMENDED = 2
REATTACK_RECOMMENDATION_MANDATORY = 3
RouteKind enum
Kind of route captured on a action.
ROUTE_KIND_UNSPECIFIED = 0
ROUTE_KIND_PLANNED = 1 Pre-execution planned route
ROUTE_KIND_ACTUAL = 2 Actual route flown or driven
ROUTE_KIND_ALTERNATE = 3 Alternate or contingency route
TargetCategory enum
Broad classification of a nominated target.
TARGET_CATEGORY_UNSPECIFIED = 0
TARGET_CATEGORY_HPT = 1 High Payoff Target: a target whose loss will contribute substantially to the success of the friendly course of action.
TARGET_CATEGORY_HVT = 2 High Value Target: a target the enemy commander requires for the successful completion of the action.
TARGET_CATEGORY_PLANNED = 3 Planned target: identified in advance of execution with time and place known.
TARGET_CATEGORY_DYNAMIC = 4 Dynamic target: identified during execution and engaged within the targeting cycle.
TARGET_CATEGORY_TARGET_OF_OPPORTUNITY = 5 Target of opportunity: not anticipated, engaged when available.
TARGET_CATEGORY_TIME_SENSITIVE = 6 Time-sensitive target: requires immediate engagement to preclude loss of opportunity.

## raft/wdm/v1/assessment.proto

Assessment message
Warfighter's tactical assessment of a warfighting object. This is ASSESSED affiliation and identity, not ground truth. The actual identity may differ. Drives MIL-STD-2525 symbology, engagement authorization, and rules of engagement application.
Hide 6 properties
affiliation Affiliation
Affiliation determination: friend, hostile, neutral, unknown, etc.
environment Environment
Operating environment or domain.
nationality string
Country of allegiance as ISO 3166-1 alpha-3 (e.g., "USA", "GBR").
confidence_level double optional
Confidence in this assessment. Range: 0.0 to 1.0.
source_reliability SourceReliability
NATO standard source reliability rating. Rates the source that provided the information underlying this assessment.
information_credibility InformationCredibility
NATO standard information credibility rating. Rates the information itself. Combined with source_reliability, yields the standard alphanumeric intelligence rating (e.g., "B2").
Affiliation enum
Affiliation / standard identity per MIL-STD-2525.
AFFILIATION_UNSPECIFIED = 0
AFFILIATION_PENDING = 1 Awaiting identification
AFFILIATION_UNKNOWN = 2 Cannot be determined
AFFILIATION_ASSUMED_FRIEND = 3 Assumed friendly (unconfirmed)
AFFILIATION_FRIEND = 4 Positively identified friendly
AFFILIATION_NEUTRAL = 5 Neither friend nor threat
AFFILIATION_SUSPECT = 6 Potentially hostile
AFFILIATION_HOSTILE = 7 Declared hostile per ROE
AFFILIATION_JOKER = 8 Friendly acting as hostile (exercise)
AFFILIATION_FAKER = 9 Hostile acting as friendly (exercise)
Environment enum
Operating environment or domain.
ENVIRONMENT_UNSPECIFIED = 0
ENVIRONMENT_SPACE = 1 Exoatmospheric
ENVIRONMENT_HIGH_ALTITUDE = 2 Above 50,000 ft
ENVIRONMENT_MEDIUM_ALTITUDE = 3 10,000 - 50,000 ft
ENVIRONMENT_LOW_ALTITUDE = 4 Below 10,000 ft
ENVIRONMENT_SURFACE = 5 Ground or sea surface
ENVIRONMENT_SUBSURFACE = 6 Underwater
ENVIRONMENT_UNDERGROUND = 7 Tunnels, bunkers

## raft/wdm/v1/aviation.proto

AviationInfo message
Aviation-domain attributes sourced from ADS-B, flight plans, radar, and Link-16.
Hide 10 properties
aircraft_type string
Aircraft type designation. Example: "F-35A Lightning II", "C-17A Globemaster III".
icao_type string
ICAO type designator (e.g., "B738", "F35").
wake_category WakeCategory
Wake turbulence category.
registration string
Tail number or registration.
operator string
Operating unit, command, or organization.
flight_number string
Callsign or flight number (e.g., "REACH 421", "EVAC 01").
origin string
Departure airport (ICAO code).
destination string
Destination airport (ICAO code).
emergency EmergencyStatus
Emergency status from transponder.
vertical_mode VerticalMode
Vertical flight mode.
EmergencyStatus enum
Aircraft emergency status derived from transponder codes.
EMERGENCY_STATUS_UNSPECIFIED = 0
EMERGENCY_STATUS_NONE = 1
EMERGENCY_STATUS_GENERAL = 2 Squawk 7700
EMERGENCY_STATUS_MEDICAL = 3
EMERGENCY_STATUS_FUEL = 4
EMERGENCY_STATUS_NO_COMM = 5 Squawk 7600
EMERGENCY_STATUS_HIJACK = 6 Squawk 7500
VerticalMode enum
Aircraft vertical flight mode.
VERTICAL_MODE_UNSPECIFIED = 0
VERTICAL_MODE_LEVEL = 1
VERTICAL_MODE_CLIMBING = 2
VERTICAL_MODE_DESCENDING = 3
WakeCategory enum
ICAO wake turbulence category.
WAKE_CATEGORY_UNSPECIFIED = 0
WAKE_CATEGORY_LIGHT = 1 < 7,000 kg
WAKE_CATEGORY_MEDIUM = 2 7,000 - 136,000 kg
WAKE_CATEGORY_HEAVY = 3 > 136,000 kg
WAKE_CATEGORY_SUPER = 4 C-5M, An-124

## raft/wdm/v1/cbrn.proto

CbrnInfo message
Chemical, biological, radiological, and nuclear hazard data. Applicable to objects representing CBRN detections, contamination zones, hazard predictions, and NBC reporting events. Pairs with the parent object's geometry or shape to represent the spatial extent of contamination or hazard areas. Reference: Army FM 3-11 (Chemical, Biological, Radiological, and Nuclear Operations); ATP 3-11.37 (Multi-service Tactics, Techniques, and Procedures for Chemical, Biological, Radiological, and Nuclear Reconnaissance and Surveillance).
Hide 8 properties
agent_category CbrnAgentCategory
Broad agent classification.
agent_name string
Specific agent name or identifier. Examples: "VX", "GB", "Cs-137", "Bacillus anthracis".
concentration double optional
Measured concentration at the detection point. Units depend on agent category: chemical in mg/m^3, radiological in mSv/hr or Bq/m^3, biological in agent-specific units.
dose_rate_msv_hr double optional
Dose rate at the detection point in mSv/hr. Primarily for radiological detections.
persistency CbrnPersistency
Agent persistence classification.
report_type NbcReportType
NBC report type represented by this object.
detector_type string
Detector or sensor that produced the reading.
zone_type CbrnZoneType
Contamination zone classification when the object represents an area.
CbrnAgentCategory enum
Broad CBRN agent classification.
CBRN_AGENT_CATEGORY_UNSPECIFIED = 0
CBRN_AGENT_CATEGORY_CHEMICAL_NERVE = 1 G-series, V-series
CBRN_AGENT_CATEGORY_CHEMICAL_BLISTER = 2 Mustard, lewisite
CBRN_AGENT_CATEGORY_CHEMICAL_BLOOD = 3 Cyanide compounds
CBRN_AGENT_CATEGORY_CHEMICAL_CHOKING = 4 Phosgene, chlorine
CBRN_AGENT_CATEGORY_BIOLOGICAL = 5 Bacteria, viruses, toxins
CBRN_AGENT_CATEGORY_RADIOLOGICAL = 6
CBRN_AGENT_CATEGORY_NUCLEAR = 7
CBRN_AGENT_CATEGORY_TIC = 8 Toxic industrial chemicals
CbrnPersistency enum
Agent persistence classification.
CBRN_PERSISTENCY_UNSPECIFIED = 0
CBRN_PERSISTENCY_PERSISTENT = 1 Hazardous for more than 24 hours
CBRN_PERSISTENCY_NON_PERSISTENT = 2 Dissipates within minutes to hours
CbrnZoneType enum
Contamination zone classification.
CBRN_ZONE_TYPE_UNSPECIFIED = 0
CBRN_ZONE_TYPE_IMMEDIATE_HAZARD = 1 Immediately dangerous to life/health
CBRN_ZONE_TYPE_VAPOR_HAZARD = 2 Downwind vapor hazard area
CBRN_ZONE_TYPE_RESIDUAL = 3 Residual contamination requiring monitoring
CBRN_ZONE_TYPE_HOT = 4 Active contamination; full MOPP required
CBRN_ZONE_TYPE_WARM = 5 Decontamination corridor
CBRN_ZONE_TYPE_COLD = 6 Clean support area
NbcReportType enum
Army NBC report types per FM 3-11.
NBC_REPORT_TYPE_UNSPECIFIED = 0
NBC_REPORT_TYPE_NBC_1 = 1 Initial warning of CBRN attack or hazard.
NBC_REPORT_TYPE_NBC_2 = 2 Evaluated CBRN data.
NBC_REPORT_TYPE_NBC_3 = 3 Warning of expected contamination.
NBC_REPORT_TYPE_NBC_4 = 4 Monitoring and survey results.
NBC_REPORT_TYPE_NBC_5 = 5 Area of contamination summary.
NBC_REPORT_TYPE_NBC_6 = 6 Detailed CBRN attack information.

## raft/wdm/v1/common.proto

Shared types used across Objects and Actions: principals, external references, provenance, replication metadata, machine learning annotations, attachments, and catalog references.

Attachment message
A reference to a file associated with a warfighting record. WDM stores metadata and a URI pointer; the file contents reside in the platform's object store. Binary upload happens out of band (clients write to the object store directly) and this message captures only the resulting metadata needed to locate, integrity check, and lifecycle the blob alongside the record that references it. Examples include imagery, video clips, audio, and documents.
Hide 8 properties
uri string
URI to the file. Examples: "s3://bucket/bda/target-001.jpg", "s3://rdp/attachments/report-003.pdf".
kind AttachmentKind
Broad file classification.
content_type string
MIME type per IANA Media Types registry. Examples: "image/jpeg", "video/mp4", "application/pdf".
captured_at Timestamp
When the file was captured or created.
caption string
Short human-readable caption.
size_bytes uint64 optional
File size in bytes, if known.
content_digest string
Content digest for integrity verification and deduplication, formatted as "algorithm:hex-encoded-value" (e.g., "sha256:a1b2c3..."). Consumers parse the prefix to determine the hash algorithm.
expiry_time Timestamp
Future time at which this attachment expires and is eligible for deletion from the platform object store. Unset means the attachment does not have an explicit expiry and follows the containing record's lifecycle and retention policy.
CatalogReference message
Reference to a record's position in the Raft Data Platform catalog. The catalog is hierarchically composed of data sources, connections (configured enablements of a data source), and datasets. Each record that enters the platform originates from a data source, is delivered through a specific connection, and belongs to a dataset. Catalog identifiers are scoped to a specific RDP node. A dataset identifier on one node does not necessarily refer to the same dataset on another node unless the catalog has been explicitly federated between them. Consumers that resolve catalog references across the mesh must first confirm federation status for the scope node; absent federation, the identifiers should be treated as opaque foreign references. An empty string for any identifier indicates that the field is not applicable or not known for this record.
Hide 3 properties
data_source_id string
Identifier of the data source in the catalog (the upstream provider). Examples: "af-weather", "aistream".
connection_id string
Identifier of the connection (configured enablement) that delivered this record. A single data source may have multiple connections (different regions, credentials, or feeds). Examples: "aistream-prod-us", "af-weather-conus".
dataset_id string
Identifier of the dataset the record belongs to. Examples: "ais-tracks-se-us", "weather-florida", "intel-reports-indopacom".
ExternalReference message
A reference to a record or object held in an external data model or system of record. Provides a uniform way to link a Raft warfighting record to its representation in another data model (e.g., GCCS-J ETF track, JREAP track, CoT event, OMS UCI message, etc.) without hard-coding one field per integration target. Consumers use `type_url` to decide how to interpret the `payload`, and `external_id` + `source_system` to resolve the record in its home system. ExternalReference is one of WDM's mechanisms for transporting arbitrary data across the mesh within the WDM envelope. As a guideline: use external_refs when the data has a known protobuf type or needs to reference a specific external system, details for small untyped payloads, and attachments for anything too large to replicate inline.
Hide 6 properties
type_url string
Fully qualified type identifier for the referenced record. Follows google.protobuf.Any type URL convention when the referenced object is a protobuf message (e.g., "type.googleapis.com/full.type.name"). For non-protobuf external models, a reverse-DNS identifier is acceptable (e.g., "mil.gccsj.ETF", "mil.atak.CoTEvent", "mil.jreap.Track").
external_id string
Identifier of the referenced record in its originating system. Opaque to WDM; meaning is defined by the source system.
source_system string
Name of the originating system or data model holding the record. Example: "gccs-pacom", "jreap-link-16".
payload Any
Optional in-line copy of the referenced record. When present, carries the serialized payload so downstream consumers can operate on the external record without a follow-up fetch. The message type must match `type_url` when the payload is a protobuf message. Leave unset when the reference is a pointer only.
captured_at Timestamp
Timestamp at which the external record was captured, fetched, or mirrored into this reference. Distinct from the underlying record's own update time, which lives inside the payload.
label string
Optional human-readable label for the reference. Useful when a record has multiple external references and an operator needs context at a glance.
MachineLearningAnnotation message
Machine learning annotation for a warfighting record. When a record is produced or modified by an ML component (classifier, detector, tracker, foundation model), this message captures the model identity, inference metadata, and human review state so downstream consumers can audit the chain of automated decisions, apply trust policies, and route records through human-in-the-loop review workflows. A record can carry multiple annotations (e.g., a detection with a classifier confidence plus a separate fusion model confidence). Reference: DoD Responsible AI Strategy (2022); NIST AI RMF 1.0 (January 2023).
Hide 12 properties
model_id string
Stable identifier for the model that produced this annotation. Examples: "yolo-v8-aircraft-detector", "bert-intel-extractor", "acme-fusion-v4".
model_version string
Model version string. Convention is producer-defined; semantic versioning is recommended.
provider string
Provider or owner of the model. Examples: "raft", "openai", "anthropic", "dia", "in-house".
confidence double optional
Confidence score produced by the model for this annotation. Range: 0.0 to 1.0. Interpretation is model-specific; prefer calibrated probabilities when available.
inferred_at Timestamp
Wall-clock time at which the model produced this annotation.
rationale string
Short natural-language rationale or explanation emitted by the model. Optional and model-specific; may be empty when the model does not produce rationales.
input_ref ExternalReference
Reference to stored model inputs (feature vector, raw imagery, intermediate activations) for downstream explainability. Opaque to the warfighting model; consumers resolve it in the AI platform.
output_ref ExternalReference
Reference to stored model outputs (prediction artifacts, saliency maps, class probabilities) for downstream explainability.
review_status ReviewStatus
Human review state for this annotation. Drives human-in-the-loop workflows for records that require operator approval before downstream action.
reviewer Principal
Principal that reviewed the annotation (if any). Populated once `review_status` leaves the PENDING state.
reviewed_at Timestamp
Wall-clock time at which the human review was completed.
review_notes string
Optional reviewer notes captured during review.
Principal message
A person, unit, or system that can originate, authorize, execute, review, or approve warfighting records. Principals are the subjects of provenance, approval chains, assignment, and audit trails. A single principal can appear in multiple roles on the same record (e.g., the same operator who requests a fire mission also approves it).
Hide 4 properties
id string
Unique identifier of the principal. Format is defined by the issuing authority (UUID, DoDAAC, UIC, user account name, service account ID, etc.).
type PrincipalType
Kind of principal this identifier represents.
display_name string
Optional human-readable display name. Example: "SGT Smith, J.", "1-87 IN", "fires-planner-svc".
role string
Optional role the principal is acting in for this record. Free-form; examples: "FDO", "FSO","PLAN_APPROVER".
ProvenanceRecord message
Data lineage and source attribution for a warfighting record. ProvenanceRecord is attached to every record in the Raft WDM and carries the information needed to assess trust, reconstruct lineage, and make informed fusion or approval decisions. Modeled loosely on W3C PROV-DM, with additions for multi-step transformation chains, upstream source linking, and collection method classification. Intentionally compact enough to be attached cheaply to every record. Reference: W3C PROV-DM (https://www.w3.org/TR/prov-dm/).
Hide 12 properties
id string
Unique identifier for this provenance record. Stable across re-publications so consumers can deduplicate and chain records.
name string
Human-readable name of the operational source that produced or last updated this record. Examples: "USS Roosevelt CIC", "SIGINT Station Alpha", "UAV-042 EO/IR", "25th ID G2".
description string
Additional context about the source or collection method. May include sensor mode, collection geometry, analyst notes, or workflow step description.
updated_at Timestamp
Timestamp when this information was produced or last updated at the source. Distinct from any message transaction time.
producer string
Identifier of the technical component that emitted or last transformed this record. Distinct from `name`, which identifies the operational source, `producer` identifies the service, algorithm, model, plugin, or client application that handled the record immediately before publication. Convention: be as precise as possible. Examples: - "my-tracker-v1.2" - "fusion-algo-v3.1" - "yolo-v8-object-detection" - "acme-c2-client-2026.1"
collection_method CollectionMethod
Method used to obtain or derive this record.
source_reliability SourceReliability
Source reliability rating per US Army FM 2-22.3. Rates the track record of the source, independent of any specific piece of information.
information_credibility InformationCredibility
Information credibility rating per US Army FM 2-22.3. Rates the information itself, independent of source reliability. Combined with source_reliability, yields the standard alphanumeric intelligence rating (e.g., "B2").
parents ProvenanceRecord repeated
Provenance records of upstream transformations that produced this record. Enables lineage reconstruction across multi-step derivation chains (sensor -> tracker -> fusion -> assessment). Each entry is an independent ProvenanceRecord; callers may either embed full records or include stub records carrying only `id` and let consumers resolve the remainder.
agent Principal
Agent responsible for this record. Identifies the person, software agent, organization, or object that bears responsibility for the record. Distinct from `producer`, which names the technical component that emitted the record; `agent` names who the record is attributed to.
request_id string
Server-generated UUID for this specific publish/update request. Read-only; populated by the platform.
source_node_id string
UUID of the Raft Data Platform node that first received this request. Read-only; populated by the platform.
ReplicationMetadata message
Mesh replication metadata for a warfighting record. Captures where a record originated, which node delivered it to the current receiver, how it should propagate through the mesh, and how conflicts should be resolved. Replication metadata lets downstream consumers reason about record provenance and replication policy across disconnected and intermittently connected enclaves (DDIL). This message captures what is knowable on each receiver, e.g., where the record originated, which node delivered it most recently, and when it was accepted locally. Server-populated on publication and receipt; clients should treat this as read-only.
Hide 6 properties
origin_node_id string
UUID of the node where this record was first created. Stable across replication; does not change as the record propagates through the mesh.
received_from_node_id string
UUID of the node that delivered this record to the current receiver.
received_at Timestamp
Wall-clock time at which the current receiver accepted this record.
scope ReplicationScope
How broadly this record replicates through the mesh.
conflict_resolution ConflictResolution
Conflict resolution policy applied when reconciling concurrent updates to the same record across the mesh.
reconciliation_policy_id string
Identifier of the reconciliation policy that produced the currently visible state of this record. Allows downstream consumers to understand why a particular version won a merge.
AttachmentKind enum
Broad classification of an attachment.
ATTACHMENT_KIND_UNSPECIFIED = 0
ATTACHMENT_KIND_IMAGERY = 1 Still imagery (e.g., NITF, JPEG, PNG, GeoTIFF).
ATTACHMENT_KIND_FMV = 2 Full-motion video (e.g., MPEG-TS, H.264/H.265).
ATTACHMENT_KIND_DOCUMENT = 3 Documents and reports (e.g., PDF, DOCX, plain text).
ATTACHMENT_KIND_AUDIO = 4 Audio recordings (e.g., WAV, MP3, FLAC).
ATTACHMENT_KIND_DATA = 5 Structured data (e.g., logs, telemetry, CSV).
ATTACHMENT_KIND_JSON = 6 JSON payloads (e.g., configuration, analytics).
ATTACHMENT_KIND_GEOSPATIAL = 7 Geospatial data (e.g., KML/KMZ, Shapefile, MBTiles).
ATTACHMENT_KIND_MESSAGE = 8 Serialized C2 messages (e.g., VMF, Link-16 J-series).
ATTACHMENT_KIND_ARCHIVE = 9 Compressed bundles (e.g., ZIP, TAR, 7z).
ATTACHMENT_KIND_ML_MODEL = 10 Machine-learning model artifacts (e.g., ONNX, TensorRT).
ATTACHMENT_KIND_BINARY = 11 Opaque binary blobs (e.g., software, raw sensor dumps, proprietary formats).
CollectionMethod enum
How a record was obtained or derived. Intended as a coarse classification for filtering and trust scoring. Finer-grained detail should live in ProvenanceRecord.description or in ML annotations.
COLLECTION_METHOD_UNSPECIFIED = 0
COLLECTION_METHOD_SENSOR = 1 Direct sensor measurement (e.g., radar, EO/IR, SIGINT, AIS, ADS-B).
COLLECTION_METHOD_HUMAN = 2 Human analyst assessment, authoring, or annotation.
COLLECTION_METHOD_RULE = 3 Automated rule-based processing (e.g., deterministic correlator, format converter, policy filter, etc.).
COLLECTION_METHOD_STATISTICAL = 4 Statistical or probabilistic processing (e.g., tracker, estimator).
COLLECTION_METHOD_ML_MODEL = 5 Machine learning model inference.
COLLECTION_METHOD_FUSION = 6 Multi-source fusion that combines inputs of different provenance.
COLLECTION_METHOD_IMPORT = 7 Imported from an upstream external system of record.
COLLECTION_METHOD_SIMULATION = 8 Computer-generated simulation output.
ConflictResolution enum
Policy applied when reconciling concurrent updates to the same record across the mesh.
CONFLICT_RESOLUTION_UNSPECIFIED = 0
CONFLICT_RESOLUTION_LWW = 1 Last writer wins.
CONFLICT_RESOLUTION_PRIORITY_RULES = 2 Source priority rules (e.g., manual > ML > automated > sensor raw) resolve the winner.
CONFLICT_RESOLUTION_CUSTOM = 3 A custom reconciliation policy decides the winner. See ReplicationMetadata.reconciliation_policy_id for the policy identifier.
InformationCredibility enum
Information credibility rating per US Army FM 2-22.3. Rates the information itself based on corroboration, consistency, and plausibility, independent of source reliability.
INFORMATION_CREDIBILITY_UNSPECIFIED = 0
INFORMATION_CREDIBILITY_1 = 1 Confirmed by other sources.
INFORMATION_CREDIBILITY_2 = 2 Probably true.
INFORMATION_CREDIBILITY_3 = 3 Possibly true.
INFORMATION_CREDIBILITY_4 = 4 Doubtful.
INFORMATION_CREDIBILITY_5 = 5 Improbable.
INFORMATION_CREDIBILITY_6 = 6 Truth cannot be judged.
PrincipalType enum
Broad classification of principals.
PRINCIPAL_TYPE_UNSPECIFIED = 0
PRINCIPAL_TYPE_OBJECT = 1 A tracked warfighting object (unit, platform, crew) acting as a principal.
PRINCIPAL_TYPE_SYSTEM = 2 A software service, agent, or automated component.
PRINCIPAL_TYPE_USER = 3 A human user account.
PRINCIPAL_TYPE_ORGANIZATION = 4 A formal organization (command, directorate, coalition partner) acting as a principal without a direct object or user mapping.
PriorityTier enum
QoS priority tier used by the mesh for replication and routing decisions.
PRIORITY_TIER_UNSPECIFIED = 0
PRIORITY_TIER_LOW = 1
PRIORITY_TIER_MEDIUM = 2
PRIORITY_TIER_HIGH = 3
PRIORITY_TIER_CRITICAL = 4
ReplicationScope enum
How broadly a record should be replicated through the mesh.
REPLICATION_SCOPE_UNSPECIFIED = 0
REPLICATION_SCOPE_NODE_LOCAL = 1 Record stays on the originating node and is never propagated.
REPLICATION_SCOPE_MESH_WIDE = 2 Record replicates across all nodes in the current mesh.
REPLICATION_SCOPE_CROSS_DOMAIN = 3 Record is eligible for replication across security or coalition domain boundaries, subject to cross-domain policy enforcement.
ReviewStatus enum
Human-in-the-loop review status for an ML annotation.
REVIEW_STATUS_UNSPECIFIED = 0
REVIEW_STATUS_NOT_REQUIRED = 1 Annotation has not been submitted for review. Either review is not required for this record or the workflow has not yet queued it.
REVIEW_STATUS_PENDING = 2 Annotation is queued and awaiting human review.
REVIEW_STATUS_APPROVED = 3 Reviewer confirmed the annotation; downstream consumers may treat it as authoritative.
REVIEW_STATUS_REJECTED = 4 Reviewer rejected the annotation; consumers should not rely on its output for targeting or engagement decisions.
REVIEW_STATUS_AMENDED = 5 Reviewer modified the annotation during review. The annotation now reflects the corrected values; the original is preserved in provenance history.
SourceReliability enum
Source reliability rating per US Army FM 2-22.3. Rates the track record of the source, independent of any specific piece of information.
SOURCE_RELIABILITY_UNSPECIFIED = 0
SOURCE_RELIABILITY_A = 1 Completely reliable.
SOURCE_RELIABILITY_B = 2 Usually reliable.
SOURCE_RELIABILITY_C = 3 Fairly reliable.
SOURCE_RELIABILITY_D = 4 Not usually reliable.
SOURCE_RELIABILITY_E = 5 Unreliable.
SOURCE_RELIABILITY_F = 6 Reliability cannot be judged.

## raft/wdm/v1/comms.proto

CommsInfo message
Communications and data link status for platforms. Tracks which radio nets and tactical data links an object participates in and their operational status. Supports C2 planning (knowing which units are reachable on which nets) and network situational awareness. Reference: Army FM 6-02 (Signal Support to Operations); ACP 190 (NATO Guide to Frequency Planning).
Hide 1 properties
radios Radio repeated
Radio systems carried by this object.
Radio message
A single radio set and its current operating state.
Hide 4 properties
nomenclature string
Radio model or nomenclature. Examples: "AN/PRC-117G", "AN/VRC-110", "JTIDS".
frequency_hz double optional
Current operating frequency in Hz.
net_id string
Net identifier the radio is tuned to. Examples: "BN CMD", "BDE OPS", "DIV FIRES".
state RadioState
Current operating state.
RadioState enum
Operating state of a radio set. LISTENING_SILENCE corresponds to Army EMCON conditions per ACP 190 and FM 6-02.
RADIO_STATE_UNSPECIFIED = 0
RADIO_STATE_OPERATING = 1
RADIO_STATE_DEGRADED = 2
RADIO_STATE_INOPERABLE = 3
RADIO_STATE_LISTENING_SILENCE = 4

## raft/wdm/v1/correlation.proto

Correlation and disassociation of warfighting objects representing the same real-world thing. Grounded in standard multi-sensor data fusion and entity resolution concepts, e.g., the JDL Data Fusion Model (Level 1 Object Refinement), NATO STANAG 4676 (AEDP-4676), etc.

CorrelationState message
Correlation state linking a warfighting object to a correlation. A correlation is the set of objects that represent the same real-world thing. The correlation is implicit and exists because objects share the same correlation_id. Each object carries its own correlation_id and role; there are no cross-object references. Managed externally; any value provided on a direct object write is ignored.
Hide 6 properties
correlation_id string
Identifier for the correlation this object belongs to.
role CorrelationRole
This object's role within the correlation.
origin CorrelationOrigin
Whether the correlation was initiated manually, automatically, by a rule, statistically, by an ML model, or imported from upstream.
scope ReplicationScope
How broadly this correlation replicates through the mesh.
provenance ProvenanceRecord
Source attribution for the correlation decision.
confidence float optional
Confidence in the correlation decision. Range: 0.0 to 1.0. Interpretation depends on the producer. Consumers should treat an unset value as "unknown" rather than zero.
Disassociation message
Record of an explicit disassociation between this object and another. Disassociation records serve as an audit trail and as a guard against automated re-association of pairs that operators have explicitly separated.
Hide 5 properties
object_id string
Identifier of the other object that was disassociated from this one.
correlation_id string
Correlation this disassociation occurred in. Disambiguates when an object has been in multiple correlations over time.
origin CorrelationOrigin
Whether the disassociation was manual or automated.
scope ReplicationScope
How broadly this disassociation replicates through the mesh.
provenance ProvenanceRecord
Source attribution for the disassociation decision.
CorrelationOrigin enum
Origin of a correlation or disassociation decision. Use the most specific value available. AUTOMATED is a catch-all for automated decisions whose flavor is unknown or not worth distinguishing. The specific producer (algorithm or model name and version) should be identified in ProvenanceRecord.producer.
CORRELATION_ORIGIN_UNSPECIFIED = 0
CORRELATION_ORIGIN_MANUAL = 1 Operator-initiated.
CORRELATION_ORIGIN_AUTOMATED = 2 Automated, flavor unspecified.
CORRELATION_ORIGIN_RULE_BASED = 3 Deterministic rule or hard correlator. Corresponds to hard association in fusion literature.
CORRELATION_ORIGIN_STATISTICAL = 4 Probabilistic or statistical tracker (e.g., JPDA, MHT, Bayesian association).
CORRELATION_ORIGIN_ML_MODEL = 5 Learned model (neural network, gradient-boosted classifier, foundation model). Surfaced as a distinct origin to support auditing of decisions made by learned components.
CORRELATION_ORIGIN_EXTERNAL = 6 Correlation imported from an upstream system that already performed the association.
CorrelationRole enum
Role of an object within a correlation.
CORRELATION_ROLE_UNSPECIFIED = 0
CORRELATION_ROLE_REPRESENTATIVE = 1 The object that represents the correlation. May be a canonical source record selected as authoritative, or a fused synthetic track combining multiple sources. The origin and producer attribution indicate which. Ideally one representative per correlation; temporary duplicates are tolerated during disconnected operations.
CORRELATION_ROLE_MEMBER = 2 Another object in the correlation. Retains its original source data.

## raft/wdm/v1/ew.proto

ElectronicWarfareInfo message
Electronic warfare effects data. Complements SignalInfo (which models signal characteristics for SIGINT and ELINT) by capturing EW effects: jamming, spoofing, and denial. Applicable to objects representing jammers, EW targets, and decoys. Use the parent object's geometry for affected area and SignalInfo for the signal characteristics of the jamming emission. Reference: JP 3-13.1 (Electronic Warfare); Army FM 3-12 (Cyberspace and Electronic Warfare Operations).
Hide 7 properties
role EwRole
Role of this object in the EW engagement.
jamming_technique JammingTechnique
Jamming technique employed.
affected_frequency_min_hz double optional
Low end of the affected frequency range in Hz.
affected_frequency_max_hz double optional
High end of the affected frequency range in Hz.
effective_radiated_power_watts double optional
Effective radiated power of the jamming signal in watts.
effect_status EwEffectStatus
Current effect status.
target_object_ids string repeated
Identifiers of the warfighting objects currently affected by this EW system.
EwEffectStatus enum
Current status of an EW effect.
EW_EFFECT_STATUS_UNSPECIFIED = 0
EW_EFFECT_STATUS_ACTIVE = 1
EW_EFFECT_STATUS_STANDBY = 2
EW_EFFECT_STATUS_CEASED = 3
EwRole enum
EW engagement role.
EW_ROLE_UNSPECIFIED = 0
EW_ROLE_JAMMER = 1 Electronic attack platform
EW_ROLE_TARGET = 2 Object being jammed or affected
EW_ROLE_DECOY = 3 Emitting deceptive signals
EW_ROLE_SENSOR = 4 Electronic support / passive detection
JammingTechnique enum
Jamming technique classification.
JAMMING_TECHNIQUE_UNSPECIFIED = 0
JAMMING_TECHNIQUE_NOISE = 1 Broadband noise jamming
JAMMING_TECHNIQUE_DECEPTIVE = 2 False-target / gate pull-off
JAMMING_TECHNIQUE_SPOT = 3 Concentrated on a single frequency
JAMMING_TECHNIQUE_BARRAGE = 4 Wide frequency band simultaneously
JAMMING_TECHNIQUE_SWEEP = 5 Rapidly sweeps across frequency
JAMMING_TECHNIQUE_REPEATER = 6 Receives and retransmits enemy signals
JAMMING_TECHNIQUE_SPOOFING = 7 GPS or signal spoofing

## raft/wdm/v1/ground.proto

GroundInfo message
Ground-domain attributes for vehicles, dismounts, and ground equipment.
Hide 4 properties
platform_type string
Platform type designation. Examples: "T-72B3", "HMMWV", "dismount".
movement MovementStatus
Current movement state.
terrain TerrainType
Terrain classification at the object's location.
cover CoverStatus
Cover and concealment status.
CoverStatus enum
Cover and concealment status.
COVER_STATUS_UNSPECIFIED = 0
COVER_STATUS_EXPOSED = 1
COVER_STATUS_PARTIAL = 2
COVER_STATUS_CONCEALED = 3
COVER_STATUS_DUG_IN = 4
MovementStatus enum
Ground movement state.
MOVEMENT_STATUS_UNSPECIFIED = 0
MOVEMENT_STATUS_STATIONARY = 1
MOVEMENT_STATUS_MOVING = 2
MOVEMENT_STATUS_HALTED = 3
TerrainType enum
Terrain classification at an object's location.
TERRAIN_TYPE_UNSPECIFIED = 0
TERRAIN_TYPE_URBAN = 1
TERRAIN_TYPE_RURAL = 2
TERRAIN_TYPE_FOREST = 3
TERRAIN_TYPE_DESERT = 4
TERRAIN_TYPE_MOUNTAIN = 5

## raft/wdm/v1/identity.proto

Identity message
External system identifier for a warfighting object. Enables correlation across systems by carrying the source system name and the identifier issued by that system. Common pairings include AIS MMSI, ADS-B Mode-S, Link-16 track numbers, DoDAAC, and UIC.
Hide 3 properties
system string
Source system name. Example: "ais", "adsb", "link16", "gccs-j".
identifier string
Identifier value issued by that system.
origin_type IdentityOriginType
How this identifier was obtained. Used as an authority signal when the same real-world object carries multiple identifiers from different sources (e.g., track numbers propagating between platforms in a data link environment).
OperationalFlags message
Operational flags used to segregate live, simulated, and exercise data as well as to advertise actionability.
Hide 3 properties
is_simulated bool
True if the object is computer-generated rather than derived from live sensors.
is_exercise bool
True if the object participates in an exercise (real or simulated).
is_actionable bool
True if the object can receive warfighting actions.
IdentityOriginType enum
How an Identity was obtained. In multi-platform environments, the same object can carry track numbers issued by several sources with different authority. This enum makes the authority signal explicit so correlation logic can decide which identifier is canonical when duplicates exist.
IDENTITY_ORIGIN_TYPE_UNSPECIFIED = 0
IDENTITY_ORIGIN_TYPE_LOCAL = 1 Assigned by the local producer or reporting unit. Authoritative for that producer.
IDENTITY_ORIGIN_TYPE_COPIED = 2 Copied from an upstream source. Not locally authoritative; should reconcile back to the originator's LOCAL or to a COORDINATED identifier.
IDENTITY_ORIGIN_TYPE_COORDINATED = 3 Issued by a designated coordinator that resolves conflicting reports from multiple sensors into a single canonical identifier (e.g., Force Over-the-Horizon Track Coordinator, AWACS, joint data link manager, coalition fusion hub).
IDENTITY_ORIGIN_TYPE_BROADCAST = 4 Assigned by a broadcast system rather than by a specific producer (e.g., Position Location Reporting System).
IDENTITY_ORIGIN_TYPE_REGENERATED = 5 Reconstructed after a loss of continuity (e.g., the original track was lost and a new identifier was generated to resume tracking).

## raft/wdm/v1/maritime.proto

MaritimeInfo message
Maritime-domain attributes sourced primarily from AIS, radar, and naval C2 systems. Reference: ITU-R M.1371 (AIS)
Hide 11 properties
vessel_type VesselType
Vessel classification.
imo_number string
IMO ship identification number (7 digits).
mmsi string
Maritime Mobile Service Identity (9 digits).
maritime_callsign string
Radio callsign.
flag_state string
Flag state (ISO 3166-1 alpha-3).
destination string
Destination port or area.
pennant_number string
Pennant or hull number for naval vessels (e.g., "DDG-51", "CVN-68").
nav_status NavigationStatus
AIS navigation status.
draft_meters double optional
Current draft in meters.
cargo_type string
Cargo type description.
sconum string
Ship Control Number per US Navy SCONUM convention.
NavigationStatus enum
AIS navigation status codes.
NAVIGATION_STATUS_UNSPECIFIED = 0
NAVIGATION_STATUS_UNDERWAY = 1
NAVIGATION_STATUS_AT_ANCHOR = 2
NAVIGATION_STATUS_MOORED = 3
NAVIGATION_STATUS_NOT_UNDER_COMMAND = 4
NAVIGATION_STATUS_RESTRICTED = 5
NAVIGATION_STATUS_AGROUND = 6
NAVIGATION_STATUS_FISHING = 7
VesselType enum
Vessel classification aligned with AIS vessel type codes.
VESSEL_TYPE_UNSPECIFIED = 0
VESSEL_TYPE_CARGO = 1
VESSEL_TYPE_TANKER = 2
VESSEL_TYPE_PASSENGER = 3
VESSEL_TYPE_FISHING = 4
VESSEL_TYPE_MILITARY = 5
VESSEL_TYPE_TUG = 6
VESSEL_TYPE_RECREATIONAL = 7
VESSEL_TYPE_SAR = 8

## raft/wdm/v1/object.proto

Core warfighting representation of a tracked object in the battlespace. An Object is anything with identity that the force needs to track: platforms, units, facilities, equipment, personnel, events, control measures, signals, and more.

Object message
Core warfighting representation of a tracked object in the battlespace. An Object is anything with identity that the force needs to track: platforms, units, facilities, equipment, personnel, events, control measures, signals, and more. ## Flexible Field Model Most fields are optional - populate only what is relevant for the specific object being represented. This flexibility allows modeling diverse object types without requiring separate message definitions for each category. Different object types naturally use different field subsets. For example: - Maritime vessel: location, motion, maritime info, identities (MMSI), dimensions. - Aircraft: location, motion, aviation info, identities (Mode-S), assessment. - Ground vehicle: location, motion, ground info, assessment, labels. - Facility: location, dimensions, assessment (no motion). - Person: location, assessment (minimal fields). - Control measure: shape, assessment, labels (no motion or dimensions). - Etc. ## Required vs Optional Fields Minimally required for all objects: - `id`: unique identifier (generated if not provided). - `provenance.updated_at`: when this data was last modified. Commonly populated but optional: - `name`: human-readable identifier. - `location.position`: geographic coordinates. - `assessment`: tactical assessment (affiliation, environment). Domain-specific (populate as applicable): - `type_info.maritime`: ships, boats, submarines. - `type_info.aviation`: aircraft, helicopters, UAVs. - `type_info.ground`: vehicles, dismounts, equipment. - `type_info.orbital`: satellites, space objects. - `type_info.signal`: SIGINT/ELINT emissions. - Etc. ## Field Population Guidelines 1. Populate what you know, and omit unknown or irrelevant fields. 2. Do not invent data. Empty or default values can mislead consumers. 3. Use the type_info discriminator and populate the domain-specific section that applies. 4. Provenance is critical: always include source and timestamp. 5. Assessment provides warfighting context. Affiliation and environment are needed for tactical decision-making.
Hide 38 properties
id string
Unique identifier (UUID).
security SecurityMarking
Classification and handling caveats.
name string
Short name used to refer to this object in displays and reports.
description string
Human-readable description or operator remarks.
identities Identity repeated
External identifiers from source systems (MMSI, Mode-S address, Link-16 track number, vehicle bumper number, etc.).
labels LabelsEntry repeated
Extensible key-value metadata. Keys should follow a namespaced convention such as "domain.system.field" to avoid collisions.
ontology Ontology
Semantic classification and formal ontology alignment.
flags OperationalFlags
Operational flags used for data segregation (simulation, exercise, actionable).
type_info TypeInfo
Domain-specific attributes. Populate the component that matches the operational domain of the object.
location SpatialLocation
Geographic position, orientation, and uncertainty.
motion Motion
Velocity and acceleration in the local ENU frame.
shape SpatialGeometry
Structured geometric shape for non-point objects (boundaries, coverage areas, routes, sensor footprints).
orbital_motion OrbitalMotion
Keplerian orbital elements for space objects.
state_vector StateVector
Cartesian state vector for high-precision orbital propagation.
track_info TrackInfo
Track quality and measurement metadata.
status ObjectStatus
Current lifecycle status of this object.
ttl Timestamp
Time at which the object expires and is removed from the active picture. Unset means the object does not have an expiration time. Enforced by the platform.
persist bool
When true, the object never auto-expires regardless of `ttl`.
priority PriorityTier
QoS priority tier assigned by the platform. Used by the mesh for routing and replication prioritization. Read-only; any client-provided value is ignored.
assessment Assessment
Warfighter's tactical assessment of this object.
dimensions PhysicalDimensions
Physical size and mass (length, width, height, weight).
targeting TargetingInfo
Targeting and threat assessment data.
symbology Symbology
Military symbology representation per MIL-STD-2525C/D.
transponder_codes TransponderCodes
IFF/transponder interrogation codes.
sensors Sensor repeated
Sensors mounted on this object.
expendables Expendables
Fuel, ordnance, guns, and endurance carried by the object.
attachments Attachment repeated
File attachments (imagery, full-motion video, documents, audio, telemetry). Stores pointers, not contents.
details Struct
Object-specific metadata as loosely-typed structured data. Use this field for integration data that does not yet have a strongly-typed warfighting field. Follow the @type convention for discriminating between structured payload types: set an "@type" property whose value is a fully qualified type identifier (e.g., "raft.wdm.v1.ext.FireUnit", "com.acme.CustomSensorData"). Consumers without the matching schema can still inspect fields generically. Prefer strongly-typed fields (type_info, sensors, symbology) and ExternalReference payloads over `details` whenever possible.
external_refs ExternalReference repeated
References to representations of this object in external data models (e.g., Trax OMNI message, GCCS-J ETF track, CoT event, JREAP track).
relationships Relationship repeated
Directed relationships to other objects in the operational picture. Distinct from correlation (which links objects representing the same real-world thing). Relationships link distinct objects with operational, organizational, or functional connections, e.g., C2 authority, sensor-to-target, support, etc.
provenance ProvenanceRecord
Data lineage and source attribution for trust assessment. Required on every publish; producers must populate at minimum `provenance.updated_at`.
replication ReplicationMetadata
Mesh replication metadata. Read-only; populated by the platform.
ml_annotations MachineLearningAnnotation repeated
Machine learning annotations attached to this object. Each entry documents a model, its inference, and any human review state.
correlation CorrelationState
Correlation state linking this object to a correlation. A correlation is a set of objects representing the same real-world thing. Read-only on this message; managed via the dedicated correlation service.
disassociations Disassociation repeated
Disassociation records for objects explicitly excluded from correlation with this one. Read-only on this message; managed via the correlation service.
catalog CatalogReference
Reference to this object's position in the Raft Data Platform catalog (data source, connection, dataset).
effective_from Timestamp
Declarative activation time for planned or scheduled objects (e.g., a control measure that takes effect at H-hour, an attachment that begins at a future time). Informational only -- the platform does not withhold the object from consumers before this time. Consumers should choose how to handle objects whose `effective_from` lies in the future.
warfighting_functions WarfightingFunction repeated
Doctrinal warfighting function(s) this object is organized or equipped to support (ADP 3-0 / JP 3-0). Tag every applicable function; an empty list means no doctrinal function is asserted.
LabelsEntry message
Hide 2 properties
key string
value string
TypeInfo message
Domain-specific attributes wrapped as a discriminated component. Populate only the component that matches the operational domain of the object. Multiple components may be populated for objects that span domains (e.g., an air defense radar has both ground position and signal characteristics).
Hide 11 properties
maritime MaritimeInfo
aviation AviationInfo
ground GroundInfo
orbital OrbitalInfo
signal SignalInfo
cbrn CbrnInfo
weather WeatherInfo
ew ElectronicWarfareInfo
comms CommsInfo
platform_status PlatformStatus
organization OrganizationInfo
ObjectStatus enum
Lifecycle status of a warfighting object. Objects start in ACTIVE. Use INACTIVE to retain an object for historical reference without active tracking, and DELETED to remove it from the picture.
OBJECT_STATUS_UNSPECIFIED = 0
OBJECT_STATUS_ACTIVE = 1
OBJECT_STATUS_INACTIVE = 2
OBJECT_STATUS_DELETED = 3

## raft/wdm/v1/ontology.proto

Semantic classification and formal ontology alignment (BFO/CCO) for both Objects and Actions.

Ontology message
Semantic classification and formal ontology alignment for a warfighting record (Object or Action). Combines an operational category, a human-readable type name, and extensible ontology references (URIs or CURIEs) for interoperability with systems that operate at the ontology level. Supports DNI and DIA guidance for BFO and CCO alignment without requiring schema changes when new ontologies are adopted. Format for refs: prefix:LocalName or full URI. Common prefixes: bfo: http://purl.obolibrary.org/obo/ cco: http://www.ontologyrepository.com/CommonCoreOntologies/ Object examples: category: CATEGORY_PLATFORM type: "F-35A Lightning II" refs: ["bfo:Object", "cco:Aircraft"] Action examples: category: CATEGORY_PLANNED_ACT type: "fire_mission" refs: ["bfo:Process", "cco:ActOfWeaponUse"] Reference: Basic Formal Ontology (BFO); Common Core Ontologies (CCO).
Hide 3 properties
category OntologyCategory
Broad operational category grounded in BFO/CCO.
type string
Human-readable type name or designator. For Objects this is typically a platform designation or unit type (e.g., "F-35A Lightning II", "Infantry Battalion"). For Actions this may mirror the `type` field or provide a more formal name (e.g., "Close Air Support", "CBRN Warning").
refs string repeated
Formal ontology type references (URIs or CURIEs). Maps this record to external ontologies such as BFO, CCO, DICO, or domain-specific vocabularies. Consumers that do not use ontologies can ignore this field.
OntologyCategory enum
Operational category for a warfighting record, grounded in BFO/CCO upper ontology. Each value maps to BFO (Basic Formal Ontology) and CCO (Common Core Ontologies) classes to ensure semantic interoperability across DOD, IC, and allied systems. BFO Continuant vs Occurrent: - Object-oriented categories (PLATFORM through ORGANIZATION) are mostly Continuants (exist fully at any point in time). - Action-oriented categories (PLANNED_ACT through COMMUNICATION) and EVENT/SIGNAL are Occurrents (unfold over time).
ONTOLOGY_CATEGORY_UNSPECIFIED = 0
ONTOLOGY_CATEGORY_PLATFORM = 1 Individual vehicle, vessel, aircraft, or spacecraft. BFO: bfo:Object | CCO: cco:Vehicle, cco:Aircraft, cco:Watercraft
ONTOLOGY_CATEGORY_UNIT = 2 Military or organizational unit. BFO: bfo:ObjectAggregate | CCO: cco:MilitaryOrganization
ONTOLOGY_CATEGORY_PERSON = 3 Individual human being. BFO: bfo:Object | CCO: cco:Person
ONTOLOGY_CATEGORY_FACILITY = 4 Fixed structure or installation. BFO: bfo:Object | CCO: cco:Facility
ONTOLOGY_CATEGORY_EQUIPMENT = 5 Non-self-propelled system or device. BFO: bfo:Object | CCO: cco:Artifact
ONTOLOGY_CATEGORY_MUNITION = 6 Weapon or munition in flight. BFO: bfo:Object | CCO: cco:Munition
ONTOLOGY_CATEGORY_GROUP = 7 Ad-hoc collection treated as single operational object. BFO: bfo:ObjectAggregate | CCO: cco:GroupOfAgents
ONTOLOGY_CATEGORY_CONTROL_MEASURE = 9 Tactical graphic or control measure. BFO: bfo:Site | CCO: cco:GeospatialRegion
ONTOLOGY_CATEGORY_INFRASTRUCTURE = 10 Linear or distributed physical infrastructure. BFO: bfo:Object | CCO: cco:Infrastructure
ONTOLOGY_CATEGORY_GEOPOLITICAL = 11 Geopolitical entity or territory. BFO: bfo:Site | CCO: cco:GeopoliticalEntity
ONTOLOGY_CATEGORY_NATURAL_FEATURE = 12 Natural geographic feature. BFO: bfo:Site | CCO: cco:GeographicFeature
ONTOLOGY_CATEGORY_ORGANIZATION = 14 Non-military organization or network. BFO: bfo:ObjectAggregate | CCO: cco:Organization
ONTOLOGY_CATEGORY_EVENT = 8 Transient occurrence at a location/time. BFO: bfo:Process | CCO: cco:Event
ONTOLOGY_CATEGORY_SIGNAL = 13 Electromagnetic emission or signal. BFO: bfo:Process | CCO: cco:Signal
ONTOLOGY_CATEGORY_PLANNED_ACT = 20 A deliberate act prescribed by a directive or plan. BFO: bfo:Process | CCO: cco:PlannedAct
ONTOLOGY_CATEGORY_OBSERVATION = 21 An act of acquiring information via sensors or observers. BFO: bfo:Process | CCO: cco:ActOfObservation
ONTOLOGY_CATEGORY_COMMUNICATION = 22 An act of transferring information between agents. BFO: bfo:Process | CCO: cco:ActOfCommunication
ONTOLOGY_CATEGORY_MILITARY_OPERATION = 23 An act employing military force to achieve a desired result. BFO: bfo:Process | CCO: cco:ActOfMilitaryForce
ONTOLOGY_CATEGORY_WEAPON_EMPLOYMENT = 24 An act of employing a weapon against a target. BFO: bfo:Process | CCO: cco:ActOfWeaponUse
ONTOLOGY_CATEGORY_MOVEMENT = 25 An act of changing the location of an object or force. BFO: bfo:Process | CCO: cco:ActOfLocationChange
ONTOLOGY_CATEGORY_RECONNAISSANCE = 26 An act of gathering intelligence or conducting reconnaissance. BFO: bfo:Process | CCO: cco:ActOfReconnaissance
ONTOLOGY_CATEGORY_PLANNING = 27 An act of formulating a plan to achieve an objective. BFO: bfo:Process | CCO: cco:ActOfPlanning
ONTOLOGY_CATEGORY_REPORTING = 28 An act of giving a detailed account or assessment. BFO: bfo:Process | CCO: cco:ActOfReporting

## raft/wdm/v1/orbital.proto

OrbitalInfo message
Orbital object catalog and operator metadata for space objects.
Hide 6 properties
object_id string
On-orbit object identifier (e.g., satellite number).
sat_cat string
Satellite catalog number.
object_type string
Object type classification (active satellite, inactive satellite, debris, natural object).
operator string
Current operator of the object.
origin string
Country or organization of origin.
launch_date Timestamp
Launch date.
OrbitalMotion message
Keplerian orbital elements. Fields generally match a Two-Line Element (TLE) set.
Hide 10 properties
epoch Timestamp
Epoch of this kinematic measurement.
mean_mot_dot double
First derivative of mean motion.
mean_mot_ddot double
Second derivative of mean motion.
b_star double
Drag and radiation pressure coefficient.
inclination double
Orbital inclination in degrees. 0 = equatorial, 90 = polar, >90 = retrograde. Range: 0.0 to 180.0.
raan double
Right Ascension of Ascending Node in degrees. Range: 0.0 to 360.0.
eccentricity double
Orbital eccentricity, dimensionless. 0 = circular, approaching 1 = highly elliptical.
arg_perigee double
Argument of perigee in degrees. Range: 0.0 to 360.0.
mean_anomaly double
Mean anomaly in degrees at epoch. Range: 0.0 to 360.0.
rev_num double
Revolution number at epoch.
StateVector message
Cartesian state vector for high-precision orbital propagation.
Hide 5 properties
epoch Timestamp
Epoch of this state vector.
reference_frame string
Reference frame identifier (e.g., "J2000", "ICRF").
position_km Vector3
Position in kilometers in the given reference frame.
velocity_kmps Vector3
Velocity in kilometers per second.
acceleration_kmps2 Vector3
Acceleration in kilometers per second squared.

## raft/wdm/v1/organization.proto

CasualtySummary message
Personnel casualty summary for a unit.
Hide 4 properties
kia uint32 optional
Killed in action.
wia uint32 optional
Wounded in action.
mia uint32 optional
Missing in action.
dnbi uint32 optional
Disease and non-battle injury.
OrganizationInfo message
Military unit organization and hierarchy. Applicable to objects with ontology category UNIT. Provides service affiliation, service-specific hierarchy level, branch, and identification data needed to represent joint and coalition order of battle. Each service organizes differently; the `hierarchy` oneof carries the service-appropriate unit level. Populate the variant matching the `service` field. Structural relationships between units (OPCON, TACON, attached) are expressed elsewhere, not as fields on this message.
Hide 12 properties
service Service
Parent service or organization.
land_echelon LandEchelon
naval_formation NavalFormation
air_echelon AirEchelon
joint_formation JointFormation
branch Branch
Branch or functional area. Primarily an Army/Marine ground-force classification; Navy and Air Force use different classification systems and may leave this unspecified.
uic string
Unit Identification Code or service equivalent. Army and Marines use UIC; Navy uses SNDL UIC; Air Force uses PAS.
strength_authorized uint32 optional
Authorized strength per MTOE or TDA.
strength_assigned uint32 optional
Assigned strength (currently assigned personnel).
strength_available uint32 optional
Present-for-duty strength (available for operations).
casualties CasualtySummary
Casualty summary. The standard PERSTAT breakdown for force-level SA.
combat_status CombatStatus
Overall combat effectiveness assessment. Distinct from casualties; answers "can this unit still fight?"
AirEchelon enum
Air Force and Space Force unit hierarchy.
AIR_ECHELON_UNSPECIFIED = 0
AIR_ECHELON_ELEMENT = 1
AIR_ECHELON_FLIGHT = 2
AIR_ECHELON_SQUADRON = 3
AIR_ECHELON_GROUP = 4
AIR_ECHELON_WING = 5
AIR_ECHELON_DELTA = 6 Space Force Delta
AIR_ECHELON_NUMBERED_AIR_FORCE = 7
AIR_ECHELON_MAJOR_COMMAND = 8
Branch enum
Military branch or functional area (Army and Marine Corps). Army classification per DA PAM 600-3. Marines use similar categories via MCO 1000.8. Navy and Air Force use different classification systems and should leave Branch unspecified.
BRANCH_UNSPECIFIED = 0
BRANCH_INFANTRY = 1
BRANCH_ARMOR = 2
BRANCH_ARTILLERY = 3
BRANCH_ENGINEER = 4
BRANCH_SIGNAL = 5
BRANCH_AVIATION = 6
BRANCH_LOGISTICS = 7
BRANCH_MEDICAL = 8
BRANCH_MILITARY_INTELLIGENCE = 9
BRANCH_MILITARY_POLICE = 10
BRANCH_CYBER = 11
BRANCH_AIR_DEFENSE = 12
BRANCH_SPECIAL_OPERATIONS = 13
BRANCH_CHEMICAL = 14
BRANCH_CIVIL_AFFAIRS = 15
CombatStatus enum
Combat effectiveness assessment for a unit. Summarizes the unit's ability to execute its assigned missions, integrating casualty state, equipment losses, and morale. Typically assessed by the unit commander and reported up the chain.
COMBAT_STATUS_UNSPECIFIED = 0
COMBAT_STATUS_OPERATIONAL = 1 Unit is fully operational and can execute assigned missions.
COMBAT_STATUS_DEGRADED = 2 Unit is operational but has taken losses or is degraded in capability.
COMBAT_STATUS_DAMAGED = 3 Unit has taken significant damage but retains some combat capability.
COMBAT_STATUS_COMBAT_INEFFECTIVE = 4 Unit is unable to effectively execute combat missions. Requires reconstitution before returning to operations.
COMBAT_STATUS_DESTROYED = 5 Unit is destroyed. No longer a viable combat formation.
JointFormation enum
Joint or combined organizational formations.
JOINT_FORMATION_UNSPECIFIED = 0
JOINT_FORMATION_JOINT_TASK_FORCE = 1
JOINT_FORMATION_COMBINED_JOINT_TASK_FORCE = 2
JOINT_FORMATION_FUNCTIONAL_COMPONENT_COMMAND = 3
JOINT_FORMATION_SUBORDINATE_UNIFIED_COMMAND = 4
JOINT_FORMATION_COMBATANT_COMMAND = 5
LandEchelon enum
Land forces (Army and Marine ground units) unit echelon.
LAND_ECHELON_UNSPECIFIED = 0
LAND_ECHELON_TEAM = 1 Fire team, crew
LAND_ECHELON_SQUAD = 2
LAND_ECHELON_SECTION = 3
LAND_ECHELON_PLATOON = 4
LAND_ECHELON_COMPANY = 5 Company, battery, troop
LAND_ECHELON_BATTALION = 6 Battalion, squadron
LAND_ECHELON_REGIMENT = 7
LAND_ECHELON_BRIGADE = 8
LAND_ECHELON_DIVISION = 9
LAND_ECHELON_CORPS = 10
LAND_ECHELON_FIELD_ARMY = 11
LAND_ECHELON_ARMY_GROUP = 12
LAND_ECHELON_THEATER_ARMY = 13
LAND_ECHELON_MEU = 14 Marine Expeditionary Unit
LAND_ECHELON_MEB = 15 Marine Expeditionary Brigade
LAND_ECHELON_MEF = 16 Marine Expeditionary Force
NavalFormation enum
Naval task organization or administrative formation.
NAVAL_FORMATION_UNSPECIFIED = 0
NAVAL_FORMATION_UNIT = 1 Single vessel or submarine
NAVAL_FORMATION_DIVISION = 2
NAVAL_FORMATION_SQUADRON = 3
NAVAL_FORMATION_TASK_ELEMENT = 4
NAVAL_FORMATION_TASK_UNIT = 5
NAVAL_FORMATION_TASK_GROUP = 6
NAVAL_FORMATION_TASK_FORCE = 7
NAVAL_FORMATION_CARRIER_STRIKE_GROUP = 8
NAVAL_FORMATION_EXPEDITIONARY_STRIKE_GROUP = 9
NAVAL_FORMATION_AMPHIBIOUS_READY_GROUP = 10
NAVAL_FORMATION_CARRIER_AIR_WING = 11
NAVAL_FORMATION_FLEET = 12
Service enum
Service or parent organization of a military unit.
SERVICE_UNSPECIFIED = 0
SERVICE_ARMY = 1
SERVICE_NAVY = 2
SERVICE_AIR_FORCE = 3
SERVICE_MARINE_CORPS = 4
SERVICE_SPACE_FORCE = 5
SERVICE_COAST_GUARD = 6
SERVICE_JOINT = 7 Joint task force, combatant command
SERVICE_COALITION = 8 NATO or multinational formation

## raft/wdm/v1/platform.proto

Endurance message
Computed endurance based on current consumption rate. Reported by the object's controller, which knows the actual consumption profile (loiter vs transit vs combat). External observers cannot derive this from fuel quantity alone.
Hide 3 properties
duration_seconds double optional
Total endurance duration from full capacity at current consumption rate, in seconds.
duration_end Timestamp
Absolute time at which endurance is exhausted at current consumption rate.
percent double optional
Endurance remaining as a percentage (0 to 100).
Expendables message
Fuel, ordnance, gun ammunition, and endurance state. Domain-agnostic: applicable to aircraft, ground vehicles, ships, and any other object that carries fuel, munitions, or guns.
Hide 4 properties
fuel FuelState repeated
Current fuel state. Multiple entries for platforms with more than one fuel type (e.g., JP-8 plus diesel on a naval vessel).
ordnance Ordnance repeated
Expendable ordnance carried by the object. Covers weapons, countermeasures, and other deployable stores (sonobuoys, flares).
guns GunState repeated
Onboard gun ammunition state. Multiple entries for platforms with more than one gun system.
endurance Endurance
Computed endurance at current consumption rate.
FuelState message
Current fuel state for a single fuel type.
Hide 3 properties
fuel_type string
Fuel type designation (e.g., "JP-8", "F-76", "AVGAS").
quantity_kg double optional
Current fuel quantity in kilograms.
capacity_kg double optional
Maximum fuel capacity in kilograms.
GunState message
Onboard gun ammunition state.
Hide 3 properties
system string
Gun system identifier (e.g., "M61A2", "GAU-8/A", "Mk 45 Mod 4").
round_type string
Type of rounds loaded (e.g., "20MM PGU-28", "30MM PGU-13 HEI").
rounds_remaining uint32
Rounds remaining.
Ordnance message
A single expendable ordnance type.
Hide 3 properties
type string
Designator (e.g., "AIM-120C", "MJU-27", "SSQ-62").
name string
Human-readable name (e.g., "AMRAAM", "Flare", "Sonobuoy").
quantity uint32
Number of units currently carried.
PlatformStatus message
Platform operational status: readiness, subsystem state, power, and notices. Reports the operational condition of a platform and its subsystems. Applicable to friendly force objects where readiness is operationally relevant.
Hide 6 properties
readiness Readiness
Top-level platform readiness assessment (capability).
alert_posture AlertPosture
Current alert posture (responsiveness). Orthogonal to readiness: a platform may be fully mission capable but on extended alert (e.g., in maintenance), or partially mission capable but on immediate alert.
link_state LinkState
Data link state.
power PowerPlant repeated
Power plants installed on this platform. Multiple entries for platforms with more than one power source.
subsystems SubsystemStatus repeated
Per-subsystem operational state.
notices StatusNotice repeated
Active status notices (faults, cautions, advisories).
PowerPlant message
An installed power plant on a platform. Platforms commonly have multiple power plants (main battery, auxiliary generator, shore power, APU). Each is reported independently so consumers can tell which plant is operational and which is the current primary.
Hide 6 properties
plant_id string
Identifier for this power plant, unique within the object.
kind PowerPlantKind
Kind of power plant.
charge_percent double optional
Remaining capacity as a percentage (0 to 100).
output_voltage double optional
Measured output voltage in volts.
runtime_remaining_seconds double optional
Estimated runtime remaining at current draw in seconds.
supplying bool optional
Whether this plant is currently supplying load.
StatusNotice message
A platform-level status notice (fault, caution, advisory). Severity follows ICAO Annex 4 / FAA Order 7110.65 cockpit Warning/Caution/Advisory conventions.
Hide 4 properties
notice_id string
Notice identifier (system-defined code).
summary string
Short human-readable summary.
severity NoticeSeverity
Notice severity per ICAO Annex 4 WCA convention.
raised_at Timestamp
Time the notice was raised.
SubsystemStatus message
State of a single platform subsystem. A subsystem is a named functional element of the platform: engine, GPS, turret, radar, fire control, etc. The specific set of subsystems is platform-specific.
Hide 4 properties
subsystem_id string
Identifier for this subsystem, unique within the object.
label string
Human-readable name (e.g., "Engine", "GPS", "Fire Control").
state SubsystemState
Current operational state.
detail string
Diagnostic or status message from the subsystem.
AlertPosture enum
Platform alert posture (responsiveness). Describes how quickly the platform can begin executing its mission from its current state. Aligned with US Army REDCON levels and common aviation alert categories (5-minute alert, 15-minute alert, etc.).
ALERT_POSTURE_UNSPECIFIED = 0
ALERT_POSTURE_IMMEDIATE = 1 Ready to execute immediately (seconds to minutes). Corresponds to REDCON-1 / 5-minute alert.
ALERT_POSTURE_SHORT_NOTICE = 2 Ready within approximately 15 minutes. Corresponds to REDCON-2 / 15-minute alert.
ALERT_POSTURE_MODERATE_NOTICE = 3 Ready within approximately 1 hour. Corresponds to REDCON-3.
ALERT_POSTURE_EXTENDED = 4 Requires significant preparation time (multiple hours). Corresponds to REDCON-4.
ALERT_POSTURE_STAND_DOWN = 5 Not currently on alert (e.g., stood down for maintenance, training, or rest).
LinkState enum
State of a platform's data link to its command authority or mesh.
LINK_STATE_UNSPECIFIED = 0
LINK_STATE_UP = 1
LINK_STATE_DOWN = 2
LINK_STATE_INTERMITTENT = 3
NoticeSeverity enum
Status notice severity per ICAO Annex 4 and FAA Order 7110.65.
NOTICE_SEVERITY_UNSPECIFIED = 0
NOTICE_SEVERITY_ADVISORY = 1
NOTICE_SEVERITY_CAUTION = 2
NOTICE_SEVERITY_WARNING = 3
PowerPlantKind enum
Kind of power plant.
POWER_PLANT_KIND_UNSPECIFIED = 0
POWER_PLANT_KIND_BATTERY = 1
POWER_PLANT_KIND_GENERATOR = 2
POWER_PLANT_KIND_VEHICLE_BUS = 3
POWER_PLANT_KIND_SOLAR = 4
POWER_PLANT_KIND_SHORE = 5 External / shore / ground power
POWER_PLANT_KIND_APU = 6 Auxiliary power unit
Readiness enum
Platform readiness assessment (capability).
READINESS_UNSPECIFIED = 0
READINESS_FMC = 1 Fully Mission Capable
READINESS_PMC = 2 Partially Mission Capable
READINESS_NMC = 3 Not Mission Capable
SubsystemState enum
Operational state of a platform subsystem.
SUBSYSTEM_STATE_UNSPECIFIED = 0
SUBSYSTEM_STATE_NOMINAL = 1
SUBSYSTEM_STATE_DEGRADED = 2
SUBSYSTEM_STATE_FAULT = 3
SUBSYSTEM_STATE_OFFLINE = 4
SUBSYSTEM_STATE_STANDBY = 5

## raft/wdm/v1/relationship.proto

Typed, directed relationships between objects: C2 authority, organizational hierarchy, sensor/engagement links, support, and compositional groupings.

Relationship message
A typed, directed link between this object and another. Relationships are directional: this object is the "subject" and the related object is the "object." For example, if object A has a relationship with type COMMANDS pointing to object B, the semantics are "A commands B." Bidirectional relationships are represented by each side carrying complementary types (e.g., A carries COMMANDS -> B, B carries COMMANDED_BY -> A). The system does not enforce bidirectional consistency automatically; producers are responsible for keeping both sides in sync. This is deliberate: in a DDIL scenario, automatic enforcement creates distributed consistency problems. Distinct from correlation, which links objects representing the same real-world thing. Relationships link distinct objects that have operational, organizational, or functional connections. Examples: - Brigade OPCON over a battalion. - Sensor tracking a target. - Fire unit supporting a maneuver unit. - Weapon-target pairing during engagement.
Hide 5 properties
object_id string
Object ID of the related object.
relationship_id string
Unique identifier for this relationship instance. Allows targeted updates and removals when an object has multiple relationships of the same type to different objects.
type RelationshipType
Classification of this relationship.
effective_time Timestamp
When this relationship became effective.
remarks string
Free-form remarks providing context, conditions, or authority for this relationship.
RelationshipType enum
Classification of a directed relationship between two objects.
RELATIONSHIP_TYPE_UNSPECIFIED = 0
RELATIONSHIP_TYPE_COMMANDS = 1 This object exercises command authority over the related object.
RELATIONSHIP_TYPE_COMMANDED_BY = 2 This object is commanded by the related object.
RELATIONSHIP_TYPE_OPCON_TO = 3 Operational control. The related object has directive authority over this object for specific operations, but not administrative or logistics authority.
RELATIONSHIP_TYPE_TACON_TO = 4 Tactical control. The related object has local direction and control over movements or maneuvers of this object.
RELATIONSHIP_TYPE_ADCON_TO = 5 Administrative control. The related object has authority over administrative and logistics matters for this object.
RELATIONSHIP_TYPE_ATTACHED_TO = 6 This object is attached to the related object's organization. Attached units are temporarily placed under another unit's C2 for the duration of the attachment.
RELATIONSHIP_TYPE_PARENT_UNIT = 7 This object is the parent unit of the related object in the organizational hierarchy (ORBAT).
RELATIONSHIP_TYPE_SUBORDINATE_TO = 8 This object is a subordinate (child) of the related object in the organizational hierarchy.
RELATIONSHIP_TYPE_MEMBER_OF = 9 This object is a member of the group represented by the related object. Used for ad-hoc groupings, task forces, and composite organizations.
RELATIONSHIP_TYPE_TRACKS = 10 This object's sensor is actively tracking the related object.
RELATIONSHIP_TYPE_TRACKED_BY = 11 This object is being tracked by the related object's sensor.
RELATIONSHIP_TYPE_ENGAGES = 12 This object (weapon/fire unit) is engaged against the related object (target). Covers weapon-target pairing during the engagement lifecycle.
RELATIONSHIP_TYPE_ENGAGED_BY = 13 This object is being engaged by the related object.
RELATIONSHIP_TYPE_DESIGNATES = 14 This object provides targeting data for the related object (e.g., a forward observer designating for a fire unit).
RELATIONSHIP_TYPE_SUPPORTS = 15 This object has a direct support relationship to the related object. The supported unit has priority of the supporting unit's fires/assets.
RELATIONSHIP_TYPE_SUPPORTED_BY = 16 This object is supported by the related object.
RELATIONSHIP_TYPE_REINFORCES = 17 This object is reinforcing the related object. Similar to direct support but the reinforcing unit retains its existing support mission as well.
RELATIONSHIP_TYPE_COLLOCATED_WITH = 18 This object is collocated with the related object.
RELATIONSHIP_TYPE_CONTAINS = 19 This object contains the related object. Models arbitrary compositional hierarchies, groupings, and collections.
RELATIONSHIP_TYPE_CONTAINED_BY = 20 This object is contained by the related object.
RELATIONSHIP_TYPE_FUSED_FROM = 21 This object was created by fusing the related objects. Distinct from correlation (which links separate objects representing the same real-world thing); fusion produces a single synthetic object from multiple inputs.
RELATIONSHIP_TYPE_AMPLIFIES = 22 This object provides supplementary detail about the related object (e.g., an intelligence product elaborating on a track).
RELATIONSHIP_TYPE_REPORTING_RESPONSIBILITY = 23 This object has reporting responsibility for the related object. Distinct from TRACKS (active sensor contact) and COMMANDS (authority).

## raft/wdm/v1/security.proto

Security markings and classification handling for warfighting records.

SecurityComponents message
Structured decomposition of an ISM classification marking.
Hide 10 properties
classification string
Overall classification level (e.g., UNCLASSIFIED, CONFIDENTIAL, SECRET, TOP SECRET).
owner_producer string repeated
Originating owner/producer country or organization trigraphs. Example: ["USA"], ["USA", "GBR"].
dissemination_controls string repeated
Dissemination control markings (e.g., NOFORN, REL TO).
releasable_to string repeated
Authorized release recipients (e.g., ["FVEY"], ["USA", "GBR", "AUS"]).
sci_controls string repeated
Sensitive Compartmented Information controls.
sap_controls string repeated
Special Access Program controls.
non_ic_markings string repeated
Non-IC markings used outside the IC.
program_nicknames string repeated
Program nicknames associated with this marking.
fgi_source_open string repeated
Foreign government information source identifiers (open).
fgi_source_protected string repeated
Foreign government information source identifiers (protected).
SecurityMarking message
Normalized classification marking for a warfighting record. Carries both a raw human-readable marking string and a structured decomposition of its components. Compatible with information security marking (ISM) format used across the intelligence community (IC) for ISM metadata.
Hide 2 properties
raw string
Raw ISM marking string as displayed on the source document or message header. Example: "TOP SECRET//SI/TK//NOFORN".
components SecurityComponents
Decomposed structured components of the marking.

## raft/wdm/v1/sensor.proto

Sensor message
A sensor mounted on a warfighting object. Groups one or more fields of view under a named, typed sensor. Examples: "search radar", "spherical sonar array", "EO turret".
Hide 4 properties
name string
Human-readable name for the sensor.
modality SensorModality
Sensor modality classification (e.g., EO, IR, SAR, RADAR, SONAR).
type string
Free-form sensor type or model designation (e.g., "AN/APG-81", "Mk 92 Mod 6"). Use for producer-specific details that do not fit a standard modality.
coverage SensorCoverage repeated
Coverage volumes for this sensor.
SensorCoverage message
A 3D coverage volume for a sensor. Describes the volume the sensor observes as an angular cone (or pyramid for asymmetric coverage) with optional range bounds. Optionally includes a pre-computed 2D ground projection so consumers without terrain data can render the footprint directly.
Hide 7 properties
type CoverageType
Coverage behavior (fixed, roving, cued).
look_orientation Orientation
Boresight direction in the object's body frame. Consumers may compose this with the parent object's `location.orientation` to derive absolute look direction.
horizontal_fov_degrees double optional
Total horizontal (azimuth) angular extent in degrees.
vertical_fov_degrees double optional
Total vertical (elevation) angular extent in degrees.
min_range_meters double optional
Minimum useful range in meters.
max_range_meters double optional
Maximum useful range in meters.
ground_footprint Polygon
Pre-computed 2D projection of the coverage volume onto terrain.
CoverageType enum
Coverage behavior classification. Aligned with NATO STANAG 4676 (AEDP-4676).
COVERAGE_TYPE_UNSPECIFIED = 0
COVERAGE_TYPE_FIXED = 1 Stationary coverage pointed at a fixed area.
COVERAGE_TYPE_ROVING = 2 Scanning or roving coverage that sweeps across an area.
COVERAGE_TYPE_CUED = 3 Coverage directed by an external cue (e.g., tip from another sensor, operator designation, or automated cueing system).
SensorModality enum
Sensor modality classification. Describes the physical phenomenon the sensor measures. Aligned with NATO STANAG 4676 (AEDP-4676).
SENSOR_MODALITY_UNSPECIFIED = 0
SENSOR_MODALITY_EO = 1 Electro-optical (visible-light imagery).
SENSOR_MODALITY_IR = 2 Infrared / thermal imagery.
SENSOR_MODALITY_SAR = 3 Synthetic-aperture radar.
SENSOR_MODALITY_RADAR = 4 Generic search or track radar.
SENSOR_MODALITY_MTI = 5 Moving target indicator (ground or dismount MTI).
SENSOR_MODALITY_SONAR = 6 Active or passive sonar.
SENSOR_MODALITY_LIDAR = 7 LIDAR / laser range finder.
SENSOR_MODALITY_SIGINT = 8 Signals intelligence (general SIGINT collection).
SENSOR_MODALITY_ELINT = 9 Electronic intelligence (radar / emitter-focused SIGINT).
SENSOR_MODALITY_COMINT = 10 Communications intelligence (comms-focused SIGINT).
SENSOR_MODALITY_MASINT = 11 Measurement and signature intelligence.
SENSOR_MODALITY_MSI = 12 Multispectral imagery.
SENSOR_MODALITY_HSI = 13 Hyperspectral imagery.
SENSOR_MODALITY_ACOUSTIC = 14 Acoustic (non-sonar, e.g., gunshot detection).
SENSOR_MODALITY_SEISMIC = 15 Seismic.
SENSOR_MODALITY_MAGNETIC = 16 Magnetic / magnetometry.
SENSOR_MODALITY_CBRN = 17 Chemical, biological, radiological, or nuclear detection.
SENSOR_MODALITY_HUMAN = 18 Human observation (human intelligence).
SENSOR_MODALITY_OTHER = 19 Sensor modality not covered by the values above.

## raft/wdm/v1/signal.proto

EmitterNotation message
Emitter notation identification.
Hide 3 properties
notation string
ELNOT or CENOT identifier string.
confidence double optional
Confidence that the identification is correct. Range: 0.0 to 1.0.
type EmitterNotationType
Classification system of this notation.
LineOfBearing message
Direction measurement toward a signal source.
Hide 6 properties
azimuth_degrees double optional
Azimuth in degrees from true north. Range: 0.0 to 360.0.
azimuth_sigma_degrees double optional
Azimuth uncertainty (1 sigma) in degrees.
elevation_degrees double optional
Elevation angle in degrees from the horizontal plane. Positive values indicate above the horizon. Range: -90.0 to 90.0.
elevation_sigma_degrees double optional
Elevation uncertainty (1 sigma) in degrees.
distance_meters double optional
Estimated distance to the signal source in meters.
distance_sigma_meters double optional
Distance uncertainty (1 sigma) in meters.
ScanBehavior message
Scanning behavior of a signal source.
Hide 2 properties
scan_type ScanType
Scan pattern type.
scan_period_seconds double optional
Scan period in seconds.
SignalInfo message
Signal-domain attributes for SIGINT and ELINT entities. Core fields (frequency, RSSI, line of bearing) support basic signal representation. Extended fields (SNR, pulse characteristics, scan behavior, emitter notations, agile frequency range) support ELINT classification and EW-to-fires candidate scoring. Supports standard ELINT emitter notation and communications emitter notation conventions.
Hide 12 properties
frequency_hz double optional
Center frequency in Hz.
rssi_dbm double optional
Received signal strength in dBm.
line_of_bearing LineOfBearing
Direction to the signal source.
snr_db double optional
Signal-to-noise ratio in dB.
pulse_width_seconds double optional
Pulse width in seconds.
pri_seconds double optional
Pulse repetition interval in seconds.
bandwidth_hz double optional
Signal bandwidth in Hz.
emitter_notations EmitterNotation repeated
Emitter notation identifiers with classification confidence.
scan ScanBehavior
Scanning behavior of the signal source.
modulation SignalModulation
Modulation type.
frequency_min_hz double optional
Minimum frequency in Hz for agile or hopping emitters.
frequency_max_hz double optional
Maximum frequency in Hz for agile or hopping emitters.
EmitterNotationType enum
Emitter notation classification system.
EMITTER_NOTATION_TYPE_UNSPECIFIED = 0
EMITTER_NOTATION_TYPE_ELNOT = 1 Electronic Intelligence Notation. Non-communications emitters such as radars, navigation aids, and EW systems.
EMITTER_NOTATION_TYPE_CENOT = 2 Communications Emitter Notation. Communications emitters such as radios, data links, and satellite uplinks.
ScanType enum
Radar or emitter scan pattern type.
SCAN_TYPE_UNSPECIFIED = 0
SCAN_TYPE_CIRCULAR = 1
SCAN_TYPE_SECTOR = 2
SCAN_TYPE_CONICAL = 3
SCAN_TYPE_RASTER = 4
SCAN_TYPE_AGILE_BEAM = 5
SCAN_TYPE_NON_SCANNING = 6
SCAN_TYPE_IRREGULAR = 7
SignalModulation enum
Signal modulation type.
SIGNAL_MODULATION_UNSPECIFIED = 0
SIGNAL_MODULATION_PULSE = 1
SIGNAL_MODULATION_CW = 2
SIGNAL_MODULATION_CHIRP = 3
SIGNAL_MODULATION_FREQUENCY_HOPPED = 4
SIGNAL_MODULATION_PHASE_CODED = 5

## raft/wdm/v1/spatial.proto

Spatial primitives: positions, geometries, motion, and orientation.

Circle message
A circle defined by a center point and radius. No GeoJSON equivalent but widely used in military applications. Examples: engagement area, weapon effects radius, sensor range ring, circular error probable (CEP).
Hide 3 properties
center Position
Center position of the circle.
radius_meters double
Radius in meters.
height_meters double
Optional extrusion height in meters. When non-zero creates a cylinder.
CovarianceMatrix3 message
Upper triangle of a symmetric 3x3 covariance matrix. [ xx xy xz ] [ yy yz ] [ zz ]
Hide 6 properties
xx double
xy double
xz double
yy double
yz double
zz double
Ellipse message
An ellipse defined by center, semi-axes, and orientation. For a circle, set semi_major_axis_meters == semi_minor_axis_meters. Not GeoJSON compatible. Examples: positional uncertainty ellipse, radar coverage footprint, communications coverage area.
Hide 5 properties
center Position
Center position of the ellipse.
semi_major_axis_meters double
Semi-major axis length in meters.
semi_minor_axis_meters double
Semi-minor axis length in meters.
orientation_degrees double
Orientation of the semi-major axis in degrees clockwise from true north. Range: 0.0 to 180.0.
height_meters double
Optional extrusion height in meters.
ErrorEllipse message
Uncertainty expressed as an error ellipse, without requiring conversion to a covariance matrix.
Hide 4 properties
semi_major_axis_meters double optional
Semi-major axis length in meters.
semi_minor_axis_meters double optional
Semi-minor axis length in meters.
orientation_degrees double optional
Orientation of the semi-major axis in degrees clockwise from true north. Range: 0.0 to 180.0.
confidence double optional
Probability that the true value lies within the ellipse. Range: 0.0 to 1.0.
LinearRing message
A closed ring of positions forming a polygon boundary. The first and last positions must be identical to close the ring. Must contain at least 4 positions (3 distinct vertices + closing point). Winding order follows GeoJSON convention: - Exterior rings: counter-clockwise. - Interior rings (holes): clockwise.
Hide 1 properties
positions Position repeated
Ordered positions forming the closed ring.
Motion message
Velocity and acceleration in the local East-North-Up (ENU) frame. ENU is a local tangent plane coordinate system: East: positive toward geographic east. North: positive toward geographic north. Up: positive away from Earth center.
Hide 4 properties
velocity_enu_mps Vector3
Velocity components in meters per second. x=East, y=North, z=Up.
acceleration_enu_mps2 Vector3
Acceleration components in m/s^2. Non-zero values indicate active maneuvering.
speed_mps double optional
Horizontal speed over ground in meters per second.
velocity_covariance CovarianceMatrix3
Velocity covariance in the local ENU frame (m/s)^2. Upper triangle of the 3x3 symmetric covariance matrix.
Orientation message
Orientation (attitude) in 3D space using Tait-Bryan Euler angles. Order: yaw (heading) -> pitch -> roll.
Hide 3 properties
heading_degrees double optional
Heading (yaw) in degrees from true north, clockwise. Range: 0.0 to 360.0.
pitch_degrees double optional
Pitch angle in degrees. Positive is nose or bow up. Range: -90.0 to +90.0.
roll_degrees double optional
Roll angle in degrees. Positive is right wing or starboard down. Range: -180.0 to +180.0.
Point message
A single geographic point. GeoJSON equivalent: Point. See https://datatracker.ietf.org/doc/html/rfc7946#section-3.1.2 Examples: observation post, waypoint, point target.
Hide 1 properties
position Position
Geographic position of the point.
Polygon message
A closed polygon defined by an exterior ring and optional interior holes. GeoJSON equivalent: Polygon (only canonical representations accepted). See https://datatracker.ietf.org/doc/html/rfc7946#section-3.1.6 Follows the right-hand rule: exterior rings are counter-clockwise, interior rings (holes) are clockwise. Examples: area of operations (AO), engagement area, named area of interest (NAI), restricted operations zone (ROZ).
Hide 2 properties
rings LinearRing repeated
Rings defining the polygon boundary. rings[0]: exterior boundary (required). rings[1..N]: interior holes (optional).
height_meters double
Optional uniform height above base positions to extrude in meters. Creates a prism from the 2D polygon. When 0/unset, polygon is 2D. Strictly GeoJSON-compatible polygons will not have this set.
Polyline message
An ordered sequence of positions forming a line or path. GeoJSON equivalent: LineString. See https://datatracker.ietf.org/doc/html/rfc7946#section-3.1.4 Must contain at least 2 positions. Examples: route, main supply route (MSR), phase line, flight path.
Hide 1 properties
positions Position repeated
Ordered sequence of positions defining the line.
Position message
Geographic position in WGS-84 coordinates with multiple altitude references for interoperability across domains.
Hide 7 properties
latitude_degrees double
WGS-84 geodetic latitude in decimal degrees. Range: -90.0 to +90.0.
longitude_degrees double
WGS-84 geodetic longitude in decimal degrees. Range: -180.0 to +180.0.
altitude_hae_meters double optional
Height Above Ellipsoid in meters. Positive above, negative below. Preferred for precision applications.
altitude_agl_meters double optional
Altitude Above Ground Level in meters. Requires a terrain elevation database.
altitude_msl_meters double optional
Mean Sea Level altitude in meters. Common in aviation.
depth_meters double optional
Depth below the surface in meters, for subsurface operations. Positive values indicate depth.
mgrs string
Military Grid Reference System coordinate (e.g., "4QFJ 12345 67890" -- 10-digit, 1 m precision).
Rectangle message
A rectangle defined by two centerline points and a width. The two points define the centerline (long axis) of the rectangle. The width extends perpendicular to that line on both sides. Orientation is implicit from the bearing of point_1 to point_2. ┌─────────────────────┐ │ ^ │ │ │ │ point_1 width point_2 │ │ │ │ v │ └─────────────────────┘ Structurally guarantees a valid rectangle. No GeoJSON equivalent but widely used in military applications. Examples: kill box, fire support area, restricted fire area (RFA), no-fire area (NFA), free-fire area (FFA).
Hide 4 properties
point_1 Position
First endpoint of the centerline.
point_2 Position
Second endpoint of the centerline.
width_meters double
Total width in meters, extending perpendicular to the centerline.
height_meters double
Optional extrusion height in meters.
SpatialGeometry message
Structured geometric shape for spatial representation. Use for boundaries, coverage areas, routes, sensor footprints, and other non-point geometries. Exactly one shape type must be set. The shape defines spatial extent: boundaries, coverage areas, routes, sensor footprints, and other non-point geometries. For simple points, use prefer location instead. GeoJSON (RFC 7946) compatibility: - Point, Polyline, and Polygon map directly to GeoJSON Point, LineString, and Polygon types. - Circle, Ellipse, and Rectangle have no GeoJSON equivalent but are common in military and geospatial applications.
Hide 6 properties
point Point
Single geographic point.
polyline Polyline
Ordered sequence of positions forming a line.
polygon Polygon
Closed area defined by one or more rings (exterior boundary + holes).
circle Circle
Circle defined by center point and radius.
ellipse Ellipse
Ellipse defined by center, semi-axes, and orientation.
rectangle Rectangle
Rectangle defined by two centerline points and a width.
SpatialLocation message
Geographic position, orientation, and uncertainty of a warfighting object. Combines where the object is (position) with how it is oriented (attitude), plus uncertainty covariance and error ellipse. Position uses the WGS-84 datum with multiple altitude representations to support different operational contexts (e.g., aviation, subsurface, terrain following, space).
Hide 5 properties
position Position
Geographic position (latitude, longitude, altitude).
orientation Orientation
Orientation in 3D space (heading, pitch, roll).
position_covariance CovarianceMatrix3
Position covariance in the local ENU frame (meters^2). Upper triangle of the 3x3 symmetric covariance matrix.
position_error_ellipse ErrorEllipse
Source-reported positional error ellipse. Center is implied by `position`.
position_source PositionSource
How the position was derived. Consumers use this to weight the position during fusion or to flag stale/estimated fixes.
Vector3 message
Generic 3D vector in the applicable reference frame.
Hide 3 properties
x double
y double
z double
PositionSource enum
How a geographic position was derived. Informs fusion logic and consumer trust: a GPS fix is typically more reliable than an INS dead-reckoned position, which is more reliable than an extrapolation from a last-known location.
POSITION_SOURCE_UNSPECIFIED = 0
POSITION_SOURCE_GNSS = 1 Derived from a GNSS receiver.
POSITION_SOURCE_INS = 2 Derived from an inertial navigation system.
POSITION_SOURCE_RADAR = 3 Derived from radar returns.
POSITION_SOURCE_OPTICAL = 4 Derived from optical or infrared imagery / tracking.
POSITION_SOURCE_ACOUSTIC = 5 Derived from an acoustic sensor (e.g., sonar, hydrophone, gunshot localization).
POSITION_SOURCE_SIGNAL = 6 Derived from signal-based geolocation (e.g., RF direction finding, time-difference-of-arrival, cell tower).
POSITION_SOURCE_CALCULATED = 7 Computed or estimated from available data (e.g., extrapolation, triangulation, correlation, ML inference).
POSITION_SOURCE_LAST_KNOWN = 8 Last-known position; the object's current location is unknown and this value reflects the most recent observation.
POSITION_SOURCE_MANUAL = 9 Manually entered by an operator.
POSITION_SOURCE_SIMULATED = 10 Simulated position (e.g., training, exercise, test).
POSITION_SOURCE_MENSURATED = 11 Measured from a georectified image by an operator (e.g., clicking a feature on imagery). Distinct from OPTICAL, which covers automated optical/IR tracking.
POSITION_SOURCE_ESTIMATED = 12 Human estimate without formal computation (e.g., eyeballed from a map). Lower trust than CALCULATED.
POSITION_SOURCE_TRANSCRIBED = 13 Captured from a voice report, radio call, or narrative (e.g., a spotter calling in a grid reference). Different trust profile than direct sensor data.
POSITION_SOURCE_MAYDAY = 14 Emergency beacon or distress signal position (e.g., 9-1-1, MAYDAY).

## raft/wdm/v1/symbology.proto

SidcModifiers message
Typed MIL-STD-2525C symbol modifier fields. Each field corresponds to a modifier defined in MIL-STD-2525C, Appendix A, Table XIV. The field comment includes the 2525C modifier letter code in parentheses. All fields are optional; populate only what is known and relevant. Reference: MIL-STD-2525C, Appendix A, Table XIV.
Hide 28 properties
quantity int32
(C) Quantity of equipment or personnel represented by the symbol.
reinforced_reduced string
(F) Reinforced or reduced status. Values: "R" (reinforced), "D" (reduced), "RD" (reinforced and reduced).
staff_comments string
(G) Staff comments. Free-form text annotation (max 20 chars per spec).
additional_info string
(H) Additional information. Free-form text (max 20 chars per spec).
additional_info_2 string
(H1) Additional information, second line.
additional_info_3 string
(H2) Additional information, third line.
evaluation_rating string
(J) Evaluation rating. Reliability and credibility indicator (2-character code per US Army FM 2-22.3).
combat_effectiveness string
(K) Combat effectiveness. Unit readiness or installation capability indicator (max 5 chars per spec).
signature_equipment string
(L) Signature equipment. Detectable electronic signature.
higher_formation string
(M) Higher formation. Parent unit or higher echelon designation (max 21 chars per spec).
iff_sif string
(P) IFF/SIF identification mode and code (max 5 chars per spec).
direction_of_movement double
(Q) Direction of movement in degrees from true north (0.0-360.0).
sigint_mobility string
(R2) SIGINT mobility indicator code.
unique_designation string
(T) Unique designation. Primary identifier for the symbol (max 21 chars per spec).
unique_designation_2 string
(T1) Unique designation, second line.
type string
(V) Type of equipment. Platform or equipment descriptor (max 24 chars per spec).
effective_time Timestamp
(W) Date-time group for effective time. Stored as a structured timestamp; render as DTG for display.
expiration_time Timestamp
(W1) Date-time group for expiration time. Stored as a structured timestamp; render as DTG for display.
altitude_depth double repeated
(X) Altitude or depth values in meters. Supports multiple values for multi-point tactical graphics.
location string
(Y) Location in any desired display format (max 19 chars per spec). Typically DMS, MGRS, or other coordinate representation.
speed SpeedModifier
(Z) Speed of the symbol. Structured as value + unit for clarity.
special_c2_headquarters string
(AA) Special C2 headquarters designation.
platform_type string
(AD) Platform type. ELNOT or CENOT notation for SIGINT symbols.
equipment_teardown_time double
(AE) Equipment teardown time in minutes.
common_identifier string
(AF) Common identifier. Common name for the equipment (e.g., "Hawk" for a Hawk SAM system).
distance double repeated
(AM) Distance in meters. Supports multiple values for radius, length, width of tactical graphics.
azimuth double repeated
(AN) Azimuth values in degrees from true north. Supports multiple values for tactical graphics with multiple orientation parameters.
engagement_bar string
(AO) Engagement bar. Target engagement status indicator.
SpeedModifier message
Speed with explicit unit of measure. Used for the MIL-STD-2525C speed modifier (Z) where the unit system may vary by operational context.
Hide 2 properties
value double
Numeric speed value.
unit string
Unit of measure (e.g., "kt", "km/h", "m/s", "mph").
Symbology message
Typed military symbology representation supporting MIL-STD-2525C/D. Provides both a raw SIDC string for interoperability and a decomposed, typed modifier structure for programmatic access. Consumers should prefer the typed modifiers when available; the raw sidc field serves as a canonical interchange format. Example (2525C friendly ground mechanized infantry): symbology { sidc: "SFGPUCIZ--*****" version: SIDC_VERSION_2525C modifiers { unique_designation: "1-87 IN" higher_formation: "3BCT" combat_effectiveness: "GREEN" } }
Hide 3 properties
sidc string
Raw Symbol Identification Code (SIDC) string. For 2525C: 15-character alphanumeric code. For 2525D: 20-character numeric code.
version SidcVersion
Version of the symbology standard this SIDC conforms to.
modifiers SidcModifiers
Typed 2525C modifier fields. Provides structured access to all standard symbol modifiers with appropriate data types for each field.
SidcVersion enum
Version of the MIL-STD-2525 symbology standard.
SIDC_VERSION_UNSPECIFIED = 0 Version not specified or unknown.
SIDC_VERSION_2525C = 1 MIL-STD-2525C (15-character alphanumeric SIDC).
SIDC_VERSION_2525D = 2 MIL-STD-2525D (20-character numeric SIDC).
SIDC_VERSION_CUSTOM = 3 Custom or non-standard symbology format.

## raft/wdm/v1/targeting.proto

PhysicalDimensions message
Physical size and mass of a warfighting object. Supports recognition, classification, and logistics planning.
Hide 4 properties
length_meters double optional
Overall length (bow to stern, nose to tail) in meters.
width_meters double optional
Overall width (beam for ships, wingspan for aircraft) in meters.
height_meters double optional
Overall height (keel to mast, wheels to tail) in meters.
weight_kg double optional
Mass in kilograms (displacement for ships, MTOW for aircraft).
TargetingInfo message
Targeting and threat assessment data.
Hide 5 properties
is_hvt bool optional
Designated as a High Value Target.
threat_level ThreatLevel
Assessed threat severity.
weapons WeaponSystem repeated
Weapon systems carried or assessed on this object. Consumers combine weapon max_range_meters with the object's position to derive threat rings -- no stored geometry needed.
air_defense_class AirDefenseClass
Air defense system classification. Unset for non-AD objects.
threat_posture ThreatPosture
Current operational posture of a threat (e.g., searching, tracking, engaging). Distinct from threat_level -- posture describes what the threat is doing right now; threat_level describes its overall severity.
WeaponSystem message
A weapon system carried by or assessed on an object. Examples: { designation: "SA-15", category: "SAM", max_range_meters: 12000, max_altitude_meters: 6000, quantity: 4 } { designation: "AK-47", category: "small_arms", max_range_meters: 400, quantity: 30 } { designation: "Mk 45 Mod 4", category: "naval_gun", max_range_meters: 37000, quantity: 1 }
Hide 6 properties
designation string
Weapon designator (e.g., "SA-15", "AIM-120C", "RPG-7").
category string
Broad weapon category. Free-form but conventional values are recommended: "SAM", "AAA", "MANPADS", "ATGM", "SSM", "ASM", "naval_gun", "small_arms", "mortar", "artillery", "rocket".
max_range_meters double optional
Maximum effective range in meters.
min_range_meters double optional
Minimum engagement range in meters (dead zone).
max_altitude_meters double optional
Maximum engagement altitude in meters (HAE). Relevant for AD systems; defines the ceiling of the engagement envelope.
quantity uint32 optional
Number of launchers, tubes, or systems of this type.
AirDefenseClass enum
Air defense system classification by engagement range.
AIR_DEFENSE_CLASS_UNSPECIFIED = 0
AIR_DEFENSE_CLASS_MANPADS = 1 Man-portable (Stinger, Igla). Range < 6 km.
AIR_DEFENSE_CLASS_SHORAD = 2 Short-range (SA-15, Avenger, Gepard). Range 6-15 km.
AIR_DEFENSE_CLASS_MRSAM = 3 Medium-range (SA-11, NASAMS, Patriot PAC-2). Range 15-100 km.
AIR_DEFENSE_CLASS_LRSAM = 4 Long-range (S-300, S-400, Patriot PAC-3). Range 100-400 km.
AIR_DEFENSE_CLASS_STRATEGIC = 5 Strategic / ballistic missile defense (THAAD, S-500).
ThreatLevel enum
Assessed threat severity level.
THREAT_LEVEL_UNSPECIFIED = 0
THREAT_LEVEL_NONE = 1
THREAT_LEVEL_LOW = 2
THREAT_LEVEL_MEDIUM = 3
THREAT_LEVEL_HIGH = 4
THREAT_LEVEL_CRITICAL = 5
ThreatPosture enum
Current operational posture of a threat. Describes what a hostile object is currently doing in the engagement cycle. Used for self-defense and maneuver decisions (e.g., "this SAM is tracking us, take evasive action").
THREAT_POSTURE_UNSPECIFIED = 0
THREAT_POSTURE_SEARCHING = 1 Searching for targets. No specific object acquired.
THREAT_POSTURE_TRACKING = 2 Actively tracking a target.
THREAT_POSTURE_READY_TO_ENGAGE = 3 Target locked; weapon systems ready to engage.
THREAT_POSTURE_ENGAGING = 4 Currently engaging a target (weapons released or fired).
THREAT_POSTURE_ENGAGED = 5 Engagement has concluded.
THREAT_POSTURE_INACTIVE = 6 Non-operational posture (e.g., shut down, displacing, hiding).

## raft/wdm/v1/track.proto

TrackInfo message
Track quality and measurement metadata. Captures how an object's position was derived and how much consumers should trust it. Distinct from Assessment, which carries the warfighter's identity and affiliation judgement.
Hide 6 properties
sensor_hits uint32 optional
Number of sensor detections contributing to this track.
last_measurement_time Timestamp
Timestamp of the most recent sensor measurement contributing to this track. Distinct from provenance.updated_at (publish time).
radar_cross_section_dbsm double optional
Radar cross section in dBsm. Aids classification and indicates detectability.
object_count uint32 optional
Estimated number of physical objects represented by this track (e.g., a convoy or flight of aircraft tracked as one track).
track_quality uint32 optional
Track quality score. Higher values indicate more confident position estimates.
evidence_type EvidenceType
Whether the track is based on direct observation of the object or on indirect signs of it (e.g., a vehicle inferred from dust, a vessel inferred from its wake).
EvidenceType enum
Nature of the evidence supporting a track.
EVIDENCE_TYPE_UNSPECIFIED = 0
EVIDENCE_TYPE_DIRECT = 1 The detection is of the object itself.
EVIDENCE_TYPE_CIRCUMSTANTIAL = 2 The object itself could not be detected, but signs of it were (e.g., wake, dust plume, tire tracks, shadow).

## raft/wdm/v1/transponder.proto

Mode5 message
Mode 5 interrogation data.
Hide 3 properties
response IFFResponse
Interrogation response status.
code uint32 optional
Mode 5 code.
platform_id uint32 optional
Platform identification number.
TransponderCodes message
IFF and transponder interrogation codes. Applicable to air, surface, and ground objects with transponders.
Hide 6 properties
mode_1 uint32 optional
Mode 1 code (military mission code, 5 bits).
mode_2 uint32 optional
Mode 2 code (military unit code, 12 bits).
mode_3a uint32 optional
Mode 3/A code (ATC-assigned, 12-bit octal).
mode_4_response IFFResponse
Mode 4 interrogation response.
mode_5 Mode5
Mode 5 interrogation response and codes.
mode_s_address uint32 optional
Mode S ICAO address (24 bits).
IFFResponse enum
IFF interrogation response status.
IFF_RESPONSE_UNSPECIFIED = 0
IFF_RESPONSE_CORRECT = 1
IFF_RESPONSE_INCORRECT = 2
IFF_RESPONSE_NO_RESPONSE = 3

## raft/wdm/v1/warfighting_function.proto

Doctrinal warfighting / joint function classification.

WarfightingFunction enum
Doctrinal warfighting function (Army) / joint function (joint force) classification. Per ADP 3-0 (Army) and JP 3-0 (joint), a warfighting / joint function is "a group of tasks and systems united by a common purpose that commanders use to accomplish missions and training objectives." The two doctrines align on the same seven functions: Command and Control, Movement and Maneuver, Intelligence, Fires, Sustainment, Protection, and Information. This enum captures both readings under a single set of values and is suitable for Army, joint, and coalition use. On `Object`, this classifies the function(s) the object is organized or equipped to support (capability/role). For example, an artillery battalion or a HIMARS launcher tags FIRES; a SIGINT site tags INTELLIGENCE; a forward arming and refueling point tags SUSTAINMENT. On `Action`, this classifies the function(s) the activity is exercising (purpose/employment). For example, a fire mission tags FIRES; an ISR collection tags INTELLIGENCE; a deception operation tags INFORMATION. Activities and capabilities routinely span functions. For example, an attack aviation strike touches MOVEMENT_AND_MANEUVER and FIRES; CEMA touches INFORMATION and FIRES; a counter-UAS engagement touches PROTECTION and FIRES. Tag every applicable function. This classification is orthogonal to `Branch` on `OrganizationInfo`: Branch describes what a unit is by training (Infantry, Signal, Engineer, ...); WarfightingFunction describes what it is organized to do or what an activity is doing. Reference: ADP 3-0 (Operations); JP 3-0 (Joint Campaigns and Operations).
WARFIGHTING_FUNCTION_UNSPECIFIED = 0
WARFIGHTING_FUNCTION_COMMAND_AND_CONTROL = 1 Command and Control: the related tasks and a system that enable commanders to exercise authority and direction to accomplish missions.
WARFIGHTING_FUNCTION_MOVEMENT_AND_MANEUVER = 2 Movement and Maneuver: the related tasks and systems that move and employ forces to achieve a position of relative advantage with respect to the enemy.
WARFIGHTING_FUNCTION_INTELLIGENCE = 3 Intelligence: the related tasks and systems that facilitate understanding the enemy, terrain, weather, civil considerations, and other significant aspects of the operational environment.
WARFIGHTING_FUNCTION_FIRES = 4 Fires: the related tasks and systems that create and converge effects in all domains against the threat to enable actions across the range of military operations.
WARFIGHTING_FUNCTION_PROTECTION = 5 Protection: the related tasks, systems, and methods that prevent or mitigate detection, threat effects, and hazards to preserve the force, deny the enemy freedom of action, and enable commanders to apply combat power.
WARFIGHTING_FUNCTION_SUSTAINMENT = 6 Sustainment: the related tasks and systems that provide support and services to enable freedom of action, extend operational reach, and prolong endurance.
WARFIGHTING_FUNCTION_INFORMATION = 7 Information: the related tasks and systems that create and preserve friendly information and leverage information and the inherent informational aspects of military activities to achieve the commander's objectives.

## raft/wdm/v1/weather.proto

WeatherInfo message
Weather observation or meteorological hazard data. Applicable to objects representing weather stations (point observations), weather hazard zones (polygon entities for storms, icing, dust), and meteorological observations. Weather objects use the parent object's geometry for spatial extent and motion for storm track movement.
Hide 15 properties
wind_speed_mps double optional
Wind speed in meters per second.
wind_direction_degrees double optional
Wind direction in degrees true, as the direction the wind is coming FROM. Range: 0.0 to 360.0.
wind_gust_mps double optional
Wind gust speed in meters per second.
visibility_meters double optional
Prevailing visibility in meters.
visibility_restriction VisibilityRestriction
Visibility restriction type, if any.
ceiling_meters_agl double optional
Cloud ceiling height in meters AGL.
cloud_coverage CloudCoverage
Cloud coverage classification.
precipitation_type PrecipitationType
Precipitation type.
precipitation_intensity PrecipitationIntensity
Precipitation intensity.
temperature_celsius double optional
Air temperature in degrees Celsius.
dew_point_celsius double optional
Dew point temperature in degrees Celsius.
pressure_hpa double optional
Barometric pressure in hectopascals (millibars).
moon_illumination_percent double optional
Moon illumination as a percentage (0 to 100).
bmnt Timestamp
Begin Morning Nautical Twilight. First usable light for ground operations.
eent Timestamp
End Evening Nautical Twilight. Last usable light for ground operations.
CloudCoverage enum
Cloud coverage classification per aviation standard.
CLOUD_COVERAGE_UNSPECIFIED = 0
CLOUD_COVERAGE_CLR = 1 Clear (0/8)
CLOUD_COVERAGE_FEW = 2 Few (1/8 - 2/8)
CLOUD_COVERAGE_SCT = 3 Scattered (3/8 - 4/8)
CLOUD_COVERAGE_BKN = 4 Broken (5/8 - 7/8)
CLOUD_COVERAGE_OVC = 5 Overcast (8/8)
CLOUD_COVERAGE_SKY_OBSCURED = 6 Surface-based obscuration
PrecipitationIntensity enum
Precipitation intensity.
PRECIPITATION_INTENSITY_UNSPECIFIED = 0
PRECIPITATION_INTENSITY_LIGHT = 1
PRECIPITATION_INTENSITY_MODERATE = 2
PRECIPITATION_INTENSITY_HEAVY = 3
PrecipitationType enum
Precipitation type.
PRECIPITATION_TYPE_UNSPECIFIED = 0
PRECIPITATION_TYPE_NONE = 1
PRECIPITATION_TYPE_RAIN = 2
PRECIPITATION_TYPE_SNOW = 3
PRECIPITATION_TYPE_SLEET = 4
PRECIPITATION_TYPE_HAIL = 5
PRECIPITATION_TYPE_FREEZING_RAIN = 6
VisibilityRestriction enum
Visibility restriction category.
VISIBILITY_RESTRICTION_UNSPECIFIED = 0
VISIBILITY_RESTRICTION_FOG = 1
VISIBILITY_RESTRICTION_RAIN = 2
VISIBILITY_RESTRICTION_SNOW = 3
VISIBILITY_RESTRICTION_DUST = 4
VISIBILITY_RESTRICTION_SMOKE = 5
VISIBILITY_RESTRICTION_HAZE = 6
VISIBILITY_RESTRICTION_MIST = 7