mirror of
https://github.com/azaion/gps-denied-onboard.git
synced 2026-06-22 11:21:13 +00:00
[AZ-895] Deprecate replay auto-sync surface; file AZ-908 follow-up
Option A (minimum-deprecation, 2 SP) per user complexity-budget decision. Auto-sync stays importable as a raising stub for one cycle so external callers see a clean ReplayInputAdapterError instead of an ImportError. Full physical removal is filed as AZ-908 (cycle-5+ backlog). Production: - auto_sync.py: 700+ LOC -> 56-line no-op stub raising "auto-sync removed; supply --imu CSV instead" - tlog_video_adapter.py: 700+ LOC -> 105-line deprecated stub; ReplayInputAdapter.open() raises immediately, close() is a no-op - _replay_branch.py: dropped legacy auto-sync branch + _build_auto_sync_config; _validate_replay_paths now requires imu_csv_path; replay_input_adapter_factory parameter removed - cli/replay.py: --time-offset-ms / --skip-auto-sync / --auto-trim emit DeprecationWarning + stderr line; values ignored - tlog_replay_adapter.py + tlog_ground_truth.py docstrings: AUDIT-ONLY Tests: - DELETED test_az405_auto_sync, test_az405_replay_input_adapter, test_az698_window_alignment (covered code no longer runs) - ADDED test_az895_auto_sync_deprecated_stub (5 parametrised, pins AC-1) - test_az402_replay_cli: deprecation warnings + ignored-value asserts - test_az401_compose_root_replay: new imu_csv_path-required gate; deleted the calibration-loading test that relied on the removed replay_input_adapter_factory injection point - test_derkachi_real_tlog: xfail reason refreshed to AZ-848 + AZ-883 (AC-4 "AZ-848-scoped reason") Docs: - module-layout.md: replay_input file list flags deprecated modules, adds csv_ground_truth.py - _dependencies_table.md: +AZ-908 row, preamble + totals updated (179 -> 180 tasks, 567 -> 570 SP) - AZ-908 backlog spec added; AZ-895 spec moved todo -> done - batch_03_cycle4_report.md written Touched-module tests green (111 passed, 1 skipped). Full unit suite green: 2287 passed, 85 skipped, 1 deselected (pre-existing flaky perf test, unrelated). Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -173,25 +173,20 @@ def _load_full_ground_truth(tlog_path: Path) -> list[GroundTruthRow]:
|
||||
@pytest.mark.tier2
|
||||
@pytest.mark.xfail(
|
||||
reason=(
|
||||
"Blocked by AZ-776 + AZ-777. AZ-699 was implemented without "
|
||||
"executing this test end-to-end on Tier-2 Jetson; once the "
|
||||
"fixtures (real video + factory calibration) landed and the "
|
||||
"test ran for real, two upstream gaps surfaced: (1) AZ-776 "
|
||||
"— c4_pose ISam2GraphHandle Protocol rejects the ESKF stub "
|
||||
"handle, so the c5_state=eskf composition variant cannot run; "
|
||||
"(2) AZ-777 — Derkachi has no C6 reference tile cache / "
|
||||
"descriptor index, so the default c5_state=gtsam_isam2 "
|
||||
"composition reaches the per-frame loop but iSAM2.update "
|
||||
"fails at frame 1 with key 'x2' not in Values (no C4 anchor "
|
||||
"was ever inserted because C2/C3/C4 have nothing to match "
|
||||
"against). Per AZ-777 AC-4: 'After AZ-776 + this ticket "
|
||||
"both ship, test_ac3_within_100m_80pct_of_ticks can be "
|
||||
"un-xfail'd and pass'. The AZ-699 verdict-on-real-flight is "
|
||||
"tracked under those tickets; this xfail is the documented "
|
||||
"mask until they ship. NOTE: this contradicts AZ-699 AC-1 "
|
||||
"('no @xfail mask'); the dependency gap was discovered "
|
||||
"post-implementation when the Jetson e2e harness ran for "
|
||||
"the first time."
|
||||
"Blocked by AZ-848 (+ AZ-883). The tlog adapter path is "
|
||||
"structurally broken at the clock layer: VioOutput.emitted_at_ns "
|
||||
"is sourced from process monotonic_ns (klt_ransac.py:274) while "
|
||||
"ImuWindow.ts_end_ns comes from the FC IMU timebase, so the C5 "
|
||||
"ESKF immediately diverges (mahalanobis² > 100) at frame 3 "
|
||||
"with c5.state.eskf_out_of_order. AZ-883 is the related "
|
||||
"SCALED_IMU2.ts_ns=0 default that exacerbates the mismatch on "
|
||||
"some tlogs. AZ-895 made the (video, CSV) path the primary "
|
||||
"replay surface, so AZ-848 is no longer bench-blocking — but "
|
||||
"this test still exercises the legacy tlog path and will "
|
||||
"remain xfail until AZ-848 / AZ-883 ship. The AZ-776 / AZ-777 "
|
||||
"gaps that originally surfaced via this test were closed in "
|
||||
"cycle 3, but the clock-mismatch root cause then surfaced "
|
||||
"underneath."
|
||||
),
|
||||
strict=False,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user