Configuration
Two layers: environment variables for the deployment, and a versioned system configuration for everything that can change an assessment.
Environment variables#
| Variable | Default | Purpose |
|---|---|---|
AARCV_DATA | data/app | Data directory: database, products, keys and audit log |
AARCV_USERS | demo users | name:password:role,..., used alongside accounts managed in the app |
AARCV_AUTH | on | off turns off sign-in so every visitor is an admin. Demo use only |
AARCV_CONFIG | none | JSON system configuration; recorded as a new configuration version when it differs from the active one |
AARCV_RETAIN_RAW | purge | 1 keeps uploaded raw video after processing |
AARCV_SEED_OPS | 1 | 0 skips the notional demo squadron, fleet and monitoring history |
AARCV_EVAL_SYNTHETIC, AARCV_EVAL_RUNS | next to the data directory | Validation set used by model evaluation gates |
AARCV_CUSTODY_KEY | data/keys/custody_ed25519.pem | Path of the custody signing key |
AARCV_TLS | unset | Declares how TLS is terminated, for the posture check |
AARCV_SERVICE, AARCV_UNIT_SYSTEM | USAF, derived | Identity written into proficiency records |
AARCV_LRS_PASSWORD | unset | Password for pushing xAPI statements to an LRS |
AARCV_WHISPER_MODEL | unset | Local speech model for radio transcription; transcription is off without it |
AARCV_SANITIZER_DATA, AARCV_SANITIZER_USERS, AARCV_SANITIZER_MAX_MB | —, —, 2048 | Standalone video sanitizer service: data directory, users and upload limit |
System configuration#
A JSON document (configs/default.json is the shipped default) with sections for the camera, the refueling envelope, the scoring rubric, security and processing. Every change is a new numbered version; one is active at a time and every sortie records the version that processed it.
{
"rubric": {
"weights": {"closure": 0.25, "alignment": 0.20, "stability": 0.20, "envelope": 0.25, "procedure": 0.10},
"closure_good_mps": 0.55, "closure_bad_mps": 1.2,
"align_good_deg": 1.5, "align_bad_deg": 8.0,
"stability_good_m": 0.15, "stability_bad_m": 0.9,
"precontact_stab_s": 3.0,
"grade_bands": [[85.0, "Proficient"], [70.0, "Needs refinement"], [0.0, "Debrief required"]]
},
"security": { "...": "allow-list, sanitizer controls, banner" },
"processing": { "analysis_hz": 10.0 }
}
Manage versions on Administration → System or through GET/POST /api/ops/config and POST /api/ops/config/{cid}/activate. Model promotions write configuration versions too, so rolling back a configuration also rolls back the models that were in production with it.
Classification policy#
The security policy (levels, rules, networks, release ceiling, role defaults) is versioned separately by security officers: GET/PUT /api/security/policy and POST /api/security/policy/{vid}/activate. Saving a policy re-marks every product.