Skip to content

build(deps): Update wasmtime-wasi requirement from 27 to 45#44

Merged
temper-pulseengine[bot] merged 1 commit into
mainfrom
dependabot/cargo/wasmtime-wasi-45
May 26, 2026
Merged

build(deps): Update wasmtime-wasi requirement from 27 to 45#44
temper-pulseengine[bot] merged 1 commit into
mainfrom
dependabot/cargo/wasmtime-wasi-45

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github May 26, 2026

Updates the requirements on wasmtime-wasi to permit the latest version.

Release notes

Sourced from wasmtime-wasi's releases.

v34.0.2

34.0.2

Released 2025-07-18.

Fixed

  • Fix a panic in the host caused by preview1 guests using fd_renumber. CVE-2025-53901.

  • Fix a panic in the preview1 adapter caused by guests using fd_renumber. #11277

34.0.1

Released 2025-06-24.

Fixed

  • Fix a panic with host-defined tables/globals and concrete reference types. #11103
Changelog

Sourced from wasmtime-wasi's changelog.

34.0.2

Released 2025-07-18.

Fixed

  • Fix a panic in the host caused by preview1 guests using fd_renumber. CVE-2025-53901.

  • Fix a panic in the preview1 adapter caused by guests using fd_renumber. #11277

34.0.1

Released 2025-06-24.

Fixed

  • Fix a panic with host-defined tables/globals and concrete reference types. #11103

34.0.0

Released 2025-06-20.

Added

  • Support for SIMD in the Pulley interpreter can now be disabled at compile-time to shrink the size of the final binary. #10727

  • The C API now has wasmtime_trap_new_code to create a wasm_trap_t from its code. #10765

  • Winch's support for x86_64 is now classified with tier 1 support in Wasmtime. #10755

  • Winch's support for aarch64 now implements stack checks to pass many more spec tests. #10763

  • Cranelift's s390x backend now has full support for the f128 type. #10774

  • Wasmtime's C API for the component model has initial support for calling functions.

... (truncated)

