Developers

CLI reference

The aarcv command runs the whole pipeline without the web app: render synthetic sorties, ingest real recordings, process, validate, serve, and verify exported packages. Generated from aarcv --help.

CommandWhat it does
synthrender synthetic sorties
processprocess one video
batchprocess all synthetic sorties
validatecompare batch outputs with truth
validate-controlscompare control surface and pilot input estimates with truth
demoload processed sorties into the web app
serverun the web app
damagedamage exposure and savings estimate
sbomwrite a CycloneDX SBOM
posturecheck deployment security posture
export-recordsexport xAPI statements and CSV training records
ingestunpack a delivered recording into a sortie package
packagerepackage a synthetic sortie as STANAG 4609 (for testing ingest)
verify-packageverify a signed export package from the web app
fleetFleet backbone: capacity planner and queue status
edgeedge unit: RTF benchmark and store-and-forward outbox
recordjoint proficiency record: verify a signed export offline
prognosticsNOTIONAL boom/receptacle wear and remaining useful life
sanitizestandalone video sanitizer (NOTIONAL profiles)
onboardvalidate, plan and qualify a new receiver type spec (SIMULATED)
simlinkexport a processed sortie for a simulator (DIS / JSON / CSV)
refereeexport a labelled reference dataset or score external estimates (verification support only)
reel-propsbuild highlight-reel props JSON for the Remotion project in video/
commsradio/interphone transcript -> brevity calls on the debrief timeline
backdropssky backdrop library for synthetic data (procedural or local ComfyUI)

aarcv synth#

render synthetic sorties

aarcv synth [-h] [--profiles PROFILES] [--out OUT] [--force]
OptionDescription
--profiles
default: all
--out
default: data/synthetic
--force

aarcv process#

process one video

aarcv process [-h] [--telemetry TELEMETRY] [--bus BUS] --out OUT
                     [--meta META] [--pilot PILOT] [--receiver RECEIVER]
                     [--reuse]
                     video
OptionDescription
video
--telemetry
--busMIL-STD-1553 bus monitor capture (CSV) from the receiver
--out
--metasortie.json with pilot_id, declared_receiver, date
--pilot
--receiverdeclared receiver type
--reusereuse cached tracking_raw.json

aarcv batch#

process all synthetic sorties

aarcv batch [-h] [--profiles PROFILES] [--synthetic SYNTHETIC]
                   [--out OUT] [--jobs JOBS] [--reuse] [--force] [--no-bus]
OptionDescription
--profiles
default: all
--synthetic
default: data/synthetic
--out
default: runs
--jobs
default: 2
--reusere-render products from cached tracking
--forcereprocess sorties that already have output
--no-busignore receiver bus captures (video and telemetry only)

aarcv validate#

compare batch outputs with truth

aarcv validate [-h] [--profiles PROFILES] [--synthetic SYNTHETIC]
                      [--runs RUNS] [--json JSON] [--markdown MARKDOWN]
OptionDescription
--profiles
default: all
--synthetic
default: data/synthetic
--runs
default: runs
--json
default: runs/validation.json
--markdownalso write a Markdown summary here

aarcv validate-controls#

compare control surface and pilot input estimates with truth

aarcv validate-controls [-h] [--profiles PROFILES]
                               [--synthetic SYNTHETIC] [--runs RUNS]
                               [--json JSON] [--markdown MARKDOWN]
OptionDescription
--profiles
default: all
--synthetic
default: data/synthetic
--runs
default: runs
--json
default: runs/validation_controls.json
--markdownalso write a Markdown summary here

aarcv demo#

load processed sorties into the web app

aarcv demo [-h] [--profiles PROFILES] [--synthetic SYNTHETIC]
                  [--runs RUNS] [--data DATA]
OptionDescription
--profiles
default: all
--synthetic
default: data/synthetic
--runs
default: runs
--data
default: data/app

aarcv serve#

run the web app

aarcv serve [-h] [--data DATA] [--host HOST] [--port PORT]
                   [--users USERS]
