mirror of
https://github.com/azaion/gps-denied-onboard.git
synced 2026-06-21 21:31:13 +00:00
[AZ-408] [AZ-410] [AZ-411] Batch 69: synth injectors + FT-P-02/03/14
AZ-408 (3pt) — Replace AZ-406 injector scaffolds with concrete generators: - outlier.py: deterministic stride + far-away tile replacement; AC-2 ≥350m offset - blackout_spoof.py: paired video blackout + FC GPS spoof with ≤40ms alignment; AC-4 realistic fix_type/hdop; AC-NEW-8 200-500m inter-spoof deltas - multi_segment.py: ≥3 disjoint windows, ≥30s gaps, ≤25% coverage - fc_proxy.py: timed-splice runtime proxy with pre-activate RuntimeError guard - _common.py: derive_rng + tile-manifest reader + tmpfs helpers - injector_fixtures.py: pytest fixtures wired via runner conftest AZ-410 (3pt) — FT-P-02 cumulative drift between satellite anchors: - anchor_pair_detector.py: AC-1 detection, AC-2/3 pass-fraction, AC-4 monotonicity check, CSV evidence - test_ft_p_02_derkachi_drift.py: scenario gated on upstream helper NotImplementedError (frame_source_replay / fdr_reader / imu_replay) AZ-411 (2pt) — FT-P-03 + FT-P-14 schema + WGS84: - estimate_schema.py: AC-1 schema completeness, AC-2 source-label set containment, AC-3 WGS84 range + int32 1e-7 decode - test_ft_p_03_14_schema_wgs84.py: shared single-image-push scenario Tests: 248 unit tests pass (+91 vs batch 68). Reports: batch_69_report.md, batch_69_review.md (PASS), cumulative_review_batches_67-69_cycle1_report.md (PASS). Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -41,6 +41,8 @@ E2E_ROOT = Path(__file__).resolve().parents[1]
|
||||
"runner/helpers/mavproxy_tlog_reader.py",
|
||||
"runner/helpers/fdr_reader.py",
|
||||
"runner/helpers/geo.py",
|
||||
"runner/helpers/anchor_pair_detector.py",
|
||||
"runner/helpers/estimate_schema.py",
|
||||
"fixtures/mock-suite-sat/Dockerfile",
|
||||
"fixtures/mock-suite-sat/app.py",
|
||||
"fixtures/mock-suite-sat/requirements.txt",
|
||||
@@ -55,6 +57,9 @@ E2E_ROOT = Path(__file__).resolve().parents[1]
|
||||
"fixtures/injectors/blackout_spoof.py",
|
||||
"fixtures/injectors/multi_segment.py",
|
||||
"fixtures/injectors/cold_boot.py",
|
||||
"fixtures/injectors/_common.py",
|
||||
"fixtures/injectors/fc_proxy.py",
|
||||
"runner/helpers/injector_fixtures.py",
|
||||
"fixtures/cold-boot/README.md",
|
||||
"fixtures/cold-boot/cold_boot_fixture.json",
|
||||
"fixtures/secrets/mavlink-test-passkey.txt",
|
||||
@@ -70,6 +75,8 @@ E2E_ROOT = Path(__file__).resolve().parents[1]
|
||||
"tests/security/__init__.py",
|
||||
"tests/resource_limit/__init__.py",
|
||||
"tests/positive/test_smoke.py",
|
||||
"tests/positive/test_ft_p_02_derkachi_drift.py",
|
||||
"tests/positive/test_ft_p_03_14_schema_wgs84.py",
|
||||
],
|
||||
)
|
||||
def test_required_path_exists(relative_path: str) -> None:
|
||||
|
||||
Reference in New Issue
Block a user