Commits

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Updates the requirements on [wasmtime-wasi](https://github.com/bytecodealliance/wasmtime) to permit the latest version.
- [Release notes](https://github.com/bytecodealliance/wasmtime/releases)
- [Changelog](https://github.com/bytecodealliance/wasmtime/blob/v34.0.2/RELEASES.md)
- [Commits](bytecodealliance/wasmtime@v27.0.0...v34.0.2)

---
updated-dependencies:
- dependency-name: wasmtime-wasi
  dependency-version: 34.0.2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added the dependencies Dependency updates label May 26, 2026
@temper-pulseengine temper-pulseengine Bot enabled auto-merge (squash) May 26, 2026 22:07
@temper-pulseengine temper-pulseengine Bot merged commit 1c20c19 into main May 26, 2026
@temper-pulseengine temper-pulseengine Bot deleted the dependabot/cargo/wasmtime-wasi-45 branch May 26, 2026 22:07
@github-actions
Copy link
Copy Markdown

running 55 tests
test command_long::tests::crc_extra_is_152 ... ok
test command_long::tests::decode_rejects_long_payload ... ok
test command_long::tests::decode_rejects_short_payload ... ok
test command_long::tests::field_offsets_match_spec ... ok
test command_long::tests::msg_id_is_76 ... ok
test command_long::tests::payload_length_is_33 ... ok
test command_long::tests::round_trip_rtl ... ok
test command_long::tests::round_trip_with_params ... ok
test command_long::tests::rtl_builder_has_zero_params ... ok
test command_long::tests::rtl_command_id_is_20 ... ok
test crc::tests::accumulate_slice_equals_individual ... ok
test crc::tests::empty_input_keeps_seed ... ok
test crc::tests::mavlink_reference_vector_123456789 ... ok
test crc::tests::order_matters ... ok
test crc::tests::single_byte_zero ... ok
test frame::tests::encode_rejects_payload_length_mismatch ... ok
test frame::tests::encode_rejects_too_small_output ... ok
test frame::tests::frame_payload_length_byte_matches ... ok
test frame::tests::frame_msg_id_three_bytes_little_endian ... ok
test frame::tests::frame_starts_with_magic_v2 ... ok
test frame::tests::peek_message_id_finds_heartbeat ... ok
test frame::tests::peek_rejects_v1_magic ... ok
test frame::tests::rejects_bad_crc ... ok
test frame::tests::rejects_truncated_header ... ok
test frame::tests::rejects_truncated_payload ... ok
test frame::tests::rejects_v1_magic ... ok
test frame::tests::rejects_wrong_crc_extra ... ok
test frame::tests::round_trip_heartbeat_through_frame ... ok
test global_position_int::tests::crc_extra_is_104 ... ok
test global_position_int::tests::decode_rejects_empty ... ok
test global_position_int::tests::decode_rejects_long_payload ... ok
test global_position_int::tests::decode_rejects_short_payload ... ok
test global_position_int::tests::field_offsets_match_spec ... ok
test global_position_int::tests::msg_id_is_33 ... ok
test global_position_int::tests::payload_length_is_28 ... ok
test command_long::tests::round_trip_arbitrary ... ok
test global_position_int::tests::round_trip_extremes ... ok
test global_position_int::tests::round_trip_sample ... ok
test frame::tests::encode_parse_round_trip_arbitrary_seq ... ok
test global_position_int::tests::round_trip_zero ... ok
test heartbeat::tests::crc_extra_is_fifty ... ok
test heartbeat::tests::custom_mode_little_endian ... ok
test heartbeat::tests::decode_empty_payload ... ok
test heartbeat::tests::decode_rejects_long_payload ... ok
test heartbeat::tests::decode_rejects_short_payload ... ok
test heartbeat::tests::field_offsets_match_spec ... ok
test heartbeat::tests::mav_mode_flag_or_and_contains ... ok
test heartbeat::tests::payload_length_constant ... ok
test heartbeat::tests::round_trip_falcon_default ... ok
test heartbeat::tests::round_trip_gcs_default ... ok
test heartbeat::tests::round_trip_max_values ... ok
test heartbeat::tests::round_trip_zero ... ok
test global_position_int::tests::round_trip_arbitrary ... ok
test heartbeat::tests::round_trip_arbitrary ... ok
test frame::tests::parser_never_panics ... ok

test result: ok. 55 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

running 55 tests
test command_long::tests::crc_extra_is_152 ... ok
test command_long::tests::decode_rejects_long_payload ... ok
test command_long::tests::field_offsets_match_spec ... ok
test command_long::tests::decode_rejects_short_payload ... ok
test command_long::tests::msg_id_is_76 ... ok
test command_long::tests::payload_length_is_33 ... ok
test command_long::tests::round_trip_rtl ... ok
test command_long::tests::round_trip_with_params ... ok
test command_long::tests::rtl_builder_has_zero_params ... ok
test command_long::tests::rtl_command_id_is_20 ... ok
test crc::tests::accumulate_slice_equals_individual ... ok
test crc::tests::empty_input_keeps_seed ... ok
test crc::tests::mavlink_reference_vector_123456789 ... ok
test crc::tests::order_matters ... ok
test crc::tests::single_byte_zero ... ok
test frame::tests::encode_rejects_payload_length_mismatch ... ok
test frame::tests::encode_rejects_too_small_output ... ok
test frame::tests::frame_msg_id_three_bytes_little_endian ... ok
test frame::tests::frame_payload_length_byte_matches ... ok
test frame::tests::frame_starts_with_magic_v2 ... ok
test frame::tests::peek_message_id_finds_heartbeat ... ok
test frame::tests::peek_rejects_v1_magic ... ok
test frame::tests::rejects_bad_crc ... ok
test frame::tests::rejects_truncated_header ... ok
test frame::tests::rejects_truncated_payload ... ok
test frame::tests::rejects_v1_magic ... ok
test frame::tests::rejects_wrong_crc_extra ... ok
test frame::tests::round_trip_heartbeat_through_frame ... ok
test global_position_int::tests::crc_extra_is_104 ... ok
test global_position_int::tests::decode_rejects_empty ... ok
test global_position_int::tests::decode_rejects_long_payload ... ok
test global_position_int::tests::decode_rejects_short_payload ... ok
test global_position_int::tests::field_offsets_match_spec ... ok
test global_position_int::tests::msg_id_is_33 ... ok
test global_position_int::tests::payload_length_is_28 ... ok
test command_long::tests::round_trip_arbitrary ... ok
test global_position_int::tests::round_trip_extremes ... ok
test global_position_int::tests::round_trip_sample ... ok
test frame::tests::encode_parse_round_trip_arbitrary_seq ... ok
test global_position_int::tests::round_trip_zero ... ok
test heartbeat::tests::crc_extra_is_fifty ... ok
test heartbeat::tests::custom_mode_little_endian ... ok
test heartbeat::tests::decode_empty_payload ... ok
test heartbeat::tests::decode_rejects_long_payload ... ok
test heartbeat::tests::decode_rejects_short_payload ... ok
test heartbeat::tests::field_offsets_match_spec ... ok
test heartbeat::tests::payload_length_constant ... ok
test heartbeat::tests::mav_mode_flag_or_and_contains ... ok
test heartbeat::tests::round_trip_falcon_default ... ok
test heartbeat::tests::round_trip_gcs_default ... ok
test heartbeat::tests::round_trip_max_values ... ok
test heartbeat::tests::round_trip_zero ... ok
test global_position_int::tests::round_trip_arbitrary ... ok
test heartbeat::tests::round_trip_arbitrary ... ok
test frame::tests::parser_never_panics ... ok

test result: ok. 55 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

running 10 tests
test hackrf::tests::gps_sdr_sim_argv_shape_is_stable ... ok
test hackrf::tests::hackrf_argv_shape_is_stable ... ok
test mavlink::tests::altitude_translates_to_down ... ok
test mavlink::tests::build_frame_carries_correct_message_id ... ok
test mavlink::tests::home_projects_to_origin ... ok
test mavlink::tests::mavlink_bench_no_violation_no_latch ... ok
test mavlink::tests::mavlink_bench_trips_and_dispatches_on_spoof ... ok
test mavlink::tests::one_hundred_metres_north_projects_to_10000_cm_n ... ok
test stub::tests::stub_bench_trips_and_dispatches ... ok
test stub::tests::stub_bench_no_violation_no_latch ... ok

test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

running 10 tests
test tests::att_p01_quaternion_error_is_unit_for_unit_inputs ... ok
test tests::att_p01_shortest_arc_q_err_scalar_non_negative ... ok
test tests::att_p03_small_angle_within_one_percent ... ok
test tests::degenerate_input_does_not_propagate_nan ... ok
test tests::identity_setpoint_at_identity_gives_zero_rate ... ok
test tests::negative_roll_setpoint_gives_negative_x_rate ... ok
test tests::rate_command_clamped_to_rate_max ... ok
test tests::sqrt_f32_matches_libm_within_tolerance ... ok
test tests::twenty_deg_roll_setpoint_gives_positive_x_rate ... ok
test tests::att_p01_property ... ok

test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

running 10 tests
test tests::att_p01_quaternion_error_is_unit_for_unit_inputs ... ok
test tests::att_p01_shortest_arc_q_err_scalar_non_negative ... ok
test tests::degenerate_input_does_not_propagate_nan ... ok
test tests::identity_setpoint_at_identity_gives_zero_rate ... ok
test tests::negative_roll_setpoint_gives_negative_x_rate ... ok
test tests::att_p03_small_angle_within_one_percent ... ok
test tests::rate_command_clamped_to_rate_max ... ok
test tests::sqrt_f32_matches_libm_within_tolerance ... ok
test tests::twenty_deg_roll_setpoint_gives_positive_x_rate ... ok
test tests::att_p01_property ... ok

test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

running 10 tests
test tests::att_p01_quaternion_error_is_unit_for_unit_inputs ... ok
test tests::att_p01_shortest_arc_q_err_scalar_non_negative ... ok
test tests::att_p03_small_angle_within_one_percent ... ok
test tests::degenerate_input_does_not_propagate_nan ... ok
test tests::identity_setpoint_at_identity_gives_zero_rate ... ok
test tests::negative_roll_setpoint_gives_negative_x_rate ... ok
test tests::rate_command_clamped_to_rate_max ... ok
test tests::sqrt_f32_matches_libm_within_tolerance ... ok
test tests::twenty_deg_roll_setpoint_gives_positive_x_rate ... ok
test tests::att_p01_property ... ok

test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

running 17 tests
test tests::deterministic_disturbance_recovers ... ok
test tests::deterministic_attitude_cascade_passes ... ok
test tests::deterministic_hover_settles ... ok
test tests::deterministic_step_response_passes ... ok
test tests::deterministic_mission_passes ... ok
test tests::ekf_watchdog_catches_intermittent_fault ... ok
test tests::ekf_watchdog_debounces_transient_spikes ... ok
test tests::ekf_watchdog_ignores_healthy_innovation ... ok
test tests::deterministic_geofence_catches_spoof_and_triggers_rtl ... ok
test tests::deterministic_fault_triggers_rtl ... ok
test tests::noisy_attitude_cascade_still_passes ... ok
test tests::noisy_step_response_still_passes ... ok
test tests::plant_step_full_preserves_unit_quaternion_and_finite_state ... ok
test tests::plant_step_preserves_unit_quaternion ... ok
test tests::noisy_mission_still_reaches_waypoint ... ok
test tests::noisy_fault_still_triggers_rtl ... ok
test tests::deterministic_untethered_mission_visits_all_waypoints ... ok

test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s

--- scenario: attitude ---
samples 5000
final ω (rad/s) [-0.0001, +0.0000, +0.0000]
peak attitude err 19.989°
RMS error (steady) 0.029° (last 1s)
convergence time 0.352s
loop wall time 904 µs
NaN/∞ seen false
outcome PASS
falcon-sitl-hover: PASS

running 55 tests
test command_long::tests::crc_extra_is_152 ... ok
test command_long::tests::decode_rejects_short_payload ... ok
test command_long::tests::decode_rejects_long_payload ... ok
test command_long::tests::field_offsets_match_spec ... ok
test command_long::tests::msg_id_is_76 ... ok
test command_long::tests::payload_length_is_33 ... ok
test command_long::tests::round_trip_rtl ... ok
test command_long::tests::round_trip_with_params ... ok
test command_long::tests::rtl_builder_has_zero_params ... ok
test command_long::tests::rtl_command_id_is_20 ... ok
test crc::tests::accumulate_slice_equals_individual ... ok
test crc::tests::empty_input_keeps_seed ... ok
test crc::tests::mavlink_reference_vector_123456789 ... ok
test crc::tests::order_matters ... ok
test crc::tests::single_byte_zero ... ok
test frame::tests::encode_rejects_payload_length_mismatch ... ok
test frame::tests::encode_rejects_too_small_output ... ok
test frame::tests::frame_msg_id_three_bytes_little_endian ... ok
test frame::tests::frame_payload_length_byte_matches ... ok
test frame::tests::frame_starts_with_magic_v2 ... ok
test frame::tests::peek_message_id_finds_heartbeat ... ok
test frame::tests::peek_rejects_v1_magic ... ok
test frame::tests::rejects_bad_crc ... ok
test frame::tests::rejects_truncated_header ... ok
test frame::tests::rejects_truncated_payload ... ok
test frame::tests::rejects_v1_magic ... ok
test frame::tests::rejects_wrong_crc_extra ... ok
test frame::tests::round_trip_heartbeat_through_frame ... ok
test global_position_int::tests::crc_extra_is_104 ... ok
test global_position_int::tests::decode_rejects_empty ... ok
test global_position_int::tests::decode_rejects_long_payload ... ok
test global_position_int::tests::decode_rejects_short_payload ... ok
test global_position_int::tests::field_offsets_match_spec ... ok
test global_position_int::tests::msg_id_is_33 ... ok
test global_position_int::tests::payload_length_is_28 ... ok
test command_long::tests::round_trip_arbitrary ... ok
test global_position_int::tests::round_trip_extremes ... ok
test global_position_int::tests::round_trip_sample ... ok
test global_position_int::tests::round_trip_zero ... ok
test heartbeat::tests::crc_extra_is_fifty ... ok
test frame::tests::encode_parse_round_trip_arbitrary_seq ... ok
test heartbeat::tests::custom_mode_little_endian ... ok
test heartbeat::tests::decode_empty_payload ... ok
test heartbeat::tests::decode_rejects_long_payload ... ok
test heartbeat::tests::decode_rejects_short_payload ... ok
test heartbeat::tests::field_offsets_match_spec ... ok
test heartbeat::tests::mav_mode_flag_or_and_contains ... ok
test heartbeat::tests::payload_length_constant ... ok
test global_position_int::tests::round_trip_arbitrary ... ok
test heartbeat::tests::round_trip_falcon_default ... ok
test heartbeat::tests::round_trip_gcs_default ... ok
test heartbeat::tests::round_trip_max_values ... ok
test heartbeat::tests::round_trip_zero ... ok
test heartbeat::tests::round_trip_arbitrary ... ok
test frame::tests::parser_never_panics ... ok

test result: ok. 55 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

running 10 tests
test hackrf::tests::gps_sdr_sim_argv_shape_is_stable ... ok
test hackrf::tests::hackrf_argv_shape_is_stable ... ok
test mavlink::tests::altitude_translates_to_down ... ok
test mavlink::tests::build_frame_carries_correct_message_id ... ok
test mavlink::tests::home_projects_to_origin ... ok
test mavlink::tests::mavlink_bench_no_violation_no_latch ... ok
test mavlink::tests::mavlink_bench_trips_and_dispatches_on_spoof ... ok
test mavlink::tests::one_hundred_metres_north_projects_to_10000_cm_n ... ok
test stub::tests::stub_bench_no_violation_no_latch ... ok
test stub::tests::stub_bench_trips_and_dispatches ... ok

test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

running 13 tests
test tests::at_zero_error_output_is_zero ... ok
test tests::fresh_pid_has_zero_state ... ok
test tests::negative_error_drives_negative_torque ... ok
test tests::out_of_range_dt_clamped_safely ... ok
test tests::positive_error_drives_positive_torque ... ok
test tests::rate_p02_infinite_setpoint_does_not_propagate ... ok
test tests::rate_p02_nan_input_does_not_propagate ... ok
test tests::output_clamped_to_torque_max ... ok
test tests::rate_p03_step_response_drives_error_to_zero ... ok
test tests::reset_clears_state ... ok
test tests::rate_p02_property ... ok
test tests::rate_p01_anti_windup_holds_integral_at_bound ... ok
test tests::rate_p01_property ... ok

test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

running 13 tests
test tests::at_zero_error_output_is_zero ... ok
test tests::fresh_pid_has_zero_state ... ok
test tests::negative_error_drives_negative_torque ... ok
test tests::out_of_range_dt_clamped_safely ... ok
test tests::positive_error_drives_positive_torque ... ok
test tests::rate_p02_infinite_setpoint_does_not_propagate ... ok
test tests::rate_p02_nan_input_does_not_propagate ... ok
test tests::output_clamped_to_torque_max ... ok
test tests::rate_p03_step_response_drives_error_to_zero ... ok
test tests::reset_clears_state ... ok
test tests::rate_p02_property ... ok
test tests::rate_p01_property ... ok
test tests::rate_p01_anti_windup_holds_integral_at_bound ... ok

test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

running 13 tests
test tests::at_zero_error_output_is_zero ... ok
test tests::fresh_pid_has_zero_state ... ok
test tests::out_of_range_dt_clamped_safely ... ok
test tests::negative_error_drives_negative_torque ... ok
test tests::positive_error_drives_positive_torque ... ok
test tests::rate_p02_infinite_setpoint_does_not_propagate ... ok
test tests::rate_p02_nan_input_does_not_propagate ... ok
test tests::output_clamped_to_torque_max ... ok
test tests::rate_p03_step_response_drives_error_to_zero ... ok
test tests::reset_clears_state ... ok
test tests::rate_p01_anti_windup_holds_integral_at_bound ... ok
test tests::rate_p02_property ... ok
test tests::rate_p01_property ... ok

test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.60s

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

running 17 tests
test tests::deterministic_disturbance_recovers ... ok
test tests::deterministic_attitude_cascade_passes ... ok
test tests::deterministic_hover_settles ... ok
test tests::deterministic_step_response_passes ... ok
test tests::deterministic_mission_passes ... ok
test tests::ekf_watchdog_catches_intermittent_fault ... ok
test tests::ekf_watchdog_debounces_transient_spikes ... ok
test tests::ekf_watchdog_ignores_healthy_innovation ... ok
test tests::deterministic_fault_triggers_rtl ... ok
test tests::noisy_attitude_cascade_still_passes ... ok
test tests::deterministic_geofence_catches_spoof_and_triggers_rtl ... ok
test tests::noisy_step_response_still_passes ... ok
test tests::plant_step_full_preserves_unit_quaternion_and_finite_state ... ok
test tests::plant_step_preserves_unit_quaternion ... ok
test tests::noisy_mission_still_reaches_waypoint ... ok
test tests::noisy_fault_still_triggers_rtl ... ok
test tests::deterministic_untethered_mission_visits_all_waypoints ... ok

test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s

--- scenario: step ---
samples 5000
final ω (rad/s) [+0.5007, -0.3003, +0.4006]
peak ω above sp 0.0061 rad/s
overshoot 1.2 %
RMS error (steady) 0.0012 rad/s
convergence time 0.139s
loop wall time 724 µs
NaN/∞ seen false
outcome PASS
--- scenario: disturbance ---
samples 5000
final ω (rad/s) [+0.0000, -0.0042, +0.0000]
peak ω above sp 0.8958 rad/s
recovery time 0.141s after impulse
loop wall time 667 µs
NaN/∞ seen false
outcome PASS
--- scenario: hover ---
samples 5000
final ω (rad/s) [-0.0020, +0.0013, -0.0007]
peak ω above sp 0.7683 rad/s
convergence time 0.175s
loop wall time 745 µs
NaN/∞ seen false
outcome PASS
--- scenario: attitude ---
samples 5000
final ω (rad/s) [-0.0001, +0.0000, +0.0000]
peak attitude err 19.989°
RMS error (steady) 0.029° (last 1s)
convergence time 0.352s
loop wall time 921 µs
NaN/∞ seen false
outcome PASS
--- scenario: mission ---
samples 12000
final v (m/s NED) [-0.004, +0.000, +0.003]
peak distance error 10.000 m
final distance 0.010 m
RMS distance (steady)0.015 m (last 2s)
convergence time 4.045s
loop wall time 2433 µs
NaN/∞ seen false
outcome PASS
--- scenario: fault ---
samples 16000
final position (NED) [-37.92, +0.00, +137.55] m
peak EKF innovation 0.9521
RTL detection 0.047s after fault injection
loop wall time 6377 µs
NaN/∞ seen false
outcome PASS
--- scenario: untethered ---
samples 36000
final position (NED) [+0.00, -0.00, -0.01] m
worst waypoint min 0.082 m
final distance home 0.011 m
mission completed in 32.0s
loop wall time 14396 µs
NaN/∞ seen false
outcome PASS
--- scenario: geofence ---
samples 16000
final position (NED) [+9.99, +0.00, -0.02] m
peak true-N (truth) +16.35 m (fence at +15.00 m)
geofence violation at 5.834s
loop wall time 6253 µs
NaN/∞ seen false
outcome PASS
falcon-sitl-hover: PASS

running 10 tests
test tests::high_thrust_with_torque_saturates_gracefully ... ok
test tests::mix_p01_zero_command_gives_thrust_only ... ok
test tests::mix_p02_outputs_in_unit_interval ... ok
test tests::mix_p03_pure_pitch_drives_front_and_back_motors_opposite ... ok
test tests::mix_p03_pure_roll_drives_diagonal_motor_pairs_opposite ... ok
test tests::mix_p03_pure_yaw_drives_cw_and_ccw_pairs_opposite ... ok
test tests::nan_input_does_not_propagate ... ok
test tests::negative_thrust_clipped_to_zero ... ok
test tests::mix_p03_property_single_axis ... ok
test tests::mix_p02_property ... ok

test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

running 13 tests
test tests::at_zero_error_output_is_zero ... ok
test tests::fresh_pid_has_zero_state ... ok
test tests::negative_error_drives_negative_torque ... ok
test tests::out_of_range_dt_clamped_safely ... ok
test tests::positive_error_drives_positive_torque ... ok
test tests::rate_p02_infinite_setpoint_does_not_propagate ... ok
test tests::rate_p02_nan_input_does_not_propagate ... ok
test tests::output_clamped_to_torque_max ... ok
test tests::rate_p03_step_response_drives_error_to_zero ... ok
test tests::reset_clears_state ... ok
test tests::rate_p02_property ... ok
test tests::rate_p01_anti_windup_holds_integral_at_bound ... ok
test tests::rate_p01_property ... ok

test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

running 17 tests
test tests::deterministic_disturbance_recovers ... ok
test tests::deterministic_attitude_cascade_passes ... ok
test tests::deterministic_hover_settles ... ok
test tests::deterministic_step_response_passes ... ok
test tests::deterministic_mission_passes ... ok
test tests::ekf_watchdog_catches_intermittent_fault ... ok
test tests::ekf_watchdog_debounces_transient_spikes ... ok
test tests::ekf_watchdog_ignores_healthy_innovation ... ok
test tests::deterministic_fault_triggers_rtl ... ok
test tests::deterministic_geofence_catches_spoof_and_triggers_rtl ... ok
test tests::noisy_attitude_cascade_still_passes ... ok
test tests::noisy_step_response_still_passes ... ok
test tests::plant_step_full_preserves_unit_quaternion_and_finite_state ... ok
test tests::plant_step_preserves_unit_quaternion ... ok
test tests::noisy_mission_still_reaches_waypoint ... ok
test tests::noisy_fault_still_triggers_rtl ... ok
test tests::deterministic_untethered_mission_visits_all_waypoints ... ok

test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s

running 16 tests
test tests::cross_of_parallel_is_zero ... ok
test tests::ekf_p01_tick_preserves_unit_quaternion ... ok
test tests::ekf_p02_extreme_accel_does_not_produce_nan ... ok
test tests::ekf_p02_zero_accel_does_not_produce_nan ... ok
test tests::ekf_p03_innovation_monotone_with_tilt_disagreement ... ok
test tests::ekf_p04_static_rest_converges_to_gravity_aligned ... ok
test tests::ekf_p05_pure_yaw_gyro_does_not_destabilise_attitude ... ok
test tests::fresh_estimator_is_at_identity ... ok
test tests::normalise_nan_returns_none ... ok
test tests::normalise_zero_returns_none ... ok
test tests::quat_mul_identity_left ... ok
test tests::quat_mul_identity_right ... ok
test tests::rotate_inverse_identity_passes_through ... ok
test tests::ekf_p01_property ... ok
test tests::bias_estimate_bounded ... ok
test tests::ekf_p02_property_sequence ... ok

test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

running 16 tests
test tests::cross_of_parallel_is_zero ... ok
test tests::ekf_p01_tick_preserves_unit_quaternion ... ok
test tests::ekf_p02_extreme_accel_does_not_produce_nan ... ok
test tests::ekf_p02_zero_accel_does_not_produce_nan ... ok
test tests::ekf_p03_innovation_monotone_with_tilt_disagreement ... ok
test tests::ekf_p04_static_rest_converges_to_gravity_aligned ... ok
test tests::ekf_p05_pure_yaw_gyro_does_not_destabilise_attitude ... ok
test tests::fresh_estimator_is_at_identity ... ok
test tests::normalise_nan_returns_none ... ok
test tests::ekf_p01_property ... ok
test tests::normalise_zero_returns_none ... ok
test tests::quat_mul_identity_left ... ok
test tests::quat_mul_identity_right ... ok
test tests::rotate_inverse_identity_passes_through ... ok
test tests::ekf_p02_property_sequence ... ok
test tests::bias_estimate_bounded ... ok

test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

running 16 tests
test tests::cross_of_parallel_is_zero ... ok
test tests::ekf_p01_tick_preserves_unit_quaternion ... ok
test tests::ekf_p02_extreme_accel_does_not_produce_nan ... ok
test tests::ekf_p02_zero_accel_does_not_produce_nan ... ok
test tests::ekf_p03_innovation_monotone_with_tilt_disagreement ... ok
test tests::ekf_p04_static_rest_converges_to_gravity_aligned ... ok
test tests::ekf_p05_pure_yaw_gyro_does_not_destabilise_attitude ... ok
test tests::fresh_estimator_is_at_identity ... ok
test tests::normalise_nan_returns_none ... ok
test tests::normalise_zero_returns_none ... ok
test tests::quat_mul_identity_left ... ok
test tests::quat_mul_identity_right ... ok
test tests::rotate_inverse_identity_passes_through ... ok
test tests::bias_estimate_bounded ... ok
test tests::ekf_p01_property ... ok
test tests::ekf_p02_property_sequence ... ok

test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.78s

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

running 5 tests
test tests::phases_are_consistent_with_trajectory_duration ... ok
test tests::rotate_ned_to_body_identity_passes_through ... ok
test tests::quat_error_is_zero_for_identical_quaternions ... ok
test tests::deterministic_bench_passes ... ok
test tests::noisy_bench_passes_loose ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

--- noise=0 (deterministic) ---
samples 5000
RMS error (full) 3.306°
RMS error (steady) 3.312° (last 2.5 s)
peak error 19.804°
final error 3.023°
convergence time 0.68s (first sustained <5°)
estimator wall time 632 µs
NaN/∞ seen false
falcon-ekf-bench: PASS
Kani-TQ.md
README.md
Verus-TQ.md
miri-TQ.md
spar-TQ.md
witness-TQ.md
64 docs/dossier/tool-qualification/Kani-TQ.md
64 docs/dossier/tool-qualification/README.md
75 docs/dossier/tool-qualification/Verus-TQ.md
82 docs/dossier/tool-qualification/miri-TQ.md
85 docs/dossier/tool-qualification/spar-TQ.md
78 docs/dossier/tool-qualification/witness-TQ.md
448 total

running 1 test
test tests::deterministic_untethered_mission_visits_all_waypoints ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 16 filtered out; finished in 0.05s

running 9 tests
test engine::tests::test_action_types ... ok
test engine::tests::test_counter_incrementing_no_alert ... ok
test engine::tests::test_alert_count_bounded ... ok
test engine::tests::test_counter_reset_on_activity ... ok
test engine::tests::test_disabled_app_ignored ... ok
test engine::tests::test_empty_table ... ok
test engine::tests::test_table_full ... ok
test engine::tests::test_multiple_apps ... ok
test engine::tests::test_stalled_app_alert_after_max_miss ... ok

test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

running 17 tests
test tests::deterministic_disturbance_recovers ... ok
test tests::deterministic_attitude_cascade_passes ... ok
test tests::deterministic_hover_settles ... ok
test tests::deterministic_step_response_passes ... ok
test tests::deterministic_mission_passes ... ok
test tests::ekf_watchdog_catches_intermittent_fault ... ok
test tests::ekf_watchdog_debounces_transient_spikes ... ok
test tests::ekf_watchdog_ignores_healthy_innovation ... ok
test tests::noisy_attitude_cascade_still_passes ... ok
test tests::deterministic_fault_triggers_rtl ... ok
test tests::deterministic_geofence_catches_spoof_and_triggers_rtl ... ok
test tests::noisy_step_response_still_passes ... ok
test tests::plant_step_full_preserves_unit_quaternion_and_finite_state ... ok
test tests::plant_step_preserves_unit_quaternion ... ok
test tests::noisy_mission_still_reaches_waypoint ... ok
test tests::noisy_fault_still_triggers_rtl ... ok
test tests::deterministic_untethered_mission_visits_all_waypoints ... ok

test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s

running 10 tests
test hackrf::tests::gps_sdr_sim_argv_shape_is_stable ... ok
test hackrf::tests::hackrf_argv_shape_is_stable ... ok
test mavlink::tests::altitude_translates_to_down ... ok
test mavlink::tests::build_frame_carries_correct_message_id ... ok
test mavlink::tests::home_projects_to_origin ... ok
test mavlink::tests::mavlink_bench_no_violation_no_latch ... ok
test mavlink::tests::mavlink_bench_trips_and_dispatches_on_spoof ... ok
test mavlink::tests::one_hundred_metres_north_projects_to_10000_cm_n ... ok
test stub::tests::stub_bench_trips_and_dispatches ... ok
test stub::tests::stub_bench_no_violation_no_latch ... ok

test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

falcon-hitl-rfspoof: backend=stub duration=5s
fence: ±100 m × ±100 m × ±100 m (NED, centred on home)
verdict = HitlVerdict {
backend: "stub",
duration_s: 5.0,
steps: 500,
latched: true,
latched_at_s: Some(
1.9999985,
),
rtl_dispatched: true,
rtl_frame_sent: true,
spoof_first_seen_at_s: Some(
1.9999985,
),
failure: None,
}
PASS

running 17 tests
test engine::proptests::compare_matches_rust ... ok
test engine::proptests::disabled_never_fires ... ok
test engine::tests::geofence_boundary_inclusive ... ok
test engine::proptests::persistence_requires_consecutive ... ok
test engine::tests::geofence_inside_does_not_trip ... ok
test engine::tests::geofence_outside_d_trips ... ok
test engine::tests::geofence_outside_e_trips ... ok
test engine::tests::geofence_outside_n_trips_once ... ok
test engine::tests::test_bounded ... ok
test engine::tests::test_disabled ... ok
test engine::tests::test_empty ... ok
test engine::tests::test_gt_violation ... ok
test engine::tests::test_ops ... ok
test engine::tests::test_persistence ... ok
test engine::tests::test_persistence_reset ... ok
test engine::tests::test_sensor_filter ... ok
test engine::proptests::output_always_bounded ... ok

test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

running 9 tests
test tests::args_default_ports_for_gcs_mode ... ok
test tests::args_default_ports_for_vehicle_mode ... ok
test tests::args_rejects_missing_mode ... ok
test tests::args_rejects_unknown_mode ... ok
test tests::handle_inbound_propagates_bad_crc ... ok
test tests::handle_inbound_rejects_unsupported_message ... ok
test tests::handle_inbound_truncated ... ok
test tests::current_timestamp_is_monotone_within_a_run ... ok
test tests::vehicle_and_gcs_exchange_heartbeats_over_udp ... ok

test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s

[falcon-hello-demo] building release binary...
[falcon-hello-demo] launching gcs on 127.0.0.1:14700
[falcon-hello-demo] launching vehicle (4 Hz × 4s)
[falcon-hello-demo] vehicle sent 13 heartbeat(s)
[falcon-hello-demo] gcs received 13 heartbeat(s)
[falcon-hello-demo] PASS

running 9 tests
test tests::deterministic_across_ticks_with_same_time ... ok
test tests::fresh_stub_has_zero_time ... ok
test tests::innovation_is_quiet_in_stub ... ok
test tests::tick_passes_time_through ... ok
test tests::tick_returns_identity_quaternion ... ok
test tests::tick_returns_zero_position_and_velocity ... ok
test tests::unit_quaternion_check_rejects_clearly_non_unit ... ok
test tests::tick_innovation_within_healthy_range ... ok
test tests::tick_always_emits_unit_quaternion ... ok

test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

running 9 tests
test tests::deterministic_across_ticks_with_same_time ... ok
test tests::fresh_stub_has_zero_time ... ok
test tests::innovation_is_quiet_in_stub ... ok
test tests::tick_returns_identity_quaternion ... ok
test tests::tick_passes_time_through ... ok
test tests::tick_returns_zero_position_and_velocity ... ok
test tests::tick_innovation_within_healthy_range ... ok
test tests::unit_quaternion_check_rejects_clearly_non_unit ... ok
test tests::tick_always_emits_unit_quaternion ... ok

test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

running 9 tests
test tests::deterministic_across_ticks_with_same_time ... ok
test tests::fresh_stub_has_zero_time ... ok
test tests::innovation_is_quiet_in_stub ... ok
test tests::tick_passes_time_through ... ok
test tests::tick_returns_identity_quaternion ... ok
test tests::tick_returns_zero_position_and_velocity ... ok
test tests::unit_quaternion_check_rejects_clearly_non_unit ... ok
test tests::tick_innovation_within_healthy_range ... ok
test tests::tick_always_emits_unit_quaternion ... ok

test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

running 20 tests
test bitpack::tests::bitpack_basic_id_packs_id_and_ua_type_in_same_byte ... ok
test bitpack::tests::bitpack_basic_id_round_trip ... ok
test bitpack::tests::bitpack_decoder_rejects_unknown_protocol_version ... ok
test bitpack::tests::bitpack_location_rejects_oversize_track_byte ... ok
test bitpack::tests::bitpack_location_idempotent_after_canonicalize ... ok
test bitpack::tests::bitpack_location_rejects_wrong_message_type ... ok
test bitpack::tests::bitpack_location_round_trip_on_canonical ... ok
test tests::basic_id_header_byte_is_well_formed ... ok
test tests::basic_id_round_trip ... ok
test tests::decoder_rejects_unknown_protocol_version ... ok
test tests::location_rejects_out_of_range_timestamp ... ok
test tests::location_rejects_out_of_range_track ... ok
test tests::location_rejects_wrong_message_type ... ok
test tests::location_round_trip ... ok
test bitpack::tests::proptest_bitpack_location_round_trip_on_canonical ... ok
test bitpack::tests::proptest_bitpack_basic_id_round_trip ... ok
test bitpack::tests::proptest_bitpack_decoder_never_panics ... ok
test tests::proptest_basic_id_round_trip ... ok
test tests::proptest_decoder_never_panics ... ok
test tests::proptest_location_round_trip_in_range ... ok

test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

running 13 tests
test tests::altitude_above_setpoint_reduces_thrust ... ok
test tests::altitude_below_setpoint_increases_thrust ... ok
test tests::at_setpoint_with_zero_velocity_gives_hover_thrust ... ok
test tests::degenerate_input_does_not_propagate ... ok
test tests::east_position_error_rolls_right ... ok
test tests::forward_position_error_pitches_nose_down ... ok
test tests::pos_p01_bounds_enforced ... ok
test tests::reset_clears_integral ... ok
test tests::yaw_held_when_setpoint_is_nan ... ok
test tests::tilt_clamped_to_tilt_max ... ok
test tests::yaw_setpoint_is_followed ... ok
test tests::v_setpoint_clamped_to_v_max ... ok
test tests::pos_p01_property ... ok

test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

running 13 tests
test tests::altitude_above_setpoint_reduces_thrust ... ok
test tests::altitude_below_setpoint_increases_thrust ... ok
test tests::degenerate_input_does_not_propagate ... ok
test tests::at_setpoint_with_zero_velocity_gives_hover_thrust ... ok
test tests::east_position_error_rolls_right ... ok
test tests::forward_position_error_pitches_nose_down ... ok
test tests::pos_p01_bounds_enforced ... ok
test tests::reset_clears_integral ... ok
test tests::tilt_clamped_to_tilt_max ... ok
test tests::yaw_held_when_setpoint_is_nan ... ok
test tests::yaw_setpoint_is_followed ... ok
test tests::v_setpoint_clamped_to_v_max ... ok
test tests::pos_p01_property ... ok

test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

running 13 tests
test tests::altitude_above_setpoint_reduces_thrust ... ok
test tests::altitude_below_setpoint_increases_thrust ... ok
test tests::degenerate_input_does_not_propagate ... ok
test tests::east_position_error_rolls_right ... ok
test tests::at_setpoint_with_zero_velocity_gives_hover_thrust ... ok
test tests::forward_position_error_pitches_nose_down ... ok
test tests::pos_p01_bounds_enforced ... ok
test tests::reset_clears_integral ... ok
test tests::yaw_held_when_setpoint_is_nan ... ok
test tests::tilt_clamped_to_tilt_max ... ok
test tests::yaw_setpoint_is_followed ... ok
test tests::v_setpoint_clamped_to_v_max ... ok
test tests::pos_p01_property ... ok

test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

running 17 tests
test tests::deterministic_disturbance_recovers ... ok
test tests::deterministic_attitude_cascade_passes ... ok
test tests::deterministic_hover_settles ... ok
test tests::deterministic_step_response_passes ... ok
test tests::deterministic_mission_passes ... ok
test tests::ekf_watchdog_catches_intermittent_fault ... ok
test tests::ekf_watchdog_debounces_transient_spikes ... ok
test tests::ekf_watchdog_ignores_healthy_innovation ... ok
test tests::deterministic_fault_triggers_rtl ... ok
test tests::deterministic_geofence_catches_spoof_and_triggers_rtl ... ok
test tests::noisy_attitude_cascade_still_passes ... ok
test tests::noisy_step_response_still_passes ... ok
test tests::plant_step_full_preserves_unit_quaternion_and_finite_state ... ok
test tests::plant_step_preserves_unit_quaternion ... ok
test tests::noisy_mission_still_reaches_waypoint ... ok
test tests::noisy_fault_still_triggers_rtl ... ok
test tests::deterministic_untethered_mission_visits_all_waypoints ... ok

test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s

--- scenario: mission ---
samples 12000
final v (m/s NED) [-0.004, +0.000, +0.003]
peak distance error 10.000 m
final distance 0.010 m
RMS distance (steady)0.015 m (last 2s)
convergence time 4.045s
loop wall time 2468 µs
NaN/∞ seen false
outcome PASS
falcon-sitl-hover: PASS

running 10 tests
test tests::high_thrust_with_torque_saturates_gracefully ... ok
test tests::mix_p01_zero_command_gives_thrust_only ... ok
test tests::mix_p02_outputs_in_unit_interval ... ok
test tests::mix_p03_pure_pitch_drives_front_and_back_motors_opposite ... ok
test tests::mix_p03_pure_roll_drives_diagonal_motor_pairs_opposite ... ok
test tests::mix_p03_pure_yaw_drives_cw_and_ccw_pairs_opposite ... ok
test tests::nan_input_does_not_propagate ... ok
test tests::negative_thrust_clipped_to_zero ... ok
test tests::mix_p03_property_single_axis ... ok
test tests::mix_p02_property ... ok

test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

running 10 tests
test tests::high_thrust_with_torque_saturates_gracefully ... ok
test tests::mix_p01_zero_command_gives_thrust_only ... ok
test tests::mix_p02_outputs_in_unit_interval ... ok
test tests::mix_p03_pure_pitch_drives_front_and_back_motors_opposite ... ok
test tests::mix_p03_pure_roll_drives_diagonal_motor_pairs_opposite ... ok
test tests::mix_p03_pure_yaw_drives_cw_and_ccw_pairs_opposite ... ok
test tests::nan_input_does_not_propagate ... ok
test tests::negative_thrust_clipped_to_zero ... ok
test tests::mix_p03_property_single_axis ... ok
test tests::mix_p02_property ... ok

test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

running 10 tests
test tests::high_thrust_with_torque_saturates_gracefully ... ok
test tests::mix_p01_zero_command_gives_thrust_only ... ok
test tests::mix_p02_outputs_in_unit_interval ... ok
test tests::mix_p03_pure_pitch_drives_front_and_back_motors_opposite ... ok
test tests::mix_p03_pure_roll_drives_diagonal_motor_pairs_opposite ... ok
test tests::mix_p03_pure_yaw_drives_cw_and_ccw_pairs_opposite ... ok
test tests::nan_input_does_not_propagate ... ok
test tests::negative_thrust_clipped_to_zero ... ok
test tests::mix_p03_property_single_axis ... ok
test tests::mix_p02_property ... ok

test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

running 17 tests
test engine::proptests::compare_matches_rust ... ok
test engine::proptests::disabled_never_fires ... ok
test engine::tests::geofence_boundary_inclusive ... ok
test engine::tests::geofence_inside_does_not_trip ... ok
test engine::proptests::persistence_requires_consecutive ... ok
test engine::tests::geofence_outside_d_trips ... ok
test engine::tests::geofence_outside_e_trips ... ok
test engine::tests::geofence_outside_n_trips_once ... ok
test engine::tests::test_bounded ... ok
test engine::tests::test_disabled ... ok
test engine::tests::test_empty ... ok
test engine::tests::test_gt_violation ... ok
test engine::tests::test_ops ... ok
test engine::tests::test_persistence ... ok
test engine::tests::test_persistence_reset ... ok
test engine::tests::test_sensor_filter ... ok
test engine::proptests::output_always_bounded ... ok

test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

running 1 test
test tests::deterministic_geofence_catches_spoof_and_triggers_rtl ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 16 filtered out; finished in 0.02s

falcon verification gate (type: sw-verification, filter: (has-tag "falcon"))

34 artifact(s) matched: FV-FALCON-SIM-007, FV-FALCON-MAVLINK-002, FV-FALCON-HITL-002, FV-FALCON-ATT-001, FV-FALCON-SIM-002, FV-FALCON-RATE-001, FV-FALCON-PIPELINE-001, FV-FALCON-EKF-001, FV-FALCON-TQ-001, FV-FALCON-UAM-001, FV-FALCON-GEO-003, FV-FALCON-FAULT-001, FV-FALCON-COV-003, FV-FALCON-COV-002, FV-FALCON-HITL-001, FV-FALCON-GEO-002, FV-FALCON-SIM-005, FV-FALCON-SIM-006, FV-FALCON-WORLD-001, FV-FALCON-ARCH-002, FV-FALCON-EKF-STUB-001, FV-FALCON-COV-004, FV-FALCON-SIM-001, FV-FALCON-NID-002, FV-FALCON-POS-001, FV-FALCON-MIX-001, FV-FALCON-GEO-001, FV-FALCON-SIM-003, FV-FALCON-COV-005, FV-FALCON-MAVLINK-001, FV-FALCON-NID-001, FV-FALCON-COV-001, FV-FALCON-ARCH-001, FV-FALCON-SIM-004

[ skip-no-steps] FV-FALCON-SIM-007: (no steps defined)
[ skip-bench-only] FV-FALCON-MAVLINK-002: bazel test //:relay_mavlink_verus_test
[ PASS] ( 9.08s) FV-FALCON-MAVLINK-002: cargo test -p relay-mavlink
[ PASS] ( 0.15s) FV-FALCON-HITL-002: cargo test -p relay-mavlink
[ PASS] ( 0.51s) FV-FALCON-HITL-002: cargo test -p falcon-hitl-rfspoof
[ skip-bench-only] FV-FALCON-HITL-002: MIRIFLAGS=-Zmiri-disable-isolation cargo +nightly miri test -p falcon-hitl-rfspoof --bin falcon-hitl-rfspoof mavlink::tests
[ skip-bench-only] FV-FALCON-HITL-002: cargo run -p falcon-hitl-rfspoof -- --backend=mavlink --listen=0.0.0.0:14550
[ PASS] ( 0.40s) FV-FALCON-ATT-001: cargo test -p relay-att
[ PASS] ( 10.55s) FV-FALCON-ATT-001: cargo test -p relay-att --release
[ PASS] ( 0.23s) FV-FALCON-ATT-001: PROPTEST_CASES=4096 cargo test -p relay-att
[ PASS] ( 1.30s) FV-FALCON-ATT-001: cargo test -p falcon-sitl-hover
[ PASS] ( 1.72s) FV-FALCON-ATT-001: cargo run -q -p falcon-sitl-hover --release -- --scenario attitude
[ PASS] ( 0.16s) FV-FALCON-SIM-002: cargo test -p relay-mavlink
[ PASS] ( 0.09s) FV-FALCON-SIM-002: cargo test -p falcon-hitl-rfspoof
[ skip-bench-only] FV-FALCON-SIM-002: cargo run -p falcon-hitl-rfspoof -- --preset=px4-sitl
[ PASS] ( 0.47s) FV-FALCON-RATE-001: cargo test -p relay-rate
[ PASS] ( 0.89s) FV-FALCON-RATE-001: cargo test -p relay-rate --release
[ PASS] ( 0.72s) FV-FALCON-RATE-001: PROPTEST_CASES=4096 cargo test -p relay-rate
[ PASS] ( 0.16s) FV-FALCON-RATE-001: cargo test -p falcon-sitl-hover
[ PASS] ( 0.12s) FV-FALCON-RATE-001: cargo run -q -p falcon-sitl-hover --release
[ PASS] ( 0.40s) FV-FALCON-PIPELINE-001: cargo test -p relay-mix-quad
[ PASS] ( 0.17s) FV-FALCON-PIPELINE-001: cargo test -p relay-rate
[ PASS] ( 0.16s) FV-FALCON-PIPELINE-001: cargo test -p falcon-sitl-hover
[ PASS] ( 0.49s) FV-FALCON-EKF-001: cargo test -p relay-ekf
[ PASS] ( 0.90s) FV-FALCON-EKF-001: cargo test -p relay-ekf --release
[ PASS] ( 0.90s) FV-FALCON-EKF-001: PROPTEST_CASES=4096 cargo test -p relay-ekf
[ PASS] ( 0.21s) FV-FALCON-EKF-001: cargo test -p falcon-ekf-bench
[ PASS] ( 0.24s) FV-FALCON-EKF-001: cargo run -q -p falcon-ekf-bench --release
[ PASS] ( 0.00s) FV-FALCON-TQ-001: ls docs/dossier/tool-qualification/
[ PASS] ( 0.00s) FV-FALCON-TQ-001: wc -l docs/dossier/tool-qualification/.md
[ PASS] ( 0.14s) FV-FALCON-UAM-001: cargo test -p falcon-sitl-hover tests::deterministic_untethered_mission_visits_all_waypoints
[ skip-bench-only] FV-FALCON-GEO-003: rustup component add miri --toolchain nightly
[ skip-bench-only] FV-FALCON-GEO-003: MIRIFLAGS=-Zmiri-disable-isolation cargo +nightly miri test -p relay-lc --lib geofence
[ skip-bench-only] FV-FALCON-GEO-003: MIRIFLAGS=-Zmiri-disable-isolation cargo +nightly miri test -p falcon-hitl-rfspoof --bin falcon-hitl-rfspoof stub::tests
[ skip-bench-only] FV-FALCON-GEO-003: MIRIFLAGS=-Zmiri-disable-isolation cargo +nightly miri test -p falcon-hitl-rfspoof --bin falcon-hitl-rfspoof mavlink::tests
[ skip-bench-only] FV-FALCON-FAULT-001: bazel test //:relay_hs_verus_test
[ PASS] ( 0.22s) FV-FALCON-FAULT-001: cargo test -p relay-hs
[ PASS] ( 0.17s) FV-FALCON-FAULT-001: cargo test -p falcon-sitl-hover
[ skip-bench-only] FV-FALCON-FAULT-001: cargo kani -p relay-hs
[ skip-bench-only] FV-FALCON-COV-003: cargo build -p geofence-subject-rs --target wasm32-unknown-unknown --release
[ skip-bench-only] FV-FALCON-COV-003: cp target/wasm32-unknown-unknown/release/geofence_subject_rs.wasm coverage_subjects/
[ skip-bench-only] FV-FALCON-COV-003: bazel build //:geofence-subject-rs-coverage
[ skip-bench-only] FV-FALCON-COV-003: cat bazel-bin/geofence-subject-rs-coverage_witness-run.json
[ FAIL (rc=101)] (102.86s) FV-FALCON-COV-002: cargo llvm-cov --workspace --summary-only
[ FAIL (rc=101)] ( 1.50s) FV-FALCON-COV-002: cargo llvm-cov --workspace --lcov --output-path coverage.lcov
[ PASS] ( 0.09s) FV-FALCON-HITL-001: cargo test -p falcon-hitl-rfspoof
[ PASS] ( 0.26s) FV-FALCON-HITL-001: cargo run -p falcon-hitl-rfspoof
[ skip-bench-only] FV-FALCON-HITL-001: cargo run -p falcon-hitl-rfspoof -- --backend=hackrf --duration=30
[ skip-bench-only] FV-FALCON-GEO-002: cargo kani -p relay-lc
[ PASS] ( 0.51s) FV-FALCON-GEO-002: cargo test -p relay-lc
[ skip-bench-only] FV-FALCON-SIM-005: cargo test -p falcon-sitl-gz --features gazebo
[ skip-bench-only] FV-FALCON-SIM-005: cargo run -p falcon-sitl-gz --features gazebo -- --backend=gazebo --world=falcon --model=quad --home=47.3977,8.5456,488 --duration=30
[ skip-no-steps] FV-FALCON-SIM-006: (no steps defined)
[ PASS] ( 0.40s) FV-FALCON-WORLD-001: cargo test -p falcon-hello
[ PASS] ( 4.84s) FV-FALCON-WORLD-001: scripts/falcon-hello-demo.sh
[ skip-bench-only] FV-FALCON-ARCH-002: cd /Users/r/git/pulseengine/spar && git pull --rebase && cargo install --path crates/spar-cli --locked
[ skip-bench-only] FV-FALCON-ARCH-002: spar codegen --root Falcon_System::Falcon.Quad --format wit --output /tmp/falcon-spar-wit spar/
.aadl
[ skip-bench-only] FV-FALCON-ARCH-002: diff /tmp/falcon-spar-wit/wit/autopilot.wit wit/falcon-cascade/cascade.wit
[ PASS] ( 0.40s) FV-FALCON-EKF-STUB-001: cargo test -p relay-ekf-stub
[ PASS] ( 0.78s) FV-FALCON-EKF-STUB-001: cargo test -p relay-ekf-stub --release
[ PASS] ( 0.22s) FV-FALCON-EKF-STUB-001: PROPTEST_CASES=4096 cargo test -p relay-ekf-stub
[ FAIL (rc=101)] (177.74s) FV-FALCON-COV-004: cargo build -p witness-wasi-harness --release
[ skip-bench-only] FV-FALCON-COV-004: $WITNESS run /path/to/instrumented.wasm --output run.json --harness target/release/witness-wasi-harness
[ skip-bench-only] FV-FALCON-SIM-001: cargo run -p falcon-hitl-rfspoof -- --preset=px4-sitl --duration=1
[ skip-bench-only] FV-FALCON-SIM-001: cd ~/git/PX4-Autopilot && make px4_sitl jmavsim
[ skip-bench-only] FV-FALCON-SIM-001: cargo run -p falcon-hitl-rfspoof -- --preset=px4-sitl
[ skip-bench-only] FV-FALCON-NID-002: bazel test //:relay_nid_verus_test
[ PASS] ( 0.62s) FV-FALCON-NID-002: cargo test -p relay-nid
[ PASS] ( 0.40s) FV-FALCON-POS-001: cargo test -p relay-pos
[ PASS] ( 0.61s) FV-FALCON-POS-001: cargo test -p relay-pos --release
[ PASS] ( 0.23s) FV-FALCON-POS-001: PROPTEST_CASES=4096 cargo test -p relay-pos
[ PASS] ( 0.17s) FV-FALCON-POS-001: cargo test -p falcon-sitl-hover
[ PASS] ( 0.10s) FV-FALCON-POS-001: cargo run -q -p falcon-sitl-hover --release -- --scenario mission
[ PASS] ( 0.13s) FV-FALCON-MIX-001: cargo test -p relay-mix-quad
[ PASS] ( 0.83s) FV-FALCON-MIX-001: cargo test -p relay-mix-quad --release
[ PASS] ( 0.22s) FV-FALCON-MIX-001: PROPTEST_CASES=4096 cargo test -p relay-mix-quad
[ skip-bench-only] FV-FALCON-GEO-001: bazel test //:relay_lc_verus_test
[ PASS] ( 0.14s) FV-FALCON-GEO-001: cargo test -p relay-lc
[ PASS] ( 0.11s) FV-FALCON-GEO-001: cargo test -p falcon-sitl-hover tests::deterministic_geofence_catches_spoof_and_triggers_rtl
running 7 tests
test physics::tests::gazebo_stub_compiles_and_returns_zeros ... ok
test physics::tests::mock_physics_hover_with_full_thrust_climbs ... ok
test physics::tests::mock_physics_at_rest_stays_quiet ... ok
test physics::tests::mock_physics_measure_returns_sensible_imu ... ok
test tests::gazebo_stub_does_not_panic ... ok
test tests::mock_backend_climbs_under_full_thrust ... ok
test tests::evidence_sink_produces_log_and_csv ... ok

test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

falcon-sitl-gz: backend=mock scenario=hover duration=5s
verdict: backend=mock steps=500 climb=48.37 m (min=0.00 max=48.37) wall=0.00s
PASS

running 55 tests
test command_long::tests::crc_extra_is_152 ... ok
test command_long::tests::decode_rejects_short_payload ... ok
test command_long::tests::field_offsets_match_spec ... ok
test command_long::tests::decode_rejects_long_payload ... ok
test command_long::tests::msg_id_is_76 ... ok
test command_long::tests::payload_length_is_33 ... ok
test command_long::tests::round_trip_rtl ... ok
test command_long::tests::round_trip_with_params ... ok
test command_long::tests::rtl_builder_has_zero_params ... ok
test command_long::tests::rtl_command_id_is_20 ... ok
test crc::tests::accumulate_slice_equals_individual ... ok
test crc::tests::empty_input_keeps_seed ... ok
test crc::tests::mavlink_reference_vector_123456789 ... ok
test crc::tests::order_matters ... ok
test crc::tests::single_byte_zero ... ok
test frame::tests::encode_rejects_payload_length_mismatch ... ok
test frame::tests::encode_rejects_too_small_output ... ok
test frame::tests::frame_msg_id_three_bytes_little_endian ... ok
test frame::tests::frame_payload_length_byte_matches ... ok
test frame::tests::frame_starts_with_magic_v2 ... ok
test frame::tests::peek_message_id_finds_heartbeat ... ok
test frame::tests::peek_rejects_v1_magic ... ok
test frame::tests::rejects_bad_crc ... ok
test frame::tests::rejects_truncated_header ... ok
test frame::tests::rejects_truncated_payload ... ok
test frame::tests::rejects_v1_magic ... ok
test frame::tests::rejects_wrong_crc_extra ... ok
test frame::tests::round_trip_heartbeat_through_frame ... ok
test global_position_int::tests::crc_extra_is_104 ... ok
test global_position_int::tests::decode_rejects_empty ... ok
test global_position_int::tests::decode_rejects_long_payload ... ok
test global_position_int::tests::decode_rejects_short_payload ... ok
test global_position_int::tests::field_offsets_match_spec ... ok
test global_position_int::tests::msg_id_is_33 ... ok
test global_position_int::tests::payload_length_is_28 ... ok
test command_long::tests::round_trip_arbitrary ... ok
test global_position_int::tests::round_trip_extremes ... ok
test global_position_int::tests::round_trip_sample ... ok
test frame::tests::encode_parse_round_trip_arbitrary_seq ... ok
test global_position_int::tests::round_trip_zero ... ok
test heartbeat::tests::crc_extra_is_fifty ... ok
test heartbeat::tests::custom_mode_little_endian ... ok
test heartbeat::tests::decode_empty_payload ... ok
test heartbeat::tests::decode_rejects_long_payload ... ok
test heartbeat::tests::decode_rejects_short_payload ... ok
test heartbeat::tests::field_offsets_match_spec ... ok
test heartbeat::tests::mav_mode_flag_or_and_contains ... ok
test heartbeat::tests::payload_length_constant ... ok
test heartbeat::tests::round_trip_falcon_default ... ok
test heartbeat::tests::round_trip_gcs_default ... ok
test heartbeat::tests::round_trip_max_values ... ok
test heartbeat::tests::round_trip_zero ... ok
test global_position_int::tests::round_trip_arbitrary ... ok
test heartbeat::tests::round_trip_arbitrary ... ok
test frame::tests::parser_never_panics ... ok

test result: ok. 55 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

running 55 tests
test command_long::tests::decode_rejects_long_payload ... ok
test command_long::tests::crc_extra_is_152 ... ok
test command_long::tests::decode_rejects_short_payload ... ok
test command_long::tests::field_offsets_match_spec ... ok
test command_long::tests::msg_id_is_76 ... ok
test command_long::tests::payload_length_is_33 ... ok
test command_long::tests::round_trip_rtl ... ok
test command_long::tests::round_trip_with_params ... ok
test command_long::tests::rtl_builder_has_zero_params ... ok
test command_long::tests::rtl_command_id_is_20 ... ok
test crc::tests::accumulate_slice_equals_individual ... ok
test crc::tests::empty_input_keeps_seed ... ok
test crc::tests::mavlink_reference_vector_123456789 ... ok
test command_long::tests::round_trip_arbitrary ... ok
test crc::tests::order_matters ... ok
test crc::tests::single_byte_zero ... ok
test frame::tests::encode_rejects_payload_length_mismatch ... ok
test frame::tests::encode_rejects_too_small_output ... ok
test frame::tests::frame_msg_id_three_bytes_little_endian ... ok
test frame::tests::frame_payload_length_byte_matches ... ok
test frame::tests::frame_starts_with_magic_v2 ... ok
test frame::tests::encode_parse_round_trip_arbitrary_seq ... ok
test frame::tests::peek_message_id_finds_heartbeat ... ok
test frame::tests::peek_rejects_v1_magic ... ok
test frame::tests::rejects_bad_crc ... ok
test frame::tests::rejects_truncated_header ... ok
test frame::tests::rejects_truncated_payload ... ok
test frame::tests::rejects_v1_magic ... ok
test frame::tests::rejects_wrong_crc_extra ... ok
test frame::tests::round_trip_heartbeat_through_frame ... ok
test global_position_int::tests::crc_extra_is_104 ... ok
test global_position_int::tests::decode_rejects_empty ... ok
test global_position_int::tests::decode_rejects_long_payload ... ok
test global_position_int::tests::decode_rejects_short_payload ... ok
test global_position_int::tests::field_offsets_match_spec ... ok
test global_position_int::tests::msg_id_is_33 ... ok
test global_position_int::tests::payload_length_is_28 ... ok
test global_position_int::tests::round_trip_extremes ... ok
test global_position_int::tests::round_trip_sample ... ok
test global_position_int::tests::round_trip_zero ... ok
test heartbeat::tests::crc_extra_is_fifty ... ok
test heartbeat::tests::custom_mode_little_endian ... ok
test global_position_int::tests::round_trip_arbitrary ... ok
test heartbeat::tests::decode_empty_payload ... ok
test heartbeat::tests::decode_rejects_long_payload ... ok
test frame::tests::parser_never_panics ... ok
test heartbeat::tests::decode_rejects_short_payload ... ok
test heartbeat::tests::field_offsets_match_spec ... ok
test heartbeat::tests::payload_length_constant ... ok
test heartbeat::tests::mav_mode_flag_or_and_contains ... ok
test heartbeat::tests::round_trip_falcon_default ... ok
test heartbeat::tests::round_trip_max_values ... ok
test heartbeat::tests::round_trip_zero ... ok
test heartbeat::tests::round_trip_gcs_default ... ok
test heartbeat::tests::round_trip_arbitrary ... ok

test result: ok. 55 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

running 55 tests
test command_long::tests::crc_extra_is_152 ... ok
test command_long::tests::decode_rejects_long_payload ... ok
test command_long::tests::msg_id_is_76 ... ok
test command_long::tests::field_offsets_match_spec ... ok
test command_long::tests::payload_length_is_33 ... ok
test command_long::tests::decode_rejects_short_payload ... ok
test command_long::tests::round_trip_rtl ... ok
test command_long::tests::round_trip_with_params ... ok
test command_long::tests::rtl_builder_has_zero_params ... ok
test command_long::tests::rtl_command_id_is_20 ... ok
test crc::tests::accumulate_slice_equals_individual ... ok
test crc::tests::empty_input_keeps_seed ... ok
test crc::tests::mavlink_reference_vector_123456789 ... ok
test crc::tests::order_matters ... ok
test crc::tests::single_byte_zero ... ok
test frame::tests::encode_rejects_payload_length_mismatch ... ok
test frame::tests::encode_rejects_too_small_output ... ok
test frame::tests::frame_msg_id_three_bytes_little_endian ... ok
test frame::tests::frame_payload_length_byte_matches ... ok
test frame::tests::frame_starts_with_magic_v2 ... ok
test frame::tests::peek_message_id_finds_heartbeat ... ok
test frame::tests::peek_rejects_v1_magic ... ok
test frame::tests::rejects_bad_crc ... ok
test frame::tests::rejects_truncated_header ... ok
test frame::tests::rejects_truncated_payload ... ok
test frame::tests::rejects_v1_magic ... ok
test frame::tests::rejects_wrong_crc_extra ... ok
test frame::tests::round_trip_heartbeat_through_frame ... ok
test global_position_int::tests::crc_extra_is_104 ... ok
test global_position_int::tests::decode_rejects_empty ... ok
test global_position_int::tests::decode_rejects_long_payload ... ok
test global_position_int::tests::decode_rejects_short_payload ... ok
test global_position_int::tests::field_offsets_match_spec ... ok
test global_position_int::tests::msg_id_is_33 ... ok
test global_position_int::tests::payload_length_is_28 ... ok
test command_long::tests::round_trip_arbitrary ... ok
test global_position_int::tests::round_trip_extremes ... ok
test frame::tests::encode_parse_round_trip_arbitrary_seq ... ok
test global_position_int::tests::round_trip_sample ... ok
test global_position_int::tests::round_trip_zero ... ok
test heartbeat::tests::crc_extra_is_fifty ... ok
test heartbeat::tests::custom_mode_little_endian ... ok
test heartbeat::tests::decode_empty_payload ... ok
test heartbeat::tests::decode_rejects_long_payload ... ok
test heartbeat::tests::decode_rejects_short_payload ... ok
test heartbeat::tests::field_offsets_match_spec ... ok
test heartbeat::tests::mav_mode_flag_or_and_contains ... ok
test heartbeat::tests::payload_length_constant ... ok
test heartbeat::tests::round_trip_falcon_default ... ok
test heartbeat::tests::round_trip_gcs_default ... ok
test heartbeat::tests::round_trip_max_values ... ok
test heartbeat::tests::round_trip_zero ... ok
test global_position_int::tests::round_trip_arbitrary ... ok
test heartbeat::tests::round_trip_arbitrary ... ok
test frame::tests::parser_never_panics ... ok

test result: ok. 55 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.42s

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

running 20 tests
test bitpack::tests::bitpack_basic_id_packs_id_and_ua_type_in_same_byte ... ok
test bitpack::tests::bitpack_basic_id_round_trip ... ok
test bitpack::tests::bitpack_decoder_rejects_unknown_protocol_version ... ok
test bitpack::tests::bitpack_location_idempotent_after_canonicalize ... ok
test bitpack::tests::bitpack_location_rejects_wrong_message_type ... ok
test bitpack::tests::bitpack_location_rejects_oversize_track_byte ... ok
test bitpack::tests::bitpack_location_round_trip_on_canonical ... ok
test tests::basic_id_header_byte_is_well_formed ... ok
test tests::basic_id_round_trip ... ok
test tests::decoder_rejects_unknown_protocol_version ... ok
test tests::location_rejects_out_of_range_timestamp ... ok
test tests::location_rejects_out_of_range_track ... ok
test tests::location_rejects_wrong_message_type ... ok
test tests::location_round_trip ... ok
test bitpack::tests::proptest_bitpack_location_round_trip_on_canonical ... ok
test bitpack::tests::proptest_bitpack_basic_id_round_trip ... ok
test bitpack::tests::proptest_bitpack_decoder_never_panics ... ok
test tests::proptest_basic_id_round_trip ... ok
test tests::proptest_decoder_never_panics ... ok
test tests::proptest_location_round_trip_in_range ... ok

test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

running 20 tests
test bitpack::tests::bitpack_basic_id_packs_id_and_ua_type_in_same_byte ... ok
test bitpack::tests::bitpack_basic_id_round_trip ... ok
test bitpack::tests::bitpack_decoder_rejects_unknown_protocol_version ... ok
test bitpack::tests::bitpack_location_idempotent_after_canonicalize ... ok
test bitpack::tests::bitpack_location_rejects_oversize_track_byte ... ok
test bitpack::tests::bitpack_location_rejects_wrong_message_type ... ok
test bitpack::tests::bitpack_location_round_trip_on_canonical ... ok
test tests::basic_id_header_byte_is_well_formed ... ok
test tests::basic_id_round_trip ... ok
test tests::decoder_rejects_unknown_protocol_version ... ok
test tests::location_rejects_out_of_range_timestamp ... ok
test tests::location_rejects_out_of_range_track ... ok
test tests::location_rejects_wrong_message_type ... ok
test tests::location_round_trip ... ok
test bitpack::tests::proptest_bitpack_location_round_trip_on_canonical ... ok
test bitpack::tests::proptest_bitpack_basic_id_round_trip ... ok
test tests::proptest_basic_id_round_trip ... ok
test bitpack::tests::proptest_bitpack_decoder_never_panics ... ok
test tests::proptest_location_round_trip_in_range ... ok
test tests::proptest_decoder_never_panics ... ok

test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.29s

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

running 7 tests
test physics::tests::gazebo_stub_compiles_and_returns_zeros ... ok
test physics::tests::mock_physics_hover_with_full_thrust_climbs ... ok
test physics::tests::mock_physics_at_rest_stays_quiet ... ok
test physics::tests::mock_physics_measure_returns_sensible_imu ... ok
test tests::gazebo_stub_does_not_panic ... ok
test tests::mock_backend_climbs_under_full_thrust ... ok
test tests::evidence_sink_produces_log_and_csv ... ok

test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

[ PASS] ( 0.26s) FV-FALCON-SIM-003: cargo test -p falcon-sitl-gz
[ PASS] ( 0.25s) FV-FALCON-SIM-003: cargo run -p falcon-sitl-gz
[ skip-bench-only] FV-FALCON-SIM-003: cargo run -p falcon-sitl-gz -- --backend=gazebo --world=falcon --model=quad
[ FAIL (rc=101)] ( 94.89s) FV-FALCON-COV-005: cargo build -p witness-wasi-harness
[ skip-bench-only] FV-FALCON-COV-005: WITNESS_HARNESS_INVOKES="run_inside" $WITNESS run /tmp/instr.wasm --harness target/debug/witness-wasi-harness -o /tmp/run.json
[ PASS] ( 0.16s) FV-FALCON-MAVLINK-001: cargo test -p relay-mavlink
[ PASS] ( 1.76s) FV-FALCON-MAVLINK-001: cargo test -p relay-mavlink --release
[ PASS] ( 0.55s) FV-FALCON-MAVLINK-001: PROPTEST_CASES=4096 cargo test -p relay-mavlink
[ PASS] ( 0.15s) FV-FALCON-NID-001: cargo test -p relay-nid
[ PASS] ( 0.42s) FV-FALCON-NID-001: PROPTEST_CASES=4096 cargo test -p relay-nid
[ skip-bench-only] FV-FALCON-NID-001: cargo kani -p relay-nid
[ skip-bench-only] FV-FALCON-COV-001: bazel build //:geofence-subject-coverage
[ skip-bench-only] FV-FALCON-COV-001: cat bazel-bin/geofence-subject-coverage_witness-run.json
[ skip-bench-only] FV-FALCON-COV-001: bazel build //:falcon-cascade-coverage
[ skip-bench-only] FV-FALCON-ARCH-001: spar parse spar/.aadl
[ skip-bench-only] FV-FALCON-ARCH-001: spar instance --root Falcon_System::Falcon.Quad spar/
.aadl
[ skip-bench-only] FV-FALCON-ARCH-001: spar analyze --root Falcon_System::Falcon.Quad spar/.aadl
[ skip-bench-only] FV-FALCON-ARCH-001: spar render --root Falcon_System::Falcon.Quad -o artifacts/spar/falcon-quad-architecture.svg spar/
.aadl
[ PASS] ( 0.10s) FV-FALCON-SIM-004: cargo test -p falcon-sitl-gz
[ skip-bench-only] FV-FALCON-SIM-004: cargo test -p falcon-sitl-gz --features gazebo
[ skip-bench-only] FV-FALCON-SIM-004: cargo run -p falcon-sitl-gz --features gazebo -- --backend=gazebo --world=falcon --model=quad

❌ Rivet verification gate — falcon

24/25 passed

count
Passed 24
Failed 1
Skipped (bench-only — needs hardware / sim) 7
Skipped (no steps) 2

Failed artifacts

  • FV-FALCON-COV-002 — cargo-llvm-cov statement coverage — workspace-wide (v0.14.0)
    • cargo llvm-cov --workspace --summary-only (rc=101)
    • cargo llvm-cov --workspace --lcov --output-path coverage.lcov (rc=101)
  • FV-FALCON-COV-004 — Cascade witness MC/DC via wasmtime+WASI subprocess harness (v0.15.1)
    • cargo build -p witness-wasi-harness --release (rc=101)
  • FV-FALCON-COV-005 — witness harness improvements + bazel macro (v0.16.0)
    • cargo build -p witness-wasi-harness (rc=101)

Bench-only artifacts (not run by CI)

  • FV-FALCON-GEO-003 — Geofence safety path — miri UB/overflow check (v0.12, AI substitute)
  • FV-FALCON-COV-003 — witness MC/DC on real Rust source — Geofence subject (v0.14.1)
  • FV-FALCON-SIM-005 — gz-transport NavSat + Home projection — position-dependent loops (v0.18.1)
  • FV-FALCON-ARCH-002 — spar codegen --format wit recheck — works at v0.10.0 (v0.15.0)
  • FV-FALCON-SIM-001 — PX4-SITL end-to-end loop — recipe + preset + smoke (v0.14.0)
  • FV-FALCON-COV-001 — witness MC/DC structural coverage — falcon pipeline wired (v0.13)
  • FV-FALCON-ARCH-001 — spar AADL architectural model — falcon cascade (v0.13)

Source of truth: artifacts/verification/FV-FALCON-*.yaml.

avrabe added a commit that referenced this pull request May 27, 2026
…rename

PR #44 (Dependabot upgrade from wasmtime-wasi 27 to 45) merged with main
still importing wasmtime_wasi::preview1, breaking all CI jobs that hit
witness-wasi-harness compile (Test ubuntu/macos/windows, llvm-cov,
Verification gate).

Diagnosis: wasmtime-wasi 44 renamed the module preview1 → p1; the type
WasiP1Ctx now lives at wasmtime_wasi::p1::WasiP1Ctx. The fix is a single
import line:

  -use wasmtime_wasi::preview1::{self, WasiP1Ctx};
  +use wasmtime_wasi::p1::{self as preview1, WasiP1Ctx};

The 'as preview1' alias keeps the rest of the file unchanged.

Also: Cargo.toml bumped to wasmtime = '45' / wasmtime-wasi = '45' to
match main's actual resolution (PR #44 only updated wasmtime-wasi, not
wasmtime; the two MUST stay in lock-step or wasmtime trait impls don't
satisfy the wasmtime-wasi signatures).

Verification:
  - cargo build -p witness-wasi-harness --tests → green.
  - cargo test --workspace --all-targets → 405 passing (preserved).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
avrabe added a commit that referenced this pull request May 27, 2026
…rename

PR #44 (Dependabot upgrade from wasmtime-wasi 27 to 45) merged with main
still importing wasmtime_wasi::preview1, breaking all CI jobs that hit
witness-wasi-harness compile (Test ubuntu/macos/windows, llvm-cov,
Verification gate).

Diagnosis: wasmtime-wasi 44 renamed the module preview1 → p1; the type
WasiP1Ctx now lives at wasmtime_wasi::p1::WasiP1Ctx. The fix is a single
import line:

  -use wasmtime_wasi::preview1::{self, WasiP1Ctx};
  +use wasmtime_wasi::p1::{self as preview1, WasiP1Ctx};

The 'as preview1' alias keeps the rest of the file unchanged.

Also: Cargo.toml bumped to wasmtime = '45' / wasmtime-wasi = '45' to
match main's actual resolution (PR #44 only updated wasmtime-wasi, not
wasmtime; the two MUST stay in lock-step or wasmtime trait impls don't
satisfy the wasmtime-wasi signatures).

Verification:
  - cargo build -p witness-wasi-harness --tests → green.
  - cargo test --workspace --all-targets → 405 passing (preserved).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
avrabe added a commit that referenced this pull request May 27, 2026
* fix(witness-wasi-harness): update for wasmtime-wasi 45 preview1 → p1 rename

PR #44 (Dependabot upgrade from wasmtime-wasi 27 to 45) merged with main
still importing wasmtime_wasi::preview1, breaking all CI jobs that hit
witness-wasi-harness compile (Test ubuntu/macos/windows, llvm-cov,
Verification gate).

Diagnosis: wasmtime-wasi 44 renamed the module preview1 → p1; the type
WasiP1Ctx now lives at wasmtime_wasi::p1::WasiP1Ctx. The fix is a single
import line:

  -use wasmtime_wasi::preview1::{self, WasiP1Ctx};
  +use wasmtime_wasi::p1::{self as preview1, WasiP1Ctx};

The 'as preview1' alias keeps the rest of the file unchanged.

Also: Cargo.toml bumped to wasmtime = '45' / wasmtime-wasi = '45' to
match main's actual resolution (PR #44 only updated wasmtime-wasi, not
wasmtime; the two MUST stay in lock-step or wasmtime trait impls don't
satisfy the wasmtime-wasi signatures).

