- Add pytestmark = [pytest.mark.<category>] to all 23 root test files and 14 e2e test files
- Marker distribution: 22 unit, 7 integration, 1 blackbox, 1 sitl, 5 e2e + 2 e2e integration
- Add import pytest to test_models.py, test_download.py, test_synthetic_adapter.py (were missing)
- Convert test_sitl_integration.py's bare pytestmark to list form preserving skipif guard
- Union of all 5 markers = 298/298 = 100% coverage; 216 tests pass with --strict-markers
Drives ORBVisualOdometry directly on raw EuRoC frames, bypassing ESKF and
satellite layers. ORB achieves 100% tracking on 99 frame pairs, confirming
that vo_success=0 in the full pipeline is caused by SequentialVisualOdometry's
MockInferenceEngine (random keypoints → RANSAC failure), not by VO backend
limitations on EuRoC indoor imagery.
Two tests: tracking rate ≥70% (passes, currently 100%), and sanity check
that at least one pair yields non-zero inliers (passes).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>