Developers

Build on AARCV

A documented REST API, open ingest formats, a stable assessment schema and release packages anyone can verify offline. Everything the web app does, you can script.

Five-line tour#

# upload a recording (instructor or admin)
curl -su instructor:demo -F video=@sortie.mp4 -F telemetry=@sortie.csv \
     -F pilot_id=PILOT-01 -F declared_receiver=fighter_a -F data_source=synthetic \
     http://localhost:8000/api/sorties
# => {"id": "S-1A2B3C4D"}
curl -su instructor:demo http://localhost:8000/api/sorties/S-1A2B3C4D | jq '.assessment.summary'

Design principles#

  • Same API as the app. The web app is a client of the REST API. Nothing is UI-only.
  • Security on every route. Each route enforces a role or named permission, and every product request passes the release rules. The API cannot be used to get around them.
  • Offline first. No outbound calls, no CDN, no license server. Exports are files that cross an air gap on approved media.
  • Verifiable outputs. Every product is hashed and recorded in a signed custody chain; packages verify without access to the source system.
  • Generated reference. The API and CLI pages are generated from the code, so they cannot drift from it.

Stability#

AARCV is a prototype at v0.1.0. The assessment schema and the sortie, security and export routes are the ones we intend to keep stable; operations and fleet-scale routes may change. Breaking changes will be listed in release notes.

Was this page helpful?