mirror of
https://github.com/azaion/gps-denied-onboard.git
synced 2026-06-22 16:21:12 +00:00
[AZ-420] Batch 81 housekeeping + cumulative 79-81 review
Archive AZ-420 to done/; add cumulative review for batches 79-81 (PASS, no new findings); advance autodev state to await batch 82. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -1,73 +0,0 @@
|
||||
# FT-P-12 + FT-P-13 — GCS downsample + GCS command path
|
||||
|
||||
**Task**: AZ-420_ft_p_12_13_gcs
|
||||
**Name**: GCS 1-2 Hz downsample + GCS-originated re-loc hint (AC-6.1, AC-6.2)
|
||||
**Description**: Implement FT-P-12 (position estimates + confidence stream to GCS via `mavproxy-listener` at 1-2 Hz) and FT-P-13 (GCS-originated `STATUSTEXT` carrying operator re-loc hint biases the next anchor attempt). Both share the mavproxy listener fixture.
|
||||
**Complexity**: 3 points
|
||||
**Dependencies**: AZ-406, AZ-407
|
||||
**Component**: Blackbox Tests / Positive / GCS / Telemetry (epic AZ-262)
|
||||
**Tracker**: AZ-420
|
||||
**Epic**: AZ-262 (E-BBT)
|
||||
|
||||
## Problem
|
||||
|
||||
The GCS leg is the operator's only window into the SUT during flight; the downsample rate must be measured (operator UX) AND the command path must be validated (operator override is a real safety mechanism per AC-6.2).
|
||||
|
||||
## Outcome
|
||||
|
||||
- pytest scenario at `e2e/tests/positive/test_ft_p_12_gcs_downsample.py` (FT-P-12) and `test_ft_p_13_gcs_command.py` (FT-P-13).
|
||||
- FT-P-12: 60 s Derkachi replay; mavproxy listener captures `.tlog`; parse for SUT-emitted GCS messages; assert observed rate ∈ [1, 2] Hz inclusive.
|
||||
- FT-P-13: SUT in `dead_reckoned` state (e.g. mid-blackout from FT-N-03 setup); send re-loc-hint STATUSTEXT from mavproxy; SUT acknowledges via FDR log entry; next anchor attempt uses the hint as a search prior.
|
||||
|
||||
## Scope
|
||||
|
||||
### Included
|
||||
- mavproxy listener `.tlog` capture (already provided by AZ-406).
|
||||
- SUT-emitted GCS message rate computation over the 60 s window.
|
||||
- Re-loc-hint STATUSTEXT injection (FT-P-13).
|
||||
- FDR-side acknowledgement detection.
|
||||
- Boolean assertion that the post-hint anchor attempt biases its search.
|
||||
|
||||
### Excluded
|
||||
- Spoofed GPS escalation STATUSTEXT — owned by FT-N-04 (AZ-426).
|
||||
- Operator-reloc-request emission (negative-path) — owned by FT-N-03 (AZ-425).
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
**AC-1: FT-P-12 — GCS rate**
|
||||
Given a 60 s Derkachi replay
|
||||
When the test parses the captured `.tlog` for SUT-emitted GCS messages
|
||||
Then the observed rate over the 60 s window is in `[1, 2]` Hz inclusive.
|
||||
|
||||
**AC-2: FT-P-13 — hint acknowledgement**
|
||||
Given the SUT is in `dead_reckoned` state
|
||||
When the test injects a re-loc-hint STATUSTEXT from mavproxy
|
||||
Then the FDR contains a log entry referencing the hint within ≤2 s of the inject.
|
||||
|
||||
**AC-3: FT-P-13 — search prior bias**
|
||||
Given the next nav-camera frame is pushed after the hint
|
||||
Then the next satellite-anchor attempt observably uses the hint as a search prior. Observable signal: the FDR's per-frame "anchor-search-region" record (AC-NEW-3 schema) shifts toward the hinted location.
|
||||
|
||||
**AC-4: FT-P-13 — no rejection**
|
||||
Given the hint is well-formed
|
||||
Then the SUT does NOT reject the hint with a security/auth error (this is a positive-path scenario; security rejection is out of scope here).
|
||||
|
||||
**AC-5: parameterization**
|
||||
Given conftest parameterization
|
||||
Then both methods run per `(fc_adapter, vio_strategy)`.
|
||||
|
||||
## System Under Test Boundary
|
||||
|
||||
End-to-end through public boundaries.
|
||||
|
||||
- **Allowed**: mavproxy listener (`.tlog` capture), STATUSTEXT injection (via mavproxy command), FDR archive read.
|
||||
- **Forbidden**: querying SUT internal anchor-search state; the bias signal must be readable from FDR (or the AC isn't meaningfully validated).
|
||||
|
||||
## Constraints
|
||||
|
||||
- "Anchor-search-region" record is part of the AC-NEW-3 FDR schema; if absent, the test fails for AC-3 (cannot validate the bias without observable evidence).
|
||||
|
||||
## Document Dependencies
|
||||
|
||||
- `_docs/02_document/tests/blackbox-tests.md` § FT-P-12, § FT-P-13
|
||||
- `_docs/02_document/tests/test-data.md` § Resilience / GCS
|
||||
Reference in New Issue
Block a user