[INFO] cloning repository https://github.com/actions-marketplace-validations/stephenleo_vibestats [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/actions-marketplace-validations/stephenleo_vibestats" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Factions-marketplace-validations%2Fstephenleo_vibestats", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Factions-marketplace-validations%2Fstephenleo_vibestats'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 2fc2c155e022d7188e2d872da680f4952530ad77 [INFO] testing actions-marketplace-validations/stephenleo_vibestats against 1.99.0-beta.1+cargoflags=--release for beta-release-1.99-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Factions-marketplace-validations%2Fstephenleo_vibestats" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/actions-marketplace-validations/stephenleo_vibestats [INFO] finished tweaking git repo https://github.com/actions-marketplace-validations/stephenleo_vibestats [INFO] tweaked toml for git repo https://github.com/actions-marketplace-validations/stephenleo_vibestats written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/actions-marketplace-validations/stephenleo_vibestats on toolchain 1.99.0-beta.1 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/actions-marketplace-validations/stephenleo_vibestats 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.99.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 7dfdd1dcbb88d48432276149b63c632fc5fe4e1a946d70de659cabefe98312be [INFO] running `Command { std: "docker" "start" "7dfdd1dcbb88d48432276149b63c632fc5fe4e1a946d70de659cabefe98312be", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7dfdd1dcbb88d48432276149b63c632fc5fe4e1a946d70de659cabefe98312be", 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" "7dfdd1dcbb88d48432276149b63c632fc5fe4e1a946d70de659cabefe98312be" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7dfdd1dcbb88d48432276149b63c632fc5fe4e1a946d70de659cabefe98312be", 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" "7dfdd1dcbb88d48432276149b63c632fc5fe4e1a946d70de659cabefe98312be" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.184 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling cc v1.2.60 [INFO] [stderr] Compiling rustls v0.23.37 [INFO] [stderr] Compiling hashbrown v0.17.0 [INFO] [stderr] Compiling simd-adler32 v0.3.9 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling winnow v0.7.15 [INFO] [stderr] Compiling toml_write v0.1.2 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling base64 v0.22.1 [INFO] [stderr] Compiling rustls-pki-types v1.14.0 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling webpki-roots v1.0.6 [INFO] [stderr] Compiling webpki-roots v0.26.11 [INFO] [stderr] Compiling indexmap v2.14.0 [INFO] [stderr] Compiling flate2 v1.1.9 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling zerovec-derive v0.11.3 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling clap_derive v4.6.0 [INFO] [stderr] Compiling zerofrom-derive v0.1.7 [INFO] [stderr] Compiling yoke-derive v0.8.2 [INFO] [stderr] Compiling zerofrom v0.1.7 [INFO] [stderr] Compiling yoke v0.8.2 [INFO] [stderr] Compiling zerovec v0.11.6 [INFO] [stderr] Compiling zerotrie v0.2.4 [INFO] [stderr] Compiling clap v4.6.0 [INFO] [stderr] Compiling tinystr v0.8.3 [INFO] [stderr] Compiling potential_utf v0.1.5 [INFO] [stderr] Compiling icu_collections v2.2.0 [INFO] [stderr] Compiling icu_locale_core v2.2.0 [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 icu_provider v2.2.0 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling icu_normalizer v2.2.0 [INFO] [stderr] Compiling icu_properties v2.2.0 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling rustls-webpki v0.103.11 [INFO] [stderr] Compiling ureq v2.12.1 [INFO] [stderr] Compiling vibestats v2.4.5 (/opt/rustwide/workdir) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 1m 09s [INFO] running `Command { std: "docker" "inspect" "7dfdd1dcbb88d48432276149b63c632fc5fe4e1a946d70de659cabefe98312be", 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" "7dfdd1dcbb88d48432276149b63c632fc5fe4e1a946d70de659cabefe98312be" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling vibestats v2.4.5 (/opt/rustwide/workdir) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 7.75s [INFO] running `Command { std: "docker" "inspect" "7dfdd1dcbb88d48432276149b63c632fc5fe4e1a946d70de659cabefe98312be", 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" "7dfdd1dcbb88d48432276149b63c632fc5fe4e1a946d70de659cabefe98312be" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }` [INFO] [stderr] Finished `release` profile [optimized] target(s) in 0.10s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/release/deps/vibestats-b463101720636d3c) [INFO] [stdout] [INFO] [stdout] running 168 tests [INFO] [stdout] test checkpoint::tests::format_parse_iso8601_roundtrip ... ok [INFO] [stdout] test checkpoint::tests::auth_error_roundtrip ... ok [INFO] [stdout] test checkpoint::tests::claude_harness_matches_legacy_date_only_hash ... ok [INFO] [stdout] test checkpoint::tests::get_last_sync_date_empty_returns_none ... ok [INFO] [stdout] test checkpoint::tests::get_last_sync_date_handles_harness_keys ... ok [INFO] [stdout] test checkpoint::tests::get_last_sync_date_single_entry ... ok [INFO] [stdout] test checkpoint::tests::harness_hashes_do_not_collide_on_same_date ... ok [INFO] [stdout] test checkpoint::tests::hash_matches_correct_and_incorrect ... ok [INFO] [stdout] test checkpoint::tests::is_retired_variants ... ok [INFO] [stdout] test checkpoint::tests::load_missing_file_returns_default ... ok [INFO] [stdout] test checkpoint::tests::parse_iso8601_rejects_out_of_range ... ok [INFO] [stdout] test checkpoint::tests::parse_iso8601_rejects_missing_z ... ok [INFO] [stdout] test checkpoint::tests::parse_iso8601_rejects_pre_1970 ... ok [INFO] [stdout] test checkpoint::tests::get_last_sync_date_returns_max_key ... ok [INFO] [stdout] test checkpoint::tests::save_is_atomic_no_tmp_left_behind ... ok [INFO] [stdout] test checkpoint::tests::save_load_roundtrip ... ok [INFO] [stdout] test checkpoint::tests::should_throttle_old_timestamp_returns_false ... ok [INFO] [stdout] test checkpoint::tests::should_throttle_recent_timestamp ... ok [INFO] [stdout] test commands::machines::tests::test_confirm_accepts_lowercase_y ... ok [INFO] [stdout] test commands::auth::tests::nonexistent_gh_binary_causes_error ... ok [INFO] [stdout] test commands::machines::tests::test_confirm_accepts_uppercase_y ... ok [INFO] [stdout] test commands::machines::tests::test_confirm_rejects_empty ... ok [INFO] [stdout] test commands::machines::tests::test_confirm_rejects_n ... ok [INFO] [stdout] test commands::machines::tests::test_confirm_rejects_whitespace ... ok [INFO] [stdout] test commands::machines::tests::test_confirm_rejects_yes ... ok [INFO] [stdout] test commands::machines::tests::test_hive_path_double_digit_day ... ok [INFO] [stdout] test commands::machines::tests::test_machine_not_found_returns_none ... ok [INFO] [stdout] test commands::machines::tests::test_registry_parse_extracts_machine_fields ... ok [INFO] [stdout] test commands::machines::tests::test_registry_parse_multiple_machines ... ok [INFO] [stdout] test commands::machines::tests::test_hive_path_zero_padded ... ok [INFO] [stdout] test commands::machines::tests::test_retire_mutation_sets_status_to_retired ... ok [INFO] [stdout] test commands::status::tests::test_registry_parse_empty_machines_array ... ok [INFO] [stdout] test commands::status::tests::test_registry_parse_machine_with_missing_fields ... ok [INFO] [stdout] test commands::status::tests::test_registry_parse_malformed_json_does_not_panic ... ok [INFO] [stdout] test commands::status::tests::test_registry_parse_two_machines ... ok [INFO] [stdout] test commands::sync::tests::today_utc_year_is_at_least_2026 ... ok [INFO] [stdout] test commands::sync::tests::today_utc_has_correct_format ... ok [INFO] [stdout] test commands::uninstall::tests::command_executable_basename_extracts_from_plain_command ... ok [INFO] [stdout] test commands::uninstall::tests::command_executable_basename_extracts_from_unix_path ... ok [INFO] [stdout] test commands::uninstall::tests::binary_path_builds_local_bin_path ... ok [INFO] [stdout] test commands::uninstall::tests::command_executable_basename_handles_mixed_separators ... ok [INFO] [stdout] test commands::uninstall::tests::command_executable_basename_extracts_from_windows_path ... ok [INFO] [stdout] test commands::uninstall::tests::command_executable_basename_returns_none_for_empty_or_whitespace ... ok [INFO] [stdout] test commands::uninstall::tests::command_executable_basename_returns_none_for_unterminated_quote ... ok [INFO] [stdout] test commands::uninstall::tests::first_command_token_extracts_plain_command ... ok [INFO] [stdout] test commands::uninstall::tests::first_command_token_handles_leading_whitespace ... ok [INFO] [stdout] test commands::uninstall::tests::first_command_token_handles_quoted_path ... ok [INFO] [stdout] test commands::uninstall::tests::first_command_token_returns_none_for_empty_or_whitespace ... ok [INFO] [stdout] test commands::uninstall::tests::first_command_token_returns_none_for_unterminated_quote ... ok [INFO] [stdout] test commands::uninstall::tests::hook_filtering_does_not_touch_non_stop_sessionstart_types_even_if_vibestats_command ... ok [INFO] [stdout] test commands::uninstall::tests::hook_filtering_handles_missing_hook_keys_gracefully ... ok [INFO] [stdout] test commands::uninstall::tests::hook_filtering_preserves_non_vibestats_hooks ... ok [INFO] [stdout] test commands::uninstall::tests::hook_filtering_preserves_unknown_hook_types ... ok [INFO] [stdout] test commands::uninstall::tests::hook_filtering_removes_group_when_all_hooks_are_vibestats ... ok [INFO] [stdout] test commands::uninstall::tests::hook_filtering_removes_vibestats_commands ... ok [INFO] [stdout] test commands::uninstall::tests::is_vibestats_hook_matches_legacy_and_full_path_commands ... ok [INFO] [stdout] test commands::uninstall::tests::hook_filtering_strips_empty_hook_type_and_hooks_key_when_only_vibestats_present ... ok [INFO] [stdout] test commands::uninstall::tests::settings_path_reflects_home_state ... ok [INFO] [stdout] test config::tests::test_fnv1a_hash_deterministic ... ok [INFO] [stdout] test config::tests::test_load_missing_file ... ok [INFO] [stdout] test config::tests::test_load_malformed_toml ... ok [INFO] [stdout] test config::tests::test_save_sets_600_permissions ... ok [INFO] [stdout] test github_api::tests::test_base64_all_ones ... ok [INFO] [stdout] test config::tests::test_generate_machine_id_fallback_for_empty_slug ... ok [INFO] [stdout] test config::tests::test_write_file_mode_600_overwrites_loose_perms ... ok [INFO] [stdout] test github_api::tests::test_base64_decode_hello ... ok [INFO] [stdout] test github_api::tests::test_base64_decode_invalid_char ... ok [INFO] [stdout] test github_api::tests::test_base64_decode_strips_padding ... ok [INFO] [stdout] test github_api::tests::test_base64_decode_roundtrip ... ok [INFO] [stdout] test github_api::tests::test_base64_four_bytes ... ok [INFO] [stdout] test github_api::tests::test_base64_hello ... ok [INFO] [stdout] test github_api::tests::test_base64_empty ... ok [INFO] [stdout] test github_api::tests::test_base64_longer_string ... ok [INFO] [stdout] test github_api::tests::test_base64_one_byte ... ok [INFO] [stdout] test github_api::tests::test_base64_output_uses_standard_alphabet ... ok [INFO] [stdout] test github_api::tests::test_base64_three_bytes ... ok [INFO] [stdout] test github_api::tests::test_base64_two_bytes ... ok [INFO] [stdout] test github_api::tests::test_classify_transport_error_is_retriable ... ok [INFO] [stdout] test github_api::tests::test_delete_body_does_not_include_content_field ... ok [INFO] [stdout] test github_api::tests::test_delete_body_includes_sha_and_message ... ok [INFO] [stdout] test github_api::tests::test_github_api_new_stores_token_and_repo ... ok [INFO] [stdout] test github_api::tests::test_delete_body_sha_roundtrip ... ok [INFO] [stdout] test github_api::tests::test_list_directory_filters_files_only ... ok [INFO] [stdout] test github_api::tests::test_list_directory_empty_array_returns_empty_vec ... ok [INFO] [stdout] test github_api::tests::test_parse_login_missing_field_returns_none ... ok [INFO] [stdout] test github_api::tests::test_parse_login_with_hyphenated_username ... ok [INFO] [stdout] test github_api::tests::test_parse_sha_missing_field_returns_none ... ok [INFO] [stdout] test github_api::tests::test_parse_sha_present_in_json_body ... ok [INFO] [stdout] test github_api::tests::test_parse_login_present_in_user_json_body ... ok [INFO] [stdout] test github_api::tests::test_put_body_with_sha_includes_sha_field ... ok [INFO] [stdout] test github_api::tests::test_put_body_without_sha_excludes_sha_field ... ok [INFO] [stdout] test github_api::tests::test_retry_invokes_f_exactly_once_on_success ... ok [INFO] [stdout] test github_api::tests::test_status_not_retriable_200 ... ok [INFO] [stdout] test github_api::tests::test_retry_succeeds_on_first_attempt ... ok [INFO] [stdout] test github_api::tests::test_base64_all_zeros ... ok [INFO] [stdout] test github_api::tests::test_base64_decode_empty ... ok [INFO] [stdout] test github_api::tests::test_status_not_retriable_400 ... ok [INFO] [stdout] test github_api::tests::test_status_not_retriable_404 ... ok [INFO] [stdout] test github_api::tests::test_status_not_retriable_422 ... ok [INFO] [stdout] test github_api::tests::test_status_retriable_429 ... ok [INFO] [stdout] test github_api::tests::test_status_retriable_500 ... ok [INFO] [stdout] test github_api::tests::test_status_retriable_503 ... ok [INFO] [stdout] test config::tests::test_generate_machine_id_format ... ok [INFO] [stdout] test harnesses::claude::tests::assistant_entry_with_usage_accumulates_tokens ... ok [INFO] [stdout] test github_api::tests::test_status_not_retriable_401 ... ok [INFO] [stdout] test github_api::tests::test_status_retriable_599 ... ok [INFO] [stdout] test harnesses::claude::tests::claude_projects_dir_resolves_under_profile_or_home ... ok [INFO] [stdout] test harnesses::claude::tests::empty_file_returns_no_entry ... ok [INFO] [stdout] test harnesses::claude::tests::file_outside_range_not_included ... ok [INFO] [stdout] test harnesses::claude::tests::duplicate_message_id_request_id_counted_once ... ok [INFO] [stdout] test harnesses::claude::tests::longest_session_minutes_tracks_max_across_sessions ... ok [INFO] [stdout] test harnesses::claude::tests::malformed_lines_skipped_file_still_counted ... ok [INFO] [stdout] test harnesses::codex::tests::codex_sessions_dir_resolves_under_profile_or_home ... ok [INFO] [stdout] test harnesses::claude::tests::models_accumulated_across_multiple_assistant_entries ... ok [INFO] [stdout] test harnesses::claude::tests::old_format_entry_no_message_field_still_counted ... ok [INFO] [stdout] test harnesses::claude::tests::usage_without_input_or_output_tokens_is_ignored ... ok [INFO] [stdout] test harnesses::claude::tests::valid_file_within_range_accumulates ... ok [INFO] [stdout] test config::tests::test_load_valid_toml ... ok [INFO] [stdout] test harnesses::codex::tests::counts_messages_tools_and_active_minutes ... ok [INFO] [stdout] test harnesses::claude::tests::file_without_turn_duration_active_minutes_zero ... ok [INFO] [stdout] test harnesses::claude::tests::two_files_same_date_accumulate ... ok [INFO] [stdout] test harnesses::claude::tests::unknown_fields_silently_ignored ... ok [INFO] [stdout] test harnesses::codex::tests::current_date_groups_usage_when_session_crosses_midnight ... ok [INFO] [stdout] test harnesses::codex::tests::date_from_session_path_uses_local_codex_path_date ... ok [INFO] [stdout] test harnesses::codex::tests::parse_file_accumulates_last_token_usage ... ok [INFO] [stdout] test hooks::session_start::tests::test_days_since_timestamp_far_future_returns_none ... ok [INFO] [stdout] test hooks::session_start::tests::test_auth_error_flag_cleared_when_true ... ok [INFO] [stdout] test hooks::session_start::tests::test_is_retired_prevents_sync ... ok [INFO] [stdout] test hooks::session_start::tests::test_parse_iso8601_utc_rejects_missing_z ... ok [INFO] [stdout] test hooks::session_start::tests::test_parse_iso8601_utc_rejects_pre_1970 ... ok [INFO] [stdout] test harnesses::codex::tests::utc_timestamp_parser_handles_fractional_seconds ... ok [INFO] [stdout] test hooks::session_start::tests::test_parse_iso8601_utc_valid ... ok [INFO] [stdout] test hooks::session_start::tests::test_staleness_warning_over_24h ... ok [INFO] [stdout] test hooks::session_start::tests::test_days_since_timestamp_epoch_is_large ... ok [INFO] [stdout] test hooks::session_start::tests::test_days_since_timestamp_unparseable_returns_none ... ok [INFO] [stdout] test harnesses::codex::tests::repeated_last_token_usage_matches_codex_usage_reports ... ok [INFO] [stdout] test hooks::session_start::tests::test_staleness_warning_under_24h_returns_zero_days ... ok [INFO] [stdout] test harnesses::codex::tests::model_switch_attributes_output_to_current_model ... ok [INFO] [stdout] test hooks::session_start::tests::test_yesterday_returns_valid_date_string ... ok [INFO] [stdout] test hooks::tests::no_throttle_branch_checkpoint_absent ... ok [INFO] [stdout] test hooks::tests::no_throttle_branch_checkpoint_with_old_timestamp ... ok [INFO] [stdout] test hooks::tests::throttle_branch_checkpoint_with_recent_timestamp ... ok [INFO] [stdout] test logger::tests::log_path_resolves_correctly_for_platform ... ok [INFO] [stdout] test logger::tests::test_epoch_to_datetime_known_values ... ok [INFO] [stdout] test logger::tests::test_log_format_ends_with_newline ... ok [INFO] [stdout] test logger::tests::test_utc_timestamp_format ... ok [INFO] [stdout] test paths::tests::checkpoint_path_returns_none_when_home_unset ... ok [INFO] [stdout] test paths::tests::checkpoint_path_returns_some_when_home_is_set ... ok [INFO] [stdout] test logger::tests::test_log_to_non_existent_parent_creates_dir ... ok [INFO] [stdout] test sync::tests::failed_upload_leaves_hash_retryable ... ok [INFO] [stdout] test sync::tests::hive_path_formats_correctly ... ok [INFO] [stdout] test sync::tests::different_payloads_produce_different_hashes ... ok [INFO] [stdout] test logger::tests::test_log_format_matches_spec ... ok [INFO] [stdout] test logger::tests::test_multiple_entries_are_appended ... ok [INFO] [stdout] test hooks::tests::throttle_save_does_not_clobber_sync_persisted_fields ... ok [INFO] [stdout] test sync::tests::sha256_payload_known_vector ... ok [INFO] [stdout] test sync::tests::sha256_is_deterministic ... ok [INFO] [stdout] test sync::tests::hive_path_preserves_zero_padding ... ok [INFO] [stdout] test logger::tests::test_rotation_preserves_file_stem ... ok [INFO] [stdout] test logger::tests::test_no_rotation_below_1mb ... ok [INFO] [stdout] test sync::tests::hive_path_uses_selected_harness ... ok [INFO] [stdout] test sync::tests::same_payload_produces_same_hash_idempotency ... ok [INFO] [stdout] test sync::tests::payload_format_matches_hashed_bytes ... ok [INFO] [stdout] test sync::tests::sha256_empty_string ... ok [INFO] [stdout] test sync::tests::sha256_hello ... ok [INFO] [stdout] test logger::tests::test_rotation_at_1mb_threshold ... ok [INFO] [stdout] test github_api::tests::test_retry_transport_error_exhausts_3_attempts ... ok [INFO] [stdout] test github_api::tests::test_retry_succeeds_after_two_transport_errors ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 168 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.01s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "7dfdd1dcbb88d48432276149b63c632fc5fe4e1a946d70de659cabefe98312be", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7dfdd1dcbb88d48432276149b63c632fc5fe4e1a946d70de659cabefe98312be", kill_on_drop: false }` [INFO] [stdout] 7dfdd1dcbb88d48432276149b63c632fc5fe4e1a946d70de659cabefe98312be