[INFO] cloning repository https://github.com/jleechanorg/ez-gh-actions
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jleechanorg/ez-gh-actions" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjleechanorg%2Fez-gh-actions", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjleechanorg%2Fez-gh-actions'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 2094d7905534389f602531942e4610e30723b297
[INFO] testing jleechanorg/ez-gh-actions against 1.97.0-beta.6 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjleechanorg%2Fez-gh-actions" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/jleechanorg/ez-gh-actions
[INFO] finished tweaking git repo https://github.com/jleechanorg/ez-gh-actions
[INFO] tweaked toml for git repo https://github.com/jleechanorg/ez-gh-actions written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jleechanorg/ez-gh-actions on toolchain 1.97.0-beta.6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/jleechanorg/ez-gh-actions 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.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded sd-notify v0.4.5
[INFO] [stderr]   Downloaded which v7.0.3
[INFO] [stderr]   Downloaded env_home v0.1.0
[INFO] [stderr]   Downloaded libredox v0.1.18
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 712a26000158815c0fe0b19a13b081cbaea4fffa0dca4ed46efc807e7da915e0
[INFO] running `Command { std: "docker" "start" "712a26000158815c0fe0b19a13b081cbaea4fffa0dca4ed46efc807e7da915e0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "712a26000158815c0fe0b19a13b081cbaea4fffa0dca4ed46efc807e7da915e0", 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" "712a26000158815c0fe0b19a13b081cbaea4fffa0dca4ed46efc807e7da915e0" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "712a26000158815c0fe0b19a13b081cbaea4fffa0dca4ed46efc807e7da915e0", 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" "712a26000158815c0fe0b19a13b081cbaea4fffa0dca4ed46efc807e7da915e0" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling anyhow v1.0.103
[INFO] [stderr]    Compiling bitflags v2.13.0
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling memchr v2.8.2
[INFO] [stderr]    Compiling ez-gh-actions v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling env_home v0.1.0
[INFO] [stderr]    Compiling either v1.16.0
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling sd-notify v0.4.5
[INFO] [stderr]    Compiling directories v5.0.1
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling which v7.0.3
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 21.92s
[INFO] running `Command { std: "docker" "inspect" "712a26000158815c0fe0b19a13b081cbaea4fffa0dca4ed46efc807e7da915e0", 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" "712a26000158815c0fe0b19a13b081cbaea4fffa0dca4ed46efc807e7da915e0" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling ez-gh-actions v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 6.35s
[INFO] running `Command { std: "docker" "inspect" "712a26000158815c0fe0b19a13b081cbaea4fffa0dca4ed46efc807e7da915e0", 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" "712a26000158815c0fe0b19a13b081cbaea4fffa0dca4ed46efc807e7da915e0" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.09s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/ezgha-c8a8580538a01633)
[INFO] [stdout] 
[INFO] [stdout] running 220 tests
[INFO] [stdout] test alert::tests::alert_is_noop_without_channels ... ok
[INFO] [stdout] test alert::tests::email_message_subject_includes_severity_not_subject_twice ... ok
[INFO] [stdout] test alert::tests::cooldown_blocks_repeated_events ... ok
[INFO] [stdout] test alert::tests::payload_includes_context_for_slack ... ok
[INFO] [stdout] test alert::tests::slack_curl_args_include_hard_timeouts ... ok
[INFO] [stdout] test alert::tests::slack_dry_run_message_does_not_include_webhook_url ... ok
[INFO] [stdout] test backend::tests::bare_metal_daemon_refused_under_vm_policy ... ok
[INFO] [stdout] test backend::tests::docker_in_vm_daemon_satisfies_vm_policy ... ok
[INFO] [stdout] test backend::tests::linux_kvm_prefers_libvirt_in_candidates ... ok
[INFO] [stdout] test backend::tests::no_backend_when_nothing_usable ... ok
[INFO] [stdout] test backend::tests::sysbox_outranks_plain_docker ... ok
[INFO] [stdout] test backend::tests::select_fails_closed_when_policy_requires_vm ... ok
[INFO] [stdout] test canary::tests::correlates_run_to_prefix_matching_job ... ok
[INFO] [stdout] test backend::tests::select_skips_unimplemented_vm_and_warns ... ok
[INFO] [stdout] test canary::tests::daemon_scheduler_disabled_does_not_dispatch ... ok
[INFO] [stdout] test backend::tests::macos_prefers_tart_in_candidates ... ok
[INFO] [stdout] test canary::tests::daemon_scheduler_waits_initial_interval_after_startup ... ok
[INFO] [stdout] test canary::tests::result_computes_slo_and_completion_times ... ok
[INFO] [stdout] test canary::tests::daemon_scheduler_starts_when_interval_is_due ... ok
[INFO] [stdout] test canary::tests::finds_workflow_run_by_nonce_in_display_title ... ok
[INFO] [stdout] test canary::tests::history_writes_jsonl ... ok
[INFO] [stdout] test canary::tests::result_does_not_accept_wrong_runner_prefix_from_fallback_job ... ok
[INFO] [stdout] test canary::tests::result_preserves_queued_job_before_runner_assignment ... ok
[INFO] [stdout] test config::tests::canary_requires_repo_for_org_scope_when_enabled ... ok
[INFO] [stdout] test config::tests::defaults_are_bounded ... ok
[INFO] [stdout] test config::tests::isolation_ordering_fail_closed ... ok
[INFO] [stdout] test config::tests::load_legacy_config_without_queue_monitor_defaults_disabled ... ok
[INFO] [stdout] test config::tests::load_rejects_unknown_field ... ok
[INFO] [stdout] test config::tests::config_roundtrip ... ok
[INFO] [stdout] test config::tests::org_scope_allows_bare_target ... ok
[INFO] [stdout] test config::tests::queue_monitor_requires_repo_for_org_scope_when_enabled ... ok
[INFO] [stdout] test config::tests::reject_empty_target ... ok
[INFO] [stdout] test config::tests::reject_invalid_canary_values ... ok
[INFO] [stdout] test config::tests::reject_invalid_queue_monitor_values ... ok
[INFO] [stdout] test config::tests::reject_memory_below_floor ... ok
[INFO] [stdout] test config::tests::reject_non_finite_cpus ... ok
[INFO] [stdout] test config::tests::reject_repo_target_without_single_slash ... ok
[INFO] [stdout] test config::tests::reject_subminimum_cpus ... ok
[INFO] [stdout] test config::tests::reject_wrong_version ... ok
[INFO] [stdout] test config::tests::reject_zero_count ... ok
[INFO] [stdout] test config::tests::example_configs_load_without_queue_monitor_block ... ok
[INFO] [stdout] test config::tests::reject_zero_cpus ... ok
[INFO] [stdout] test config::tests::load_rejects_wrong_version_from_disk ... ok
[INFO] [stdout] test config::tests::reject_zero_memory ... ok
[INFO] [stdout] test config::tests::reject_zero_pids ... ok
[INFO] [stdout] test config::tests::serve_tick_honors_configured_value_and_clamps_floor ... ok
[INFO] [stdout] test config::tests::valid_config_passes_validation ... ok
[INFO] [stdout] test docker_backend::tests::current_prefix_container_count_ignores_retired_prefixes ... ok
[INFO] [stdout] test docker_backend::tests::current_prefix_containers_excludes_canary_prefix ... ok
[INFO] [stdout] test docker_backend::tests::disk_measure_strike_counter_bails_after_threshold ... ok
[INFO] [stdout] test config::tests::serve_tick_defaults_to_30s_when_absent ... ok
[INFO] [stdout] test docker_backend::tests::disk_measure_strike_counter_resets_on_success ... ok
[INFO] [stdout] test config::tests::load_rejects_zero_memory_from_disk ... ok
[INFO] [stdout] test docker_backend::tests::effective_limits_aggregate_fits_daemon ... ok
[INFO] [stdout] test docker_backend::tests::effective_limits_clamps_per_runner_to_daemon_share ... ok
[INFO] [stdout] test docker_backend::tests::fewer_started_than_missing_is_a_partial_failure ... ok
[INFO] [stdout] test docker_backend::tests::full_success_is_not_a_partial_failure ... ok
[INFO] [stdout] test docker_backend::tests::is_runner_busy_lock_error_detects_422_job_lock ... ok
[INFO] [stdout] test docker_backend::tests::is_runner_busy_lock_error_does_not_false_positive_on_runner_id_containing_422 ... ok
[INFO] [stdout] test docker_backend::tests::is_runner_busy_lock_error_ignores_unrelated_errors ... ok
[INFO] [stdout] test docker_backend::tests::ensure_count_outcome_flags_fewer_than_half_started ... ok
[INFO] [stdout] test docker_backend::tests::ensure_count_real_wiring_computes_missing_before_start_missing ... ok
[INFO] [stdout] test docker_backend::tests::ensure_count_respawn_within_grace_window_is_not_reaped_by_release_stale_slots ... ok
[INFO] [stdout] test docker_backend::tests::next_slot_assigns_exhausted_after_count_reached ... ok
[INFO] [stdout] test docker_backend::tests::offline_busy_owned_missing_container_still_uses_qbl_path2 ... ok
[INFO] [stdout] test docker_backend::tests::next_slot_assigns_first_slot_when_empty ... ok
[INFO] [stdout] test docker_backend::tests::offline_busy_runner_is_not_returned_by_u3w_helper ... ok
[INFO] [stdout] test docker_backend::tests::offline_not_busy_owned_missing_container_registration_is_reapable ... ok
[INFO] [stdout] test docker_backend::tests::offline_not_busy_with_local_container_present_is_not_returned ... ok
[INFO] [stdout] test docker_backend::tests::online_runner_is_not_returned_by_u3w_helper ... ok
[INFO] [stdout] test docker_backend::tests::path4_u3w_helper_reaps_stale_registration_with_no_grace_window_entry ... ok
[INFO] [stdout] test docker_backend::tests::path4_u3w_helper_skips_fresh_registration_even_after_path1_released_its_slot_entry ... ok
[INFO] [stdout] test docker_backend::tests::next_slot_reuses_slot_after_release ... ok
[INFO] [stdout] test docker_backend::tests::reclaim_zombie_locked_runner_cancels_then_deletes_on_success ... ok
[INFO] [stdout] test docker_backend::tests::reclaim_zombie_locked_runner_keeps_slot_when_job_never_leaves_in_progress ... ok
[INFO] [stdout] test docker_backend::tests::reclaim_zombie_locked_runner_returns_none_when_no_matching_job ... ok
[INFO] [stdout] test docker_backend::tests::offline_busy_owned_missing_container_slot_requires_runner_removal ... ok
[INFO] [stdout] test docker_backend::tests::online_busy_missing_container_is_not_reclaimable ... ok
[INFO] [stdout] test docker_backend::tests::read_slot_assignments_quarantines_corrupt_file_and_returns_empty ... ok
[INFO] [stdout] test docker_backend::tests::release_stale_slots_keeps_slot_when_runner_id_in_live ... ok
[INFO] [stdout] test docker_backend::tests::release_stale_slots_does_not_mutate_slot_file_on_list_runners_error ... ok
[INFO] [stdout] test docker_backend::tests::release_stale_slots_handles_empty_runner_id ... ok
[INFO] [stdout] test docker_backend::tests::release_stale_slots_releases_offline_runner_when_container_missing ... ok
[INFO] [stdout] test docker_backend::tests::release_stale_slots_keeps_slot_when_runner_id_not_in_live_but_container_exists ... ok
[INFO] [stdout] test docker_backend::tests::release_stale_slots_keeps_slot_when_runner_id_not_in_live_but_container_list_unavailable ... ok
[INFO] [stdout] test docker_backend::tests::release_stale_slots_reclaims_after_grace_window_elapses ... ok
[INFO] [stdout] test docker_backend::tests::run_docker_times_out ... ok
[INFO] [stdout] test docker_backend::tests::runner_name_not_matching_our_prefix_is_not_returned ... ok
[INFO] [stdout] test docker_backend::tests::runner_name_uses_cfg_prefix_not_hardcoded_default ... ok
[INFO] [stdout] test docker_backend::tests::runner_name_uses_prefix_and_slot_format ... ok
[INFO] [stdout] test docker_backend::tests::release_stale_slots_releases_slot_when_runner_id_not_in_live ... ok
[INFO] [stdout] test docker_backend::tests::release_stale_slots_releases_slot_when_runner_name_mismatches ... ok
[INFO] [stdout] test docker_backend::tests::release_stale_slots_returns_zero_when_no_assignments ... ok
[INFO] [stdout] test docker_backend::tests::slot_assignments_start_at_one ... ok
[INFO] [stdout] test docker_backend::tests::start_missing_runners_excludes_permanently_stuck_slot_within_one_call ... ok
[INFO] [stdout] test alert::tests::failed_delivery_does_not_consume_cooldown ... ok
[INFO] [stdout] test github::tests::api_base_org_yields_orgs_target ... ok
[INFO] [stdout] test github::tests::api_base_repo_yields_repos_target ... ok
[INFO] [stdout] test github::tests::bad_credentials_detected_in_gh_stderr ... ok
[INFO] [stdout] test github::tests::bad_credentials_not_confused_with_permission_or_rate_limit ... ok
[INFO] [stdout] test github::tests::cross_host_live_runner_is_not_reclaimable ... ok
[INFO] [stdout] test github::tests::detect_rate_limit_output ... ok
[INFO] [stdout] test github::tests::detect_rate_limit_output_from_gh_exit_one ... ok
[INFO] [stdout] test github::tests::empty_slurp_yields_no_runners ... ok
[INFO] [stdout] test github::tests::generate_jitconfig_org_routes_to_orgs_path ... ok
[INFO] [stdout] test docker_backend::tests::start_missing_runners_starts_full_shortfall_directly ... ok
[INFO] [stdout] test github::tests::gh_auth_ok_parses_logged_in_line_regardless_of_exit_code ... ok
[INFO] [stdout] test github::tests::gh_command_falls_back_to_ambient_auth_when_token_file_empty ... ok
[INFO] [stdout] test github::tests::gh_command_falls_back_to_ambient_auth_when_token_file_missing ... ok
[INFO] [stdout] test github::tests::gh_command_reads_installation_token_file_for_child_env ... ok
[INFO] [stdout] test docker_backend::tests::start_one_releases_slot_on_docker_run_failure ... ok
[INFO] [stdout] test github::tests::non_rate_limit_response_is_not_retried ... ok
[INFO] [stdout] test github::tests::owned_zombie_is_reclaimable_even_if_online_busy ... ok
[INFO] [stdout] test github::tests::path_snapshot_for_both_scopes ... ok
[INFO] [stdout] test github::tests::primary_and_secondary_classifiers_are_distinct ... ok
[INFO] [stdout] test github::tests::rate_limit_without_retry_after_uses_default_backoff ... ok
[INFO] [stdout] test github::tests::retry_after_parser_prefers_any_digit_token ... ok
[INFO] [stdout] test docker_backend::tests::start_one_releases_slot_on_jit_generation_failure ... ok
[INFO] [stdout] test docker_backend::tests::state_dir_isolates_slot_assignments_between_configs ... ok
[INFO] [stdout] test github::tests::run_gh_with_backoff_until_bails_when_deadline_is_exhausted_instead_of_sleeping ... ok
[INFO] [stdout] test github::tests::secondary_rate_limit_with_retry_after_honors_header_value ... ok
[INFO] [stdout] test github::tests::secondary_rate_limit_without_retry_after_uses_documented_floor ... ok
[INFO] [stdout] test github::tests::slurped_pages_flatten_into_one_runner_list ... ok
[INFO] [stdout] test github::tests::token_refresh_cooldown_gates_repeat_triggers ... ok
[INFO] [stdout] test github::tests::transient_gh_json_parse_failure_retries_empty_stdout ... ok
[INFO] [stdout] test github::tests::transient_gh_json_parse_failure_uses_default_backoff ... ok
[INFO] [stdout] test github::tests::workflow_dispatch_includes_host_specific_runner_labels ... ok
[INFO] [stdout] test github::tests::workflow_jobs_fixture_deserializes ... ok
[INFO] [stdout] test github::tests::workflow_run_fixture_deserializes ... ok
[INFO] [stdout] test platform::tests::capture_kills_wedged_command_and_returns_none ... ok
[INFO] [stdout] test platform::tests::capture_reports_nonzero_exit ... ok
[INFO] [stdout] test canary::tests::daemon_scheduler_respects_interval_and_in_flight_worker ... ok
[INFO] [stdout] test queue_monitor::tests::alert_invariant_violation_reports_both_invariants_when_both_fail ... ok
[INFO] [stdout] test queue_monitor::tests::append_invariant_sample_writes_exact_schema_fields ... ok
[INFO] [stdout] test queue_monitor::tests::bad_sample_counter_resets_after_clean_sample ... ok
[INFO] [stdout] test queue_monitor::tests::classify_inv1_failure_detects_offline_respawning_when_fully_registered ... ok
[INFO] [stdout] test queue_monitor::tests::classify_inv1_failure_falls_back_to_genuinely_idle ... ok
[INFO] [stdout] test queue_monitor::tests::classify_inv1_failure_prioritizes_missing_registration ... ok
[INFO] [stdout] test queue_monitor::tests::enumerate_jobs_within_budget_bails_before_first_fetch_past_deadline ... ok
[INFO] [stdout] test queue_monitor::tests::enumerate_jobs_within_budget_completes_normally_when_deadline_is_far_off ... ok
[INFO] [stdout] test alert::tests::deadman_failed_self_test_keeps_pipeline_dead ... ok
[INFO] [stdout] test queue_monitor::tests::enumerate_jobs_within_budget_stops_a_slow_fetch_within_the_budget ... ok
[INFO] [stdout] test queue_monitor::tests::fleet_stats_counts_exact_22_runner_pool_only ... ok
[INFO] [stdout] test platform::tests::capture_returns_output_for_fast_command ... ok
[INFO] [stdout] test queue_monitor::tests::invariant_history_path_honors_config_override ... ok
[INFO] [stdout] test queue_monitor::tests::invariant_inv1_false_when_fleet_short_one_and_queue_nonempty ... ok
[INFO] [stdout] test queue_monitor::tests::invariant_inv1_false_when_zero_queued_is_capped_not_confirmed_empty ... ok
[INFO] [stdout] test queue_monitor::tests::invariant_inv1_true_when_busy_full_even_if_queue_read_is_capped ... ok
[INFO] [stdout] test queue_monitor::tests::idle_runner_mismatch_alert_includes_runner_table_and_missing_names ... ok
[INFO] [stdout] test queue_monitor::tests::invariant_inv1_true_when_fleet_fully_busy_regardless_of_queue ... ok
[INFO] [stdout] test queue_monitor::tests::invariant_inv1_true_when_queue_is_empty_regardless_of_busy_count ... ok
[INFO] [stdout] test queue_monitor::tests::invariant_inv2_boundary_is_inclusive_of_exactly_20_minutes ... ok
[INFO] [stdout] test queue_monitor::tests::invariant_oldest_ages_combine_stale_and_fresh_across_repos_via_max ... ok
[INFO] [stdout] test queue_monitor::tests::parses_github_timestamp ... ok
[INFO] [stdout] test queue_monitor::tests::invariant_queued_jobs_capped_flag_propagates_verbatim ... ok
[INFO] [stdout] test alert::tests::deadman_fires_after_threshold_with_no_delivery ... ok
[INFO] [stdout] test queue_monitor::tests::queue_alert_waits_for_consecutive_bad_samples ... ok
[INFO] [stdout] test queue_monitor::tests::queue_alert_uses_log_channel_after_consecutive_bad_samples ... ok
[INFO] [stdout] test queue_monitor::tests::queue_stats_flags_long_in_progress_job_at_job_level ... ok
[INFO] [stdout] test alert::tests::deadman_successful_self_test_resets_pipeline_alive_timer ... ok
[INFO] [stdout] test alert::tests::deadman_no_channels_configured_is_noop ... ok
[INFO] [stdout] test queue_monitor::tests::fetch_capped_queue_snapshot_bails_within_budget_under_persistent_rate_limit ... ok
[INFO] [stdout] test queue_monitor::tests::queue_stats_handles_boundaries_and_ignored_timestamps ... ok
[INFO] [stdout] test queue_monitor::tests::queue_stats_passes_when_tail_is_within_threshold ... ok
[INFO] [stdout] test queue_monitor::tests::stale_queue_warning_is_independent_of_tail_breach ... ok
[INFO] [stdout] test reaper::tests::executor_cancels_polls_then_deletes_after_job_leaves_in_progress ... ok
[INFO] [stdout] test reaper::tests::executor_force_cancels_after_poll_budget_then_deletes ... ok
[INFO] [stdout] test reaper::tests::executor_ignores_unrelated_terminal_job_when_correlated_job_is_still_running ... ok
[INFO] [stdout] test queue_monitor::tests::queue_stats_flags_fresh_tail_breach_and_ignores_stale_runs ... ok
[INFO] [stdout] test reaper::tests::executor_refuses_delete_when_cancel_fails ... ok
[INFO] [stdout] test queue_monitor::tests::serve_loop_snapshots_skips_fetches_when_no_tick_is_due ... ok
[INFO] [stdout] test queue_monitor::tests::serve_loop_snapshots_fetches_only_for_due_ticks ... ok
[INFO] [stdout] test queue_monitor::tests::serve_loop_snapshots_fetches_fleet_and_repos_exactly_once ... ok
[INFO] [stdout] test queue_monitor::tests::serve_loop_snapshots_dedupes_repo_overlap_between_ticks ... ok
[INFO] [stdout] test reaper::tests::executor_refuses_delete_when_correlated_job_changes_runner ... ok
[INFO] [stdout] test reaper::tests::executor_refuses_delete_when_correlated_job_is_missing ... ok
[INFO] [stdout] test reaper::tests::executor_refuses_delete_when_force_cancel_fails ... ok
[INFO] [stdout] test reaper::tests::executor_refuses_delete_while_job_stays_in_progress_after_force_cancel ... ok
[INFO] [stdout] test reaper::tests::executor_refuses_to_mutate_with_zero_poll_limit ... ok
[INFO] [stdout] test reaper::tests::executor_rejects_duplicate_runner_plans_without_second_mutation ... ok
[INFO] [stdout] test reaper::tests::planner_handles_retired_prefix_when_explicitly_allowed ... ok
[INFO] [stdout] test reaper::tests::planner_refuses_too_young_or_unmatched_jobs ... ok
[INFO] [stdout] test reaper::tests::executor_refuses_delete_when_poll_fails ... ok
[INFO] [stdout] test reaper::tests::planner_matches_busy_runner_by_runner_id ... ok
[INFO] [stdout] test reaper::tests::executor_reports_delete_failure_after_safe_poll ... ok
[INFO] [stdout] test service::tests::launchd_wrapper_execs_the_real_binary ... ok
[INFO] [stdout] test reaper::tests::planner_refuses_wrong_prefix_and_missing_labels ... ok
[INFO] [stdout] test tests::backend_restart_is_allowed_when_backend_selection_is_none ... ok
[INFO] [stdout] test service::tests::systemd_service_wires_failure_alert_unit ... ok
[INFO] [stdout] test service::tests::systemd_alert_unit_invokes_failure_alert_command ... ok
[INFO] [stdout] test tests::backend_restart_is_not_allowed_for_policy_blocked_selection ... ok
[INFO] [stdout] test service::tests::launchd_wrapper_unsets_all_known_gh_auth_masking_vars ... ok
[INFO] [stdout] test tests::invariant_sampler_tick_errors_are_non_fatal_and_write_no_sample ... ok
[INFO] [stdout] test service::tests::systemd_service_uses_long_watchdog_budget ... ok
[INFO] [stdout] test tests::serve_match_arm_counts_partial_ensure_success_as_failure_streak ... ok
[INFO] [stdout] test tests::restart_command_reports_missing_binary ... ok
[INFO] [stdout] test tests::service_ready_helper_returns_background_watchdog_guard ... ok
[INFO] [stdout] test tests::systemd_exec_stop_post_success_noops ... ok
[INFO] [stdout] test tests::systemd_exec_stop_post_watchdog_emits_critical_event ... ok
[INFO] [stdout] test tests::state_dir_isolates_serve_locks_between_configs ... ok
[INFO] [stdout] test tests::systemd_on_failure_exit_code_noops ... ok
[INFO] [stdout] test tests::queue_monitor_tick_errors_are_non_fatal ... ok
[INFO] [stdout] test tests::systemd_on_failure_start_limit_emits_critical_event ... ok
[INFO] [stdout] test watchdog::tests::heartbeat_interval_is_bounded ... ok
[INFO] [stdout] test tests::test_alert_requires_configured_channel ... ok
[INFO] [stdout] test tests::test_alert_writes_configured_log_channel ... ok
[INFO] [stdout] test watchdog::tests::heartbeat_interval_is_fraction_of_systemd_budget ... ok
[INFO] [stdout] test alert::tests::command_timeout_kills_hung_process ... ok
[INFO] [stdout] test alert::tests::one_successful_transport_consumes_cooldown ... ok
[INFO] [stdout] test alert::tests::deadman_does_not_fire_when_recent_alert_was_delivered ... ok
[INFO] [stdout] test tests::restart_command_reports_nonzero ... ok
[INFO] [stdout] test tests::restart_command_reports_success ... ok
[INFO] [stdout] test alert::tests::slack_http_error_status_is_delivery_failure ... ok
[INFO] [stdout] test alert::tests::file_log_channel_writes_jsonl_and_consumes_cooldown ... ok
[INFO] [stdout] test alert::tests::deadman_disabled_when_threshold_is_zero ... ok
[INFO] [stdout] test tests::restart_command_times_out_and_kills_hung_process ... ok
[INFO] [stdout] test github::tests::generate_jitconfig_retries_transient_empty_json_parse_failure ... ok
[INFO] [stdout] test github::tests::run_gh_with_backoff_retries_fake_gh_after_json_parse_failure ... ok
[INFO] [stdout] test github::tests::list_runners_retries_transient_gh_json_parse_failure ... ok
[INFO] [stdout] test github::tests::run_gh_with_backoff_retries_fake_gh_after_rate_limit ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 220 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.17s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "712a26000158815c0fe0b19a13b081cbaea4fffa0dca4ed46efc807e7da915e0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "712a26000158815c0fe0b19a13b081cbaea4fffa0dca4ed46efc807e7da915e0", kill_on_drop: false }`
[INFO] [stdout] 712a26000158815c0fe0b19a13b081cbaea4fffa0dca4ed46efc807e7da915e0