OptionDescription
--datadata directory (default $AARCV_DATA or data/app)
--host
default: 127.0.0.1
--port
default: 8000
--usersname:password:role,... (default $AARCV_USERS or demo users)

aarcv damage#

damage exposure and savings estimate

aarcv damage [-h] [--profiles PROFILES] [--runs RUNS]
                    [--fleet-factor FLEET_FACTOR] [--markdown MARKDOWN]
                    [--json JSON]
OptionDescription
--profiles
default: all
--runsbatch outputs; profiles without one are scored from simulator truth
default: runs
--fleet-factor
default: 1.0
--markdownalso write the tables here
--jsonalso write full results here

aarcv sbom#

write a CycloneDX SBOM

aarcv sbom [-h] [--out OUT] [--all-python] [--no-os]
OptionDescription
--outoutput path, or - for stdout
default: sbom.cdx.json
--all-pythonevery installed Python package, not just aarcv's dependencies
--no-osleave out Debian packages

aarcv posture#

check deployment security posture

aarcv posture [-h] [--data DATA] [--json] [--no-network] [--strict]
OptionDescription
--datadata directory (default $AARCV_DATA or data/app)
--json
--no-networkskip the outbound connectivity probe
--strictexit 1 if any check fails

aarcv export-records#

export xAPI statements and CSV training records

aarcv export-records [-h] [--data DATA] [--out OUT] [--pilot PILOT]
                            [--since SINCE] [--lrs-url LRS_URL]
                            [--lrs-user LRS_USER]
OptionDescription
--datadata directory (default $AARCV_DATA or data/app)
--out
default: records_export
--pilotonly this pilot id
--sinceonly sorties on or after this date (YYYY-MM-DD)
--lrs-urlalso POST statements to this LRS endpoint (inside the enclave)
--lrs-user

aarcv ingest#

unpack a delivered recording into a sortie package

aarcv ingest [-h] --out OUT [--telemetry TELEMETRY]
                    [--classification CLASSIFICATION]
                    [--max-classification MAX_CLASSIFICATION]
                    [--keep-geolocation] [--video-pid VIDEO_PID]
                    [--process RUN_DIR] [--pilot PILOT] [--receiver RECEIVER]
                    source
OptionDescription
sourceSTANAG 4609 .ts, or a plain MP4/MOV/MKV
--outpackage directory
--telemetryCSV sidecar for sources without KLV
--classificationmarking declared by the sender (used when the stream has none)
--max-classificationhighest marking this system may hold
default: UNCLASSIFIED
--keep-geolocationkeep sensor and frame-center position fields
--video-pidvideo PID to extract (e.g. 0x101 for one eye of a stereo camera)
--processthen run the pipeline on the package
--pilot
--receiverdeclared receiver type

aarcv package#

repackage a synthetic sortie as STANAG 4609 (for testing ingest)

aarcv package [-h] --out OUT [--klv-mode {async,sync}] [--klv-pts]
                     [--classification CLASSIFICATION] [--seconds SECONDS]
                     [--receiver RECEIVER]
                     sortie
OptionDescription
sortiesynthetic sortie directory (raw.mp4 + telemetry.csv)
--outoutput .ts
--klv-mode
one of: async, sync
default: async
--klv-ptsgive asynchronous KLV a PTS
--classification
default: UNCLASSIFIED
--secondsonly the first N seconds
--receiverreceiver type to put in the refueling set

aarcv verify-package#

verify a signed export package from the web app

aarcv verify-package [-h] [--public-key PUBLIC_KEY] package
OptionDescription
package
--public-keytrusted custody public key (PEM), obtained separately from the package

aarcv fleet#

Fleet backbone: capacity planner and queue status

aarcv fleet [-h] {capacity,queue} ...
OptionDescription
fleet_cmd

aarcv edge#

edge unit: RTF benchmark and store-and-forward outbox

aarcv edge [-h] [--outbox OUTBOX] [--inbox INBOX] [--file FILE]
                  [--frames FRAMES] [--max-chunks MAX_CHUNKS]
                  {bench,enqueue,sync,status}
