[INFO] fetching crate replaybook 20260823.0.1...
[INFO] testing replaybook-20260823.0.1 against 1.100.0-beta.1 for beta-1.100-2
[INFO] extracting crate replaybook 20260823.0.1 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate replaybook 20260823.0.1
[INFO] finished tweaking crates.io crate replaybook 20260823.0.1
[INFO] tweaked toml for crates.io crate replaybook 20260823.0.1 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate replaybook 20260823.0.1 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate replaybook 20260823.0.1 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] ae465de975f0ecc7a0c07d424defe5529b87c0d91857175babfceb51a1fd3ba8
[INFO] running `Command { std: "docker" "start" "ae465de975f0ecc7a0c07d424defe5529b87c0d91857175babfceb51a1fd3ba8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ae465de975f0ecc7a0c07d424defe5529b87c0d91857175babfceb51a1fd3ba8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ae465de975f0ecc7a0c07d424defe5529b87c0d91857175babfceb51a1fd3ba8" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ae465de975f0ecc7a0c07d424defe5529b87c0d91857175babfceb51a1fd3ba8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ae465de975f0ecc7a0c07d424defe5529b87c0d91857175babfceb51a1fd3ba8" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.46
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling anyhow v1.0.103
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling bytes v1.12.0
[INFO] [stderr]    Compiling memchr v2.8.2
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling dirs-sys-next v0.1.2
[INFO] [stderr]    Compiling mio v1.2.1
[INFO] [stderr]    Compiling socket2 v0.6.4
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling dirs-next v2.0.0
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling uuid v1.17.0
[INFO] [stderr]    Compiling replaybook v20260823.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::fetch_update`: renamed to `try_update` for consistency
[INFO] [stdout]    --> src/runner.rs:219:22
[INFO] [stdout]     |
[INFO] [stdout] 219 |                     .fetch_update(Ordering::SeqCst, Ordering::SeqCst, |used| {
[INFO] [stdout]     |                      ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 219 -                     .fetch_update(Ordering::SeqCst, Ordering::SeqCst, |used| {
[INFO] [stdout] 219 +                     .try_update(Ordering::SeqCst, Ordering::SeqCst, |used| {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::fetch_update`: renamed to `try_update` for consistency
[INFO] [stdout]    --> src/runner.rs:219:22
[INFO] [stdout]     |
[INFO] [stdout] 219 |                     .fetch_update(Ordering::SeqCst, Ordering::SeqCst, |used| {
[INFO] [stdout]     |                      ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 219 -                     .fetch_update(Ordering::SeqCst, Ordering::SeqCst, |used| {
[INFO] [stdout] 219 +                     .try_update(Ordering::SeqCst, Ordering::SeqCst, |used| {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 27.74s
[INFO] running `Command { std: "docker" "inspect" "ae465de975f0ecc7a0c07d424defe5529b87c0d91857175babfceb51a1fd3ba8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ae465de975f0ecc7a0c07d424defe5529b87c0d91857175babfceb51a1fd3ba8" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling bitflags v2.13.0
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling replaybook v20260823.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::fetch_update`: renamed to `try_update` for consistency
[INFO] [stdout]    --> src/runner.rs:219:22
[INFO] [stdout]     |
[INFO] [stdout] 219 |                     .fetch_update(Ordering::SeqCst, Ordering::SeqCst, |used| {
[INFO] [stdout]     |                      ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 219 -                     .fetch_update(Ordering::SeqCst, Ordering::SeqCst, |used| {
[INFO] [stdout] 219 +                     .try_update(Ordering::SeqCst, Ordering::SeqCst, |used| {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::fetch_update`: renamed to `try_update` for consistency
[INFO] [stdout]    --> src/runner.rs:219:22
[INFO] [stdout]     |
[INFO] [stdout] 219 |                     .fetch_update(Ordering::SeqCst, Ordering::SeqCst, |used| {
[INFO] [stdout]     |                      ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 219 -                     .fetch_update(Ordering::SeqCst, Ordering::SeqCst, |used| {
[INFO] [stdout] 219 +                     .try_update(Ordering::SeqCst, Ordering::SeqCst, |used| {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 11.78s
[INFO] running `Command { std: "docker" "inspect" "ae465de975f0ecc7a0c07d424defe5529b87c0d91857175babfceb51a1fd3ba8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ae465de975f0ecc7a0c07d424defe5529b87c0d91857175babfceb51a1fd3ba8" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::fetch_update`: renamed to `try_update` for consistency
[INFO] [stderr]    --> src/runner.rs:219:22
[INFO] [stderr]     |
[INFO] [stderr] 219 |                     .fetch_update(Ordering::SeqCst, Ordering::SeqCst, |used| {
[INFO] [stderr]     |                      ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] help: replace the use of the deprecated method
[INFO] [stderr]     |
[INFO] [stderr] 219 -                     .fetch_update(Ordering::SeqCst, Ordering::SeqCst, |used| {
[INFO] [stderr] 219 +                     .try_update(Ordering::SeqCst, Ordering::SeqCst, |used| {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: `replaybook` (bin "replay" test) generated 1 warning (run `cargo fix --bin "replay" -p replaybook --tests` to apply 1 suggestion)
[INFO] [stderr] warning: `replaybook` (bin "replaybook" test) generated 1 warning (1 duplicate)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.13s
[INFO] [stderr]      Running unittests src/replay.rs (/opt/rustwide/target/debug/build/replaybook/16e4cb1d7f97f81c/out/replay-16e4cb1d7f97f81c)
[INFO] [stdout] 
[INFO] [stdout] running 72 tests
[INFO] [stdout] test backend::tests::authorized_key_command_escapes_option_delimiters ... ok
[INFO] [stdout] test backend::tests::destination_validation_rejects_ssh_option_injection ... ok
[INFO] [stdout] test author::tests::rejects_unsafe_ids_and_existing_destinations ... ok
[INFO] [stdout] test backend::tests::terminal_phase_classification_is_complete ... ok
[INFO] [stdout] test control::tests::bearer_comparison_handles_lengths_without_short_circuiting ... ok
[INFO] [stdout] test author::tests::defaults_create_an_exit_zero_check_when_selected ... ok
[INFO] [stdout] test author::tests::creates_a_runnable_http_scenario ... ok
[INFO] [stdout] test backend::tests::shell_quote_handles_apostrophes ... ok
[INFO] [stdout] test recorder::tests::deserializes_records_written_before_transcripts_existed ... ok
[INFO] [stdout] test control::tests::parser_finds_header_boundary ... ok
[INFO] [stdout] test backend::tests::participant_key_allows_only_the_forced_interactive_session ... ok
[INFO] [stdout] test runner::tests::fault_preflight_requires_oracle_to_fail ... ok
[INFO] [stdout] test control::tests::parser_reads_a_complete_json_request ... ok
[INFO] [stdout] test control::tests::response_does_not_expose_private_key_path_or_remote_path ... ok
[INFO] [stdout] test recorder::tests::transcript_field_only_serialized_when_present ... ok
[INFO] [stdout] test hosted::tests::hosted_scenario_is_confined_to_session_directory ... ok
[INFO] [stdout] test recorder::tests::record_appends_jsonl ... ok
[INFO] [stdout] test hosted::tests::invalid_session_ids_are_rejected ... ok
[INFO] [stdout] test control::tests::parser_rejects_ambiguous_request_framing ... ok
[INFO] [stdout] test control::tests::store_round_trips_sessions ... ok
[INFO] [stdout] test doctor::tests::core_doctor_passes_with_docker_and_scenarios ... ok
[INFO] [stdout] test runner::tests::success_elapsed_uses_oracle_time_not_terminal_exit ... ok
[INFO] [stdout] test runner::tests::parse_networks_reads_logical_names ... ok
[INFO] [stdout] test runner::tests::state_file_removed_on_drop ... ok
[INFO] [stdout] test runner::tests::success_elapsed_preserves_first_success ... ok
[INFO] [stdout] test scenario::tests::parses_incident_provenance_and_learning_objectives ... ok
[INFO] [stdout] test scenario::tests::rejects_unknown_success_condition ... ok
[INFO] [stdout] test runner::tests::parse_networks_falls_back_to_default ... ok
[INFO] [stdout] test scenario::tests::discover_skips_invalid_meta_without_failing ... ok
[INFO] [stdout] test scenario::tests::select_fault_seed_picks_deterministically_and_in_bounds ... ok
[INFO] [stdout] test scenario::tests::select_fault_without_faults_list_resolves_scenario_level ... ok
[INFO] [stdout] test scenario::tests::discovers_direct_and_packed_scenarios_in_stable_order ... ok
[INFO] [stdout] test scenario::tests::tags_and_success_target_are_optional ... ok
[INFO] [stdout] test scenario::tests::load_canonicalizes_scenario_dir ... ok
[INFO] [stdout] test scenario::tests::select_fault_by_name_resolves_overrides_and_fallbacks ... ok
[INFO] [stdout] test runner::tests::workstation_override_mounts_and_networks ... ok
[INFO] [stdout] test scenario::tests::discover_finds_direct_and_pack_nested_scenarios ... ok
[INFO] [stdout] test tests::cli_reports_the_package_version ... ok
[INFO] [stdout] test scenario::tests::strict_discovery_rejects_invalid_meta ... ok
[INFO] [stdout] test scenario::tests::parses_declarative_break_steps ... ok
[INFO] [stdout] test tests::doctor_defaults_to_core_checks ... ok
[INFO] [stdout] test tests::hosted_commands_parse_but_are_hidden_from_help ... ok
[INFO] [stdout] test tests::authoring_commands_accept_paths ... ok
[INFO] [stdout] test scenario::tests::scenario_paths_derive_from_dir ... ok
[INFO] [stdout] test doctor::tests::overflowing_port_range_is_a_failure ... ok
[INFO] [stdout] test doctor::tests::provider_check_reports_variable_name_without_secret_value ... ok
[INFO] [stdout] test doctor::tests::missing_docker_fails_but_missing_pack_only_warns ... ok
[INFO] [stdout] test tests::run_and_test_accept_fault ... ok
[INFO] [stdout] test tests::remote_command_requires_a_host_and_defaults_ssh_and_sla ... ok
[INFO] [stdout] test runner::tests::state_file_format_matches_hud_line_contract ... ok
[INFO] [stdout] test scenario::tests::ignores_dot_directories_and_skips_malformed_pack_scenarios ... ok
[INFO] [stdout] test tests::run_defaults_to_15_minute_sla ... ok
[INFO] [stdout] test tests::sla_conversion_rejects_zero_and_overflow ... ok
[INFO] [stdout] test tests::test_all_accepts_an_optional_pack_and_rejects_fault ... ok
[INFO] [stdout] test validate::tests::empty_service_list_is_an_issue ... ok
[INFO] [stdout] test tests::serve_defaults_to_loopback_and_token_environment ... ok
[INFO] [stdout] test validate::tests::fault_names_must_be_unique_and_nonempty ... ok
[INFO] [stdout] test validate::tests::fault_needs_steps_or_existing_script ... ok
[INFO] [stdout] test validate::tests::break_step_service_must_exist_in_compose ... ok
[INFO] [stdout] test tests::unknown_subcommand_is_rejected ... ok
[INFO] [stdout] test validate::tests::exit_zero_requires_check_sh ... ok
[INFO] [stdout] test tests::run_and_test_accept_scenarios_dir ... ok
[INFO] [stdout] test tests::run_random_replaces_id_and_gates_tag ... ok
[INFO] [stdout] test validate::tests::http_200_requires_an_http_target ... ok
[INFO] [stdout] test validate::tests::faults_conflict_with_top_level_break ... ok
[INFO] [stdout] test validate::tests::valid_scenario_with_break_script_passes ... ok
[INFO] [stdout] test validate::tests::missing_break_sh_and_no_break_steps_is_an_issue ... ok
[INFO] [stdout] test validate::tests::reports_missing_compose_file_without_invoking_docker ... ok
[INFO] [stdout] test validate::tests::multiple_issues_accumulate ... ok
[INFO] [stdout] test doctor::tests::parses_capacity_sources ... ok
[INFO] [stdout] test validate::tests::cp_step_source_must_exist_in_scenario_dir ... ok
[INFO] [stdout] test validate::tests::fault_break_steps_validate_services_with_fault_label ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 72 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/build/replaybook/077de59ff068bec1/out/replaybook-077de59ff068bec1)
[INFO] [stdout] 
[INFO] [stdout] running 72 tests
[INFO] [stdout] test backend::tests::authorized_key_command_escapes_option_delimiters ... ok
[INFO] [stdout] test author::tests::rejects_unsafe_ids_and_existing_destinations ... ok
[INFO] [stdout] test backend::tests::participant_key_allows_only_the_forced_interactive_session ... ok
[INFO] [stdout] test author::tests::creates_a_runnable_http_scenario ... ok
[INFO] [stdout] test backend::tests::shell_quote_handles_apostrophes ... ok
[INFO] [stdout] test control::tests::parser_reads_a_complete_json_request ... ok
[INFO] [stdout] test control::tests::parser_finds_header_boundary ... ok
[INFO] [stdout] test hosted::tests::hosted_scenario_is_confined_to_session_directory ... ok
[INFO] [stdout] test backend::tests::destination_validation_rejects_ssh_option_injection ... ok
[INFO] [stdout] test control::tests::parser_rejects_ambiguous_request_framing ... ok
[INFO] [stdout] test doctor::tests::provider_check_reports_variable_name_without_secret_value ... ok
[INFO] [stdout] test hosted::tests::invalid_session_ids_are_rejected ... ok
[INFO] [stdout] test recorder::tests::deserializes_records_written_before_transcripts_existed ... ok
[INFO] [stdout] test control::tests::response_does_not_expose_private_key_path_or_remote_path ... ok
[INFO] [stdout] test runner::tests::fault_preflight_requires_oracle_to_fail ... ok
[INFO] [stdout] test control::tests::store_round_trips_sessions ... ok
[INFO] [stdout] test control::tests::bearer_comparison_handles_lengths_without_short_circuiting ... ok
[INFO] [stdout] test doctor::tests::core_doctor_passes_with_docker_and_scenarios ... ok
[INFO] [stdout] test backend::tests::terminal_phase_classification_is_complete ... ok
[INFO] [stdout] test recorder::tests::transcript_field_only_serialized_when_present ... ok
[INFO] [stdout] test author::tests::defaults_create_an_exit_zero_check_when_selected ... ok
[INFO] [stdout] test doctor::tests::parses_capacity_sources ... ok
[INFO] [stdout] test recorder::tests::record_appends_jsonl ... ok
[INFO] [stdout] test doctor::tests::missing_docker_fails_but_missing_pack_only_warns ... ok
[INFO] [stdout] test runner::tests::state_file_removed_on_drop ... ok
[INFO] [stdout] test runner::tests::workstation_override_mounts_and_networks ... ok
[INFO] [stdout] test runner::tests::parse_networks_falls_back_to_default ... ok
[INFO] [stdout] test runner::tests::success_elapsed_preserves_first_success ... ok
[INFO] [stdout] test runner::tests::success_elapsed_uses_oracle_time_not_terminal_exit ... ok
[INFO] [stdout] test scenario::tests::discover_skips_invalid_meta_without_failing ... ok
[INFO] [stdout] test scenario::tests::discovers_direct_and_packed_scenarios_in_stable_order ... ok
[INFO] [stdout] test scenario::tests::load_canonicalizes_scenario_dir ... ok
[INFO] [stdout] test runner::tests::parse_networks_reads_logical_names ... ok
[INFO] [stdout] test scenario::tests::discover_finds_direct_and_pack_nested_scenarios ... ok
[INFO] [stdout] test scenario::tests::parses_declarative_break_steps ... ok
[INFO] [stdout] test scenario::tests::rejects_unknown_success_condition ... ok
[INFO] [stdout] test doctor::tests::overflowing_port_range_is_a_failure ... ok
[INFO] [stdout] test scenario::tests::ignores_dot_directories_and_skips_malformed_pack_scenarios ... ok
[INFO] [stdout] test scenario::tests::select_fault_by_name_resolves_overrides_and_fallbacks ... ok
[INFO] [stdout] test scenario::tests::select_fault_seed_picks_deterministically_and_in_bounds ... ok
[INFO] [stdout] test scenario::tests::parses_incident_provenance_and_learning_objectives ... ok
[INFO] [stdout] test tests::cli_reports_the_package_version ... ok
[INFO] [stdout] test scenario::tests::scenario_paths_derive_from_dir ... ok
[INFO] [stdout] test runner::tests::state_file_format_matches_hud_line_contract ... ok
[INFO] [stdout] test scenario::tests::select_fault_without_faults_list_resolves_scenario_level ... ok
[INFO] [stdout] test tests::run_and_test_accept_fault ... ok
[INFO] [stdout] test tests::doctor_defaults_to_core_checks ... ok
[INFO] [stdout] test tests::run_and_test_accept_scenarios_dir ... ok
[INFO] [stdout] test tests::remote_command_requires_a_host_and_defaults_ssh_and_sla ... ok
[INFO] [stdout] test tests::authoring_commands_accept_paths ... ok
[INFO] [stdout] test scenario::tests::strict_discovery_rejects_invalid_meta ... ok
[INFO] [stdout] test tests::hosted_commands_parse_but_are_hidden_from_help ... ok
[INFO] [stdout] test scenario::tests::tags_and_success_target_are_optional ... ok
[INFO] [stdout] test tests::run_defaults_to_15_minute_sla ... ok
[INFO] [stdout] test validate::tests::missing_break_sh_and_no_break_steps_is_an_issue ... ok
[INFO] [stdout] test validate::tests::cp_step_source_must_exist_in_scenario_dir ... ok
[INFO] [stdout] test tests::sla_conversion_rejects_zero_and_overflow ... ok
[INFO] [stdout] test validate::tests::fault_names_must_be_unique_and_nonempty ... ok
[INFO] [stdout] test validate::tests::multiple_issues_accumulate ... ok
[INFO] [stdout] test validate::tests::faults_conflict_with_top_level_break ... ok
[INFO] [stdout] test tests::test_all_accepts_an_optional_pack_and_rejects_fault ... ok
[INFO] [stdout] test validate::tests::break_step_service_must_exist_in_compose ... ok
[INFO] [stdout] test tests::serve_defaults_to_loopback_and_token_environment ... ok
[INFO] [stdout] test validate::tests::fault_break_steps_validate_services_with_fault_label ... ok
[INFO] [stdout] test validate::tests::fault_needs_steps_or_existing_script ... ok
[INFO] [stdout] test tests::unknown_subcommand_is_rejected ... ok
[INFO] [stdout] test validate::tests::empty_service_list_is_an_issue ... ok
[INFO] [stdout] test validate::tests::http_200_requires_an_http_target ... ok
[INFO] [stdout] test validate::tests::exit_zero_requires_check_sh ... ok
[INFO] [stdout] test validate::tests::valid_scenario_with_break_script_passes ... ok
[INFO] [stdout] test validate::tests::reports_missing_compose_file_without_invoking_docker ... ok
[INFO] [stdout] test tests::run_random_replaces_id_and_gates_tag ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 72 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "ae465de975f0ecc7a0c07d424defe5529b87c0d91857175babfceb51a1fd3ba8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ae465de975f0ecc7a0c07d424defe5529b87c0d91857175babfceb51a1fd3ba8", kill_on_drop: false }`
[INFO] [stdout] ae465de975f0ecc7a0c07d424defe5529b87c0d91857175babfceb51a1fd3ba8