Verification:
  - cargo build -p witness-wasi-harness --tests → green.
  - cargo test --workspace --all-targets → 405 passing (preserved).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* chore: workspace cfg(kani) lint suppression + v1.0 rollout audit

Three small cleanups for trailing-edge tidiness:

1. **cfg(kani) warnings** — every engine using #[cfg(kani)] for its Kani
   model-checker harness was emitting an 'unexpected_cfgs' warning on
   every cargo build (default rustc behavior). Added a workspace-level
   [workspace.lints.rust] check-cfg = ['cfg(kani)'] declaration; engines
   inherit via [lints] workspace = true. Build noise gone, kani path
   still recognised.

   Crates wired: ccsds, cfdp, ci, cs, ds, fm, hk, hs, lc, md, mm, nid,
   sc, sca, sch, tbl, to.

2. **v1.0 rollout audit** — removed 'Check-It qualified checkers' line.
   Check-It was pre-v0.7 aspirational; it isn't in the actual PulseEngine
   toolchain (rivet/spar/witness/sigil/meld/synth/loom/kiln/smithy/wohl).
   Replaced with the v0.14.3-derived TQ-record path (DO-330-grade Tool
   Qualification Reports for Verus/Kani/miri/witness/spar).

3. **Inherited from cherry-pick of v0.19.2 fix** — wasmtime-wasi 45's
   preview1 → p1 rename. Required because PR #44 (Dependabot 27→45)
   landed without updating the harness import. Identical to the fix on
   v0.19.2 branch; whichever lands first carries it.

