chore(02-07): regenerate AC-TRACEABILITY.md with test_log_schemas nodeids

- AC-1.4: +5 test nodeids (round_trip, 3 label parametrize, rejects_unknown)
- AC-4.3: +6 test nodeids (round_trip, fix_type bounds x3, extra rejected, frozen)
- AC-2.1b: +6 test nodeids (accept round_trip + 5 reject-reason parametrize)
- AC-6.3: +1 test nodeid (api_request round_trip)
- ACs covered: 14 -> 15; --check exit 0
This commit is contained in:
Yuzviak
2026-05-11 18:50:51 +03:00
parent e87fb37a2c
commit 14717c5364
+5 -5
View File
@@ -4,7 +4,7 @@
> Run `python scripts/gen_ac_traceability.py` to regenerate after AC doc or test edits.
**ACs declared in acceptance_criteria.md:** 39
**ACs covered by at least one test:** 14
**ACs covered by at least one test:** 15
**ACs deferred (hardware or pending-phase):** 25
## AC -> Test mapping
@@ -14,9 +14,9 @@
| AC-1.1 | 5 | `tests/test_acceptance.py::test_ac1_normal_flight`<br>`tests/test_acceptance.py::test_ac5_sustained_throughput`<br>`tests/test_accuracy.py::test_pct_within_50m_with_sat_corrections`<br>`tests/test_accuracy.py::test_passes_acceptance_criteria_full_pass`<br>`tests/test_accuracy.py::test_passes_acceptance_criteria_accuracy_fail` | OK |
| AC-1.2 | 2 | `tests/test_accuracy.py::test_pct_within_20m_with_sat_corrections`<br>`tests/test_accuracy.py::test_passes_acceptance_criteria_full_pass` | OK |
| AC-1.3 | 1 | `tests/test_accuracy.py::test_vo_drift_under_100m_over_1km` | OK |
| AC-1.4 | 2 | `tests/test_acceptance.py::test_ac4_user_anchor_fix`<br>`tests/test_processor_pipe.py::test_create_flight_initialises_eskf` | OK |
| AC-1.4 | 7 | `tests/test_acceptance.py::test_ac4_user_anchor_fix`<br>`tests/test_log_schemas.py::test_mavlink_gps_input_round_trip`<br>`tests/test_log_schemas.py::test_mavlink_source_label_accepts_canonical_vocab[satellite_anchored]`<br>`tests/test_log_schemas.py::test_mavlink_source_label_accepts_canonical_vocab[vo_extrapolated]`<br>`tests/test_log_schemas.py::test_mavlink_source_label_accepts_canonical_vocab[dead_reckoned]`<br>`tests/test_log_schemas.py::test_mavlink_source_label_rejects_unknown`<br>`tests/test_processor_pipe.py::test_create_flight_initialises_eskf` | OK |
| AC-2.1a | 2 | `tests/test_acceptance.py::test_ac2_tracking_loss_and_recovery`<br>`tests/test_accuracy.py::test_confidence_high_after_fresh_satellite` | OK |
| AC-2.1b | 0 | _none_ | DEFERRED (pending-phase-4) |
| AC-2.1b | 6 | `tests/test_log_schemas.py::test_anchor_decision_accept_round_trip`<br>`tests/test_log_schemas.py::test_anchor_decision_accepts_verify02_vocab[ok]`<br>`tests/test_log_schemas.py::test_anchor_decision_accepts_verify02_vocab[too_few_inliers]`<br>`tests/test_log_schemas.py::test_anchor_decision_accepts_verify02_vocab[mre_above_threshold]`<br>`tests/test_log_schemas.py::test_anchor_decision_accepts_verify02_vocab[degenerate_homography]`<br>`tests/test_log_schemas.py::test_anchor_decision_accepts_verify02_vocab[freshness_expired]` | DEFERRED (pending-phase-4) |
| AC-2.2 | 1 | `tests/test_accuracy.py::test_covariance_shrinks_after_satellite_update` | OK |
| AC-3.1 | 0 | _none_ | DEFERRED (pending-phase-4) |
| AC-3.2 | 0 | _none_ | DEFERRED (pending-phase-4) |
@@ -25,7 +25,7 @@
| AC-3.5 | 0 | _none_ | DEFERRED (pending-phase-3) |
| AC-4.1 | 3 | `tests/test_acceptance.py::test_ac3_performance_per_frame`<br>`tests/test_accuracy.py::test_per_frame_latency_under_400ms`<br>`tests/test_accuracy.py::test_passes_acceptance_criteria_latency_fail` | OK |
| AC-4.2 | 0 | _none_ | DEFERRED (pending-phase-4) |
| AC-4.3 | 20 | `tests/test_gps_input_encoding.py::test_gps_input_lat_lon_encoded_as_deg_e7`<br>`tests/test_gps_input_encoding.py::test_gps_input_lat_lon_offset_from_enu_position`<br>`tests/test_gps_input_encoding.py::test_gps_input_alt_in_meters_msl`<br>`tests/test_gps_input_encoding.py::test_gps_input_velocity_enu_to_ned_conversion`<br>`tests/test_gps_input_encoding.py::test_gps_input_satellites_visible_synthetic_10`<br>`tests/test_gps_input_encoding.py::test_gps_input_fix_type_high_confidence_is_3d`<br>`tests/test_gps_input_encoding.py::test_gps_input_fix_type_medium_confidence_is_3d`<br>`tests/test_gps_input_encoding.py::test_gps_input_fix_type_low_confidence_no_fix`<br>`tests/test_gps_input_encoding.py::test_gps_input_fix_type_failed_no_fix`<br>`tests/test_gps_input_encoding.py::test_gps_input_accuracy_from_covariance`<br>`tests/test_gps_input_encoding.py::test_gps_input_hdop_vdop_clamped_to_min`<br>`tests/test_gps_input_encoding.py::test_confidence_tier_mapping_complete`<br>`tests/test_mavlink.py::test_confidence_to_fix_type`<br>`tests/test_mavlink.py::test_eskf_to_gps_input_position`<br>`tests/test_mavlink.py::test_eskf_to_gps_input_lon`<br>`tests/test_sitl_integration.py::test_sitl_tcp_port_reachable`<br>`tests/test_sitl_integration.py::test_pymavlink_connection_to_sitl`<br>`tests/test_sitl_integration.py::test_gps_input_accepted_by_sitl`<br>`tests/test_sitl_integration.py::test_mavlink_bridge_start_stop_with_sitl`<br>`tests/test_sitl_integration.py::test_gps_input_rate_at_least_5hz` | OK |
| AC-4.3 | 26 | `tests/test_gps_input_encoding.py::test_gps_input_lat_lon_encoded_as_deg_e7`<br>`tests/test_gps_input_encoding.py::test_gps_input_lat_lon_offset_from_enu_position`<br>`tests/test_gps_input_encoding.py::test_gps_input_alt_in_meters_msl`<br>`tests/test_gps_input_encoding.py::test_gps_input_velocity_enu_to_ned_conversion`<br>`tests/test_gps_input_encoding.py::test_gps_input_satellites_visible_synthetic_10`<br>`tests/test_gps_input_encoding.py::test_gps_input_fix_type_high_confidence_is_3d`<br>`tests/test_gps_input_encoding.py::test_gps_input_fix_type_medium_confidence_is_3d`<br>`tests/test_gps_input_encoding.py::test_gps_input_fix_type_low_confidence_no_fix`<br>`tests/test_gps_input_encoding.py::test_gps_input_fix_type_failed_no_fix`<br>`tests/test_gps_input_encoding.py::test_gps_input_accuracy_from_covariance`<br>`tests/test_gps_input_encoding.py::test_gps_input_hdop_vdop_clamped_to_min`<br>`tests/test_gps_input_encoding.py::test_confidence_tier_mapping_complete`<br>`tests/test_log_schemas.py::test_mavlink_gps_input_round_trip`<br>`tests/test_log_schemas.py::test_mavlink_fix_type_bounds[-1]`<br>`tests/test_log_schemas.py::test_mavlink_fix_type_bounds[7]`<br>`tests/test_log_schemas.py::test_mavlink_fix_type_bounds[100]`<br>`tests/test_log_schemas.py::test_mavlink_extra_field_rejected`<br>`tests/test_log_schemas.py::test_mavlink_record_is_frozen`<br>`tests/test_mavlink.py::test_confidence_to_fix_type`<br>`tests/test_mavlink.py::test_eskf_to_gps_input_position`<br>`tests/test_mavlink.py::test_eskf_to_gps_input_lon`<br>`tests/test_sitl_integration.py::test_sitl_tcp_port_reachable`<br>`tests/test_sitl_integration.py::test_pymavlink_connection_to_sitl`<br>`tests/test_sitl_integration.py::test_gps_input_accepted_by_sitl`<br>`tests/test_sitl_integration.py::test_mavlink_bridge_start_stop_with_sitl`<br>`tests/test_sitl_integration.py::test_gps_input_rate_at_least_5hz` | OK |
| AC-4.4 | 5 | `tests/test_acceptance.py::test_ac1_normal_flight`<br>`tests/test_acceptance.py::test_ac4_user_anchor_fix`<br>`tests/test_acceptance.py::test_ac5_sustained_throughput`<br>`tests/test_processor_pipe.py::test_mavlink_state_pushed_per_frame`<br>`tests/test_sitl_integration.py::test_gps_input_rate_at_least_5hz` | OK |
| AC-4.5 | 0 | _none_ | DEFERRED (pending-phase-3) |
| AC-5.1 | 0 | _none_ | DEFERRED (pending-phase-3) |
@@ -33,7 +33,7 @@
| AC-5.3 | 0 | _none_ | DEFERRED (pending-phase-3) |
| AC-6.1 | 0 | _none_ | DEFERRED (pending-phase-5) |
| AC-6.2 | 0 | _none_ | DEFERRED (pending-phase-5) |
| AC-6.3 | 6 | `tests/test_schemas.py::TestGPSPoint::test_valid`<br>`tests/test_schemas.py::TestGPSPoint::test_lat_out_of_range`<br>`tests/test_schemas.py::TestGPSPoint::test_lon_out_of_range`<br>`tests/test_schemas.py::TestGPSPoint::test_serialization_roundtrip`<br>`tests/test_schemas.py::TestWaypoint::test_valid`<br>`tests/test_schemas.py::TestWaypoint::test_confidence_out_of_range` | OK |
| AC-6.3 | 7 | `tests/test_log_schemas.py::test_api_request_round_trip`<br>`tests/test_schemas.py::TestGPSPoint::test_valid`<br>`tests/test_schemas.py::TestGPSPoint::test_lat_out_of_range`<br>`tests/test_schemas.py::TestGPSPoint::test_lon_out_of_range`<br>`tests/test_schemas.py::TestGPSPoint::test_serialization_roundtrip`<br>`tests/test_schemas.py::TestWaypoint::test_valid`<br>`tests/test_schemas.py::TestWaypoint::test_confidence_out_of_range` | OK |
| AC-7.1 | 0 | _none_ | DEFERRED (pending-phase-5) |
| AC-7.2 | 0 | _none_ | DEFERRED (pending-phase-5) |
| AC-8.1 | 0 | _none_ | DEFERRED (pending-phase-4) |