OptionDescription
action
one of: bench, enqueue, sync, status
--outbox
default: data/edge/outbox
--inboxbase inbox directory (e.g. mounted courier media)
default: data/edge/inbox
--filefile to enqueue
--frames
default: 60
--max-chunks

aarcv record#

joint proficiency record: verify a signed export offline

aarcv record [-h] [--trusted-key TRUSTED_KEY] {verify} bundle
OptionDescription
action
one of: verify
bundle
--trusted-keyPEM file of the issuer key you expect

aarcv prognostics#

NOTIONAL boom/receptacle wear and remaining useful life

aarcv prognostics [-h] [--data DATA] [--flag] [--json]
OptionDescription
--dataapp data directory (holds aarcv.db)
default: data/app
--flagopen maintenance work orders for inspection flags
--json

aarcv sanitize#

standalone video sanitizer (NOTIONAL profiles)

aarcv sanitize [-h] {run,verify,serve} ...
OptionDescription
sanitize_cmd

aarcv onboard#

validate, plan and qualify a new receiver type spec (SIMULATED)

aarcv onboard [-h] [--out OUT] [--json JSON] [--no-pose-fit]
                     {validate,plan,qualify} spec
OptionDescription
action
one of: validate, plan, qualify
specreceiver type spec (JSON)
--outwrite the plan (JSON) or report (Markdown) here
--jsonqualify: also write the full report as JSON
--no-pose-fitqualify: skip the pose-fit gate

export a processed sortie for a simulator (DIS / JSON / CSV)

aarcv simlink [-h] [--format {dis,json,csv}] [--out OUT]
                     [--config CONFIG]
                     run_dir
OptionDescription
run_dirdirectory holding assessment.json
--format
one of: dis, json, csv
default: json
--out
--configsystem config used for processing

aarcv referee#

export a labelled reference dataset or score external estimates (verification support only)

aarcv referee [-h] [--truth TRUTH] [--out OUT] [--estimates ESTIMATES]
                     [--offset OFFSET] [--auto-offset]
                     {export,score} run
OptionDescription
action
one of: export, score
runprocessed run directory (assessment.json)
--truthSIMULATED truth.json from a synthetic sortie
--outexport: output zip (default <run>/referee_dataset.zip)
--estimatesscore: CSV or JSON estimates file
--offsetscore: seconds added to estimate times
--auto-offsetscore: search the time offset that minimises RMS error

aarcv reel-props#

build highlight-reel props JSON for the Remotion project in video/

aarcv reel-props [-h] [--out OUT] [--public-dir PUBLIC_DIR]
                        [--allow-unmanaged] [--include-pilot]
                        run_dir
OptionDescription
run_dirprocessed sortie run directory (contains assessment.json)
--outoutput props JSON path
default: props.json
--public-dircopy a released debrief.mp4 here for the clips (e.g. video/public)
--allow-unmanagedaccept a run dir with no custody/release record (synthetic data only)
--include-pilotinclude the pilot id on the title card

aarcv comms#

radio/interphone transcript -> brevity calls on the debrief timeline

aarcv comms [-h] [--assessment ASSESSMENT] [--model MODEL]
                   [--compute-type COMPUTE_TYPE] [--offset OFFSET]
                   [--callsigns CALLSIGNS] [--phrases PHRASES] [--out OUT]
                   input
OptionDescription
inputtranscript (.srt/.vtt/.json) or a video with an audio track (needs --model)
--assessmentassessment.json to compare calls with
--modellocal faster-whisper (CTranslate2) model directory; never downloaded
--compute-type
default: int8
--offsetseconds to add to transcript times
--callsignscomma-separated callsigns to redact in addition to the patterns
default:
--phrasesJSON phrase table replacing the default brevity table
--outwrite the record here (default: stdout)

aarcv backdrops#

sky backdrop library for synthetic data (procedural or local ComfyUI)

aarcv backdrops [-h] {generate,validate,procedural,sheet} ...
OptionDescription
backdrops_cmd
Was this page helpful?