Verification:
  - cargo build --workspace → 0 cfg(kani) warnings (was 17).
  - cargo test --workspace --all-targets → 405 passing.
  - rivet validate → PASS.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
avrabe added a commit that referenced this pull request May 27, 2026
…ding 2 closed) (#46)

* feat(falcon): v0.19.2 — Actuators message + multi_thread runtime; Finding 2 closed

Lands the architectural fix for v0.19.1's Finding 1 (per-rotor Double
publishes → single Actuators publish) plus a tokio runtime model fix
that fully closes Finding 2 (IMU + NavSat under-rate).

Ships:
  - gz.msgs.Actuators defined locally (gz-transport-rs 0.1.0 doesn't
    ship actuators.proto); prost::Message derive, wire-compatible
    with Harmonic MulticopterMotorModel.
  - Single publish to /<model>/cmd_vel; per-rotor mpsc fanout
    collapsed to one channel carrying [4×f32].
  - tokio runtime: new_current_thread → new_multi_thread(2 workers).
    The spawned subscriber + publisher tasks now actually run after
    setup block_on returns (current_thread only drives during explicit
    block_on; the 51 IMU frames / 4 Hz observed at v0.19.1 were
    stragglers from the brief setup window). Closes Finding 2.
  - prost = { version = "0.13", features = ["derive"] } as gazebo dep.
  - bench-evidence/gz-sim/{1779853824-*, 2026-05-27-*.md}
  - FV-FALCON-SIM-008 + FEAT-FALCON-v0.19.2 rollout entry.

