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.
| Command | What it does |
|---|---|
synth | render synthetic sorties |
process | process one video |
batch | process all synthetic sorties |
validate | compare batch outputs with truth |
validate-controls | compare control surface and pilot input estimates with truth |
demo | load processed sorties into the web app |
serve | run the web app |
damage | damage exposure and savings estimate |
sbom | write a CycloneDX SBOM |
posture | check deployment security posture |
export-records | export xAPI statements and CSV training records |
ingest | unpack a delivered recording into a sortie package |
package | repackage a synthetic sortie as STANAG 4609 (for testing ingest) |
verify-package | verify a signed export package from the web app |
fleet | Fleet backbone: capacity planner and queue status |
edge | edge unit: RTF benchmark and store-and-forward outbox |
record | joint proficiency record: verify a signed export offline |
prognostics | NOTIONAL boom/receptacle wear and remaining useful life |
sanitize | standalone video sanitizer (NOTIONAL profiles) |
onboard | validate, plan and qualify a new receiver type spec (SIMULATED) |
simlink | export a processed sortie for a simulator (DIS / JSON / CSV) |
referee | export a labelled reference dataset or score external estimates (verification support only) |
reel-props | build highlight-reel props JSON for the Remotion project in video/ |
comms | radio/interphone transcript -> brevity calls on the debrief timeline |
backdrops | sky backdrop library for synthetic data (procedural or local ComfyUI) |
aarcv synth#
render synthetic sorties
aarcv synth [-h] [--profiles PROFILES] [--out OUT] [--force]
| Option | Description |
|---|---|
--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
| Option | Description |
|---|---|
video | |
--telemetry | |
--bus | MIL-STD-1553 bus monitor capture (CSV) from the receiver |
--out | |
--meta | sortie.json with pilot_id, declared_receiver, date |
--pilot | |
--receiver | declared receiver type |
--reuse | reuse 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]
| Option | Description |
|---|---|
--profiles | default: all |
--synthetic | default: data/synthetic |
--out | default: runs |
--jobs | default: 2 |
--reuse | re-render products from cached tracking |
--force | reprocess sorties that already have output |
--no-bus | ignore 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]
| Option | Description |
|---|---|
--profiles | default: all |
--synthetic | default: data/synthetic |
--runs | default: runs |
--json | default: runs/validation.json |
--markdown | also 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]
| Option | Description |
|---|---|
--profiles | default: all |
--synthetic | default: data/synthetic |
--runs | default: runs |
--json | default: runs/validation_controls.json |
--markdown | also 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]
| Option | Description |
|---|---|
--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]
| Option | Description |
|---|---|
--data | data directory (default $AARCV_DATA or data/app) |
--host | default: 127.0.0.1 |
--port | default: 8000 |
--users | name: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]
| Option | Description |
|---|---|
--profiles | default: all |
--runs | batch outputs; profiles without one are scored from simulator truth default: runs |
--fleet-factor | default: 1.0 |
--markdown | also write the tables here |
--json | also write full results here |
aarcv sbom#
write a CycloneDX SBOM
aarcv sbom [-h] [--out OUT] [--all-python] [--no-os]
| Option | Description |
|---|---|
--out | output path, or - for stdout default: sbom.cdx.json |
--all-python | every installed Python package, not just aarcv's dependencies |
--no-os | leave out Debian packages |
aarcv posture#
check deployment security posture
aarcv posture [-h] [--data DATA] [--json] [--no-network] [--strict]
| Option | Description |
|---|---|
--data | data directory (default $AARCV_DATA or data/app) |
--json | |
--no-network | skip the outbound connectivity probe |
--strict | exit 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]
| Option | Description |
|---|---|
--data | data directory (default $AARCV_DATA or data/app) |
--out | default: records_export |
--pilot | only this pilot id |
--since | only sorties on or after this date (YYYY-MM-DD) |
--lrs-url | also 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
| Option | Description |
|---|---|
source | STANAG 4609 .ts, or a plain MP4/MOV/MKV |
--out | package directory |
--telemetry | CSV sidecar for sources without KLV |
--classification | marking declared by the sender (used when the stream has none) |
--max-classification | highest marking this system may hold default: UNCLASSIFIED |
--keep-geolocation | keep sensor and frame-center position fields |
--video-pid | video PID to extract (e.g. 0x101 for one eye of a stereo camera) |
--process | then run the pipeline on the package |
--pilot | |
--receiver | declared 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
| Option | Description |
|---|---|
sortie | synthetic sortie directory (raw.mp4 + telemetry.csv) |
--out | output .ts |
--klv-mode | one of: async, sync default: async |
--klv-pts | give asynchronous KLV a PTS |
--classification | default: UNCLASSIFIED |
--seconds | only the first N seconds |
--receiver | receiver 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
| Option | Description |
|---|---|
package | |
--public-key | trusted custody public key (PEM), obtained separately from the package |
aarcv fleet#
Fleet backbone: capacity planner and queue status
aarcv fleet [-h] {capacity,queue} ...
| Option | Description |
|---|---|
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}
| Option | Description |
|---|---|
action | one of: bench, enqueue, sync, status |
--outbox | default: data/edge/outbox |
--inbox | base inbox directory (e.g. mounted courier media) default: data/edge/inbox |
--file | file 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
| Option | Description |
|---|---|
action | one of: verify |
bundle | |
--trusted-key | PEM file of the issuer key you expect |
aarcv prognostics#
NOTIONAL boom/receptacle wear and remaining useful life
aarcv prognostics [-h] [--data DATA] [--flag] [--json]
| Option | Description |
|---|---|
--data | app data directory (holds aarcv.db) default: data/app |
--flag | open maintenance work orders for inspection flags |
--json |
aarcv sanitize#
standalone video sanitizer (NOTIONAL profiles)
aarcv sanitize [-h] {run,verify,serve} ...
| Option | Description |
|---|---|
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
| Option | Description |
|---|---|
action | one of: validate, plan, qualify |
spec | receiver type spec (JSON) |
--out | write the plan (JSON) or report (Markdown) here |
--json | qualify: also write the full report as JSON |
--no-pose-fit | qualify: skip the pose-fit gate |
aarcv simlink#
export a processed sortie for a simulator (DIS / JSON / CSV)
aarcv simlink [-h] [--format {dis,json,csv}] [--out OUT]
[--config CONFIG]
run_dir
| Option | Description |
|---|---|
run_dir | directory holding assessment.json |
--format | one of: dis, json, csv default: json |
--out | |
--config | system 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
| Option | Description |
|---|---|
action | one of: export, score |
run | processed run directory (assessment.json) |
--truth | SIMULATED truth.json from a synthetic sortie |
--out | export: output zip (default <run>/referee_dataset.zip) |
--estimates | score: CSV or JSON estimates file |
--offset | score: seconds added to estimate times |
--auto-offset | score: 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
| Option | Description |
|---|---|
run_dir | processed sortie run directory (contains assessment.json) |
--out | output props JSON path default: props.json |
--public-dir | copy a released debrief.mp4 here for the clips (e.g. video/public) |
--allow-unmanaged | accept a run dir with no custody/release record (synthetic data only) |
--include-pilot | include 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
| Option | Description |
|---|---|
input | transcript (.srt/.vtt/.json) or a video with an audio track (needs --model) |
--assessment | assessment.json to compare calls with |
--model | local faster-whisper (CTranslate2) model directory; never downloaded |
--compute-type | default: int8 |
--offset | seconds to add to transcript times |
--callsigns | comma-separated callsigns to redact in addition to the patterns default: |
--phrases | JSON phrase table replacing the default brevity table |
--out | write the record here (default: stdout) |
aarcv backdrops#
sky backdrop library for synthetic data (procedural or local ComfyUI)
aarcv backdrops [-h] {generate,validate,procedural,sheet} ...
| Option | Description |
|---|---|
backdrops_cmd |