v0.19.2 bench (15-second hover):
  verdict: backend=gazebo steps=1500 climb=0.00 m
  counters: imu_recv=3572 navsat_recv=178 motor_send=1500
  IMU rate     observed 203 Hz / configured 200 Hz   ✓
  NavSat       observed 10.1 Hz / configured 10 Hz   ✓
  motor_send   observed 100 Hz exact                 ✓
  climb        0.00 m                                ✗ (sub-issues)

Two sub-issues found, both v0.19.3 targets:
  1a. gz-transport-rs 0.1.0's advertise-direction discovery isn't
      reaching gz Sim 8's registry (subscribe direction works; gz CLI
      publish on same topic does register). Upstream wire-format or
      partition mismatch.
  1b. Even native `gz topic -p` publishing full-rpm Actuators to
      /quad/cmd_vel doesn't lift the body. SDF model tuning issue
      (motorConstant or plugin namespace).

Verification:
  - cargo test --workspace → 405 passing (preserved).
  - cargo test -p falcon-sitl-gz --features gazebo → 11/11.
  - cargo build --features gazebo → green.
  - rivet validate → PASS.

Headline: IMU + NavSat now stream at configured rates, counters work
end-to-end, bridge survives heavy load (3572+178+1500 events in 17 s,
zero errors).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix(witness-wasi-harness): update for wasmtime-wasi 45 preview1 → p1 rename

PR #44 (Dependabot upgrade from wasmtime-wasi 27 to 45) merged with main
still importing wasmtime_wasi::preview1, breaking all CI jobs that hit
witness-wasi-harness compile (Test ubuntu/macos/windows, llvm-cov,
Verification gate).

Diagnosis: wasmtime-wasi 44 renamed the module preview1 → p1; the type
WasiP1Ctx now lives at wasmtime_wasi::p1::WasiP1Ctx. The fix is a single
import line:

  -use wasmtime_wasi::preview1::{self, WasiP1Ctx};
  +use wasmtime_wasi::p1::{self as preview1, WasiP1Ctx};

The 'as preview1' alias keeps the rest of the file unchanged.

Also: Cargo.toml bumped to wasmtime = '45' / wasmtime-wasi = '45' to
match main's actual resolution (PR #44 only updated wasmtime-wasi, not
wasmtime; the two MUST stay in lock-step or wasmtime trait impls don't
satisfy the wasmtime-wasi signatures).

Verification:
  - cargo build -p witness-wasi-harness --tests → green.
  - cargo test --workspace --all-targets → 405 passing (preserved).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Dependency updates

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants