[INFO] fetching crate whogitit 1.0.0...
[INFO] testing whogitit-1.0.0 against try#33835004928d3bf65db4d4712e1330766263b0bd for pr-155739-1
[INFO] extracting crate whogitit 1.0.0 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate whogitit 1.0.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate whogitit 1.0.0
[INFO] tweaked toml for crates.io crate whogitit 1.0.0 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate whogitit 1.0.0 on toolchain 33835004928d3bf65db4d4712e1330766263b0bd
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate whogitit 1.0.0 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" "+33835004928d3bf65db4d4712e1330766263b0bd" "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/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7d122c1121974bed8fc99609f491824c59313994f933a1da9d33e88be9a5c3ff
[INFO] running `Command { std: "docker" "start" "-a" "7d122c1121974bed8fc99609f491824c59313994f933a1da9d33e88be9a5c3ff", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7d122c1121974bed8fc99609f491824c59313994f933a1da9d33e88be9a5c3ff", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7d122c1121974bed8fc99609f491824c59313994f933a1da9d33e88be9a5c3ff", kill_on_drop: false }`
[INFO] [stdout] 7d122c1121974bed8fc99609f491824c59313994f933a1da9d33e88be9a5c3ff
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d8db3e1fdfa87dcef97c66b7858815eb2a2ac3e65b3d9f7e32893c408a4a32c9
[INFO] running `Command { std: "docker" "start" "-a" "d8db3e1fdfa87dcef97c66b7858815eb2a2ac3e65b3d9f7e32893c408a4a32c9", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling zmij v1.0.18
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling clap_lex v0.7.7
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling winnow v0.7.14
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling colored v2.2.0
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stderr]    Compiling clap_builder v4.5.56
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling uuid v1.20.0
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling cc v1.2.55
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling openssl-src v300.5.5+3.5.5
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]    Compiling libz-sys v1.1.23
[INFO] [stderr]    Compiling libssh2-sys v0.3.1
[INFO] [stderr]    Compiling libgit2-sys v0.16.2+1.7.2
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling clap v4.5.56
[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 chrono v0.4.43
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling toml v0.8.23
[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 git2 v0.18.3
[INFO] [stderr]    Compiling whogitit v1.0.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 30s
[INFO] running `Command { std: "docker" "inspect" "d8db3e1fdfa87dcef97c66b7858815eb2a2ac3e65b3d9f7e32893c408a4a32c9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d8db3e1fdfa87dcef97c66b7858815eb2a2ac3e65b3d9f7e32893c408a4a32c9", kill_on_drop: false }`
[INFO] [stdout] d8db3e1fdfa87dcef97c66b7858815eb2a2ac3e65b3d9f7e32893c408a4a32c9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f142833c54f38ff7cb2fd84842a59bf13468576b66b3c07bbe8d2665e56e0b30
[INFO] running `Command { std: "docker" "start" "-a" "f142833c54f38ff7cb2fd84842a59bf13468576b66b3c07bbe8d2665e56e0b30", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling git2 v0.18.3
[INFO] [stderr]    Compiling tempfile v3.24.0
[INFO] [stderr]    Compiling whogitit v1.0.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 14.52s
[INFO] running `Command { std: "docker" "inspect" "f142833c54f38ff7cb2fd84842a59bf13468576b66b3c07bbe8d2665e56e0b30", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f142833c54f38ff7cb2fd84842a59bf13468576b66b3c07bbe8d2665e56e0b30", kill_on_drop: false }`
[INFO] [stdout] f142833c54f38ff7cb2fd84842a59bf13468576b66b3c07bbe8d2665e56e0b30
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 40d9c69d7307dd1941aa1c7f15850fc4cd30619e6569a9f45aa169a20eda780f
[INFO] running `Command { std: "docker" "start" "-a" "40d9c69d7307dd1941aa1c7f15850fc4cd30619e6569a9f45aa169a20eda780f", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.15s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/whogitit-eefc0593fe830342)
[INFO] [stdout] 
[INFO] [stdout] running 291 tests
[INFO] [stdout] test capture::diff::tests::test_create_diff ... ok
[INFO] [stdout] test capture::diff::tests::test_replacement ... ok
[INFO] [stdout] test capture::diff::tests::test_multiple_hunks ... ok
[INFO] [stdout] test capture::diff::tests::test_content_hash ... ok
[INFO] [stdout] test capture::diff::tests::test_insertion_in_middle ... ok
[INFO] [stdout] test capture::diff::tests::test_simple_addition ... ok
[INFO] [stdout] test capture::pending::tests::test_multiple_edits_same_file ... ok
[INFO] [stdout] test capture::pending::tests::test_record_edit_new_file ... ok
[INFO] [stdout] test capture::pending::tests::test_prompt_tracking ... ok
[INFO] [stdout] test capture::pending::tests::test_record_edit_existing_file ... ok
[INFO] [stdout] test capture::pending::tests::test_prompt_tracking_dedupes_consecutive_same_prompt ... ok
[INFO] [stdout] test capture::snapshot::tests::test_content_hash_consistency ... ok
[INFO] [stdout] test capture::snapshot::tests::test_content_snapshot ... ok
[INFO] [stdout] test capture::snapshot::tests::test_file_edit_history ... ok
[INFO] [stdout] test capture::snapshot::tests::test_new_file_history ... ok
[INFO] [stdout] test capture::threeway::tests::test_block_matching_closure_formatting ... ok
[INFO] [stdout] test capture::hook::tests::test_is_repo_initialized ... ok
[INFO] [stdout] test capture::threeway::tests::test_block_matching_split_assignment ... ok
[INFO] [stdout] test capture::threeway::tests::test_block_matching_reformatted_method_chain ... ok
[INFO] [stdout] test capture::threeway::tests::test_common_patterns_attributed_to_ai ... ok
[INFO] [stdout] test capture::threeway::tests::test_debug_attribution_flow ... ok
[INFO] [stdout] test capture::threeway::tests::test_block_matching_sync_all_context ... ok
[INFO] [stdout] test capture::pending::tests::test_store_roundtrip ... ok
[INFO] [stdout] test capture::threeway::tests::test_block_matching_ok_or_else_chain ... ok
[INFO] [stdout] test capture::threeway::tests::test_duplicate_lines_in_ai_output ... ok
[INFO] [stdout] test capture::threeway::tests::test_human_modification_after_ai ... ok
[INFO] [stdout] test capture::threeway::tests::test_block_matching_assert_multiline ... ok
[INFO] [stdout] test capture::threeway::tests::test_diff_unmapped_lines_still_attributed_correctly ... ok
[INFO] [stdout] test capture::threeway::tests::test_multiple_ai_edits ... ok
[INFO] [stdout] test capture::threeway::tests::test_line_shift ... ok
[INFO] [stdout] test capture::threeway::tests::test_only_original_no_ai_edits ... ok
[INFO] [stdout] test capture::threeway::tests::test_empty_line_attribution ... ok
[INFO] [stdout] test capture::threeway::tests::test_tabs_vs_spaces ... ok
[INFO] [stdout] test cli::annotations::tests::test_annotation_scoring ... ok
[INFO] [stdout] test capture::threeway::tests::test_whitespace_normalization ... ok
[INFO] [stdout] test cli::annotations::tests::test_annotation_serialization ... ok
[INFO] [stdout] test cli::annotations::tests::test_annotations_json_output_has_schema_metadata ... ok
[INFO] [stdout] test capture::threeway::tests::test_similarity_computation ... ok
[INFO] [stdout] test capture::threeway::tests::test_simple_ai_addition ... ok
[INFO] [stdout] test cli::annotations::tests::test_diff_overlap ... ok
[INFO] [stdout] test cli::annotations::tests::test_file_stats_mixed_file ... ok
[INFO] [stdout] test cli::annotations::tests::test_file_stats_high_ai_coverage ... ok
[INFO] [stdout] test cli::annotations::tests::test_github_checks_summary_no_session_range ... ok
[INFO] [stdout] test cli::annotations::tests::test_file_stats_new_file ... ok
[INFO] [stdout] test cli::annotations::tests::test_github_checks_summary_serialization ... ok
[INFO] [stdout] test cli::annotations::tests::test_group_ai_types_combined ... ok
[INFO] [stdout] test cli::annotations::tests::test_group_consecutive_ai_lines ... ok
[INFO] [stdout] test cli::annotations::tests::test_consolidation_with_prompt_limit ... ok
[INFO] [stdout] test cli::annotations::tests::test_group_mixed_ai_and_modified ... ok
[INFO] [stdout] test cli::annotations::tests::test_new_file_bonus_in_scoring ... ok
[INFO] [stdout] test cli::audit::tests::test_date_parsing ... ok
[INFO] [stdout] test cli::audit::tests::test_event_filtering ... ok
[INFO] [stdout] test cli::audit::tests::test_event_sorting_by_timestamp ... ok
[INFO] [stdout] test cli::audit::tests::test_event_truncation ... ok
[INFO] [stdout] test cli::audit::tests::test_parse_event_type_config_change ... ok
[INFO] [stdout] test cli::audit::tests::test_audit_args_with_filters ... ok
[INFO] [stdout] test cli::audit::tests::test_parse_event_type_delete ... ok
[INFO] [stdout] test cli::audit::tests::test_parse_event_type_export ... ok
[INFO] [stdout] test cli::audit::tests::test_invalid_date_parsing ... ok
[INFO] [stdout] test cli::audit::tests::test_parse_event_type_invalid ... ok
[INFO] [stdout] test cli::audit::tests::test_parse_event_type_redaction ... ok
[INFO] [stdout] test cli::annotations::tests::test_session_range_formatting ... ok
[INFO] [stdout] test cli::audit::tests::test_audit_args_defaults ... ok
[INFO] [stdout] test cli::audit::tests::test_parse_event_type_retention_apply ... ok
[INFO] [stdout] test cli::blame::tests::test_ai_only_filter ... ok
[INFO] [stdout] test cli::blame::tests::test_blame_args_with_revision ... ok
[INFO] [stdout] test cli::blame::tests::test_filter_empty_result ... ok
[INFO] [stdout] test cli::blame::tests::test_human_only_filter ... ok
[INFO] [stdout] test cli::blame::tests::test_line_source_is_ai ... ok
[INFO] [stdout] test cli::blame::tests::test_blame_args_defaults ... ok
[INFO] [stdout] test cli::blame::tests::test_line_source_is_human ... ok
[INFO] [stdout] test cli::blame::tests::test_no_filter ... ok
[INFO] [stdout] test cli::blame::tests::test_output_format_variants ... ok
[INFO] [stdout] test cli::copy::tests::test_copy_notes_args_dry_run ... ok
[INFO] [stdout] test cli::copy::tests::test_copy_notes_args_structure ... ok
[INFO] [stdout] test cli::copy::tests::test_short_sha_truncation ... ok
[INFO] [stdout] test cli::export::tests::test_build_summary_empty ... ok
[INFO] [stdout] test cli::export::tests::test_build_summary_multiple_commits ... ok
[INFO] [stdout] test cli::export::tests::test_build_summary_no_ai_lines ... ok
[INFO] [stdout] test cli::export::tests::test_commit_export_serialization ... ok
[INFO] [stdout] test cli::export::tests::test_csv_author_escaping ... ok
[INFO] [stdout] test cli::export::tests::test_csv_message_escaping ... ok
[INFO] [stdout] test cli::export::tests::test_export_data_no_date_range ... ok
[INFO] [stdout] test cli::export::tests::test_build_summary_single_commit ... ok
[INFO] [stdout] test cli::export::tests::test_csv_crlf_normalized_to_single_space ... ok
[INFO] [stdout] test cli::export::tests::test_parse_date_leap_year ... ok
[INFO] [stdout] test cli::export::tests::test_export_data_serialization ... ok
[INFO] [stdout] test cli::export::tests::test_parse_date_end_of_day_boundary ... ok
[INFO] [stdout] test cli::export::tests::test_parse_date_invalid_format ... ok
[INFO] [stdout] test cli::export::tests::test_parse_date_invalid_date ... ok
[INFO] [stdout] test cli::export::tests::test_parse_date_non_leap_year ... ok
[INFO] [stdout] test cli::export::tests::test_parse_date_none ... ok
[INFO] [stdout] test cli::export::tests::test_parse_date_valid ... ok
[INFO] [stdout] test cli::export::tests::test_truncate_prompt_for_export_unicode_safe ... ok
[INFO] [stdout] test cli::export::tests::test_truncate_prompt_for_export_ascii ... ok
[INFO] [stdout] test cli::export::tests::test_parse_date_partial_format ... ok
[INFO] [stdout] test cli::output::tests::test_truncate ... ok
[INFO] [stdout] test cli::output::tests::test_truncate_or_pad ... ok
[INFO] [stdout] test cli::pager::tests::test_annotate_added_line_ai ... ok
[INFO] [stdout] test cli::prompt::tests::test_parse_absolute_path ... ok
[INFO] [stdout] test cli::output::tests::test_line_source_output_ai_modified ... ok
[INFO] [stdout] test cli::prompt::tests::test_parse_empty_string ... ok
[INFO] [stdout] test cli::output::tests::test_blame_json_has_schema_version_and_structured_source ... ok
[INFO] [stdout] test cli::prompt::tests::test_parse_file_trailing_colon ... ok
[INFO] [stdout] test cli::prompt::tests::test_parse_file_with_colon_in_path ... ok
[INFO] [stdout] test cli::prompt::tests::test_parse_file_with_colon_not_number ... ok
[INFO] [stdout] test cli::prompt::tests::test_parse_file_with_large_line_number ... ok
[INFO] [stdout] test cli::prompt::tests::test_parse_file_with_line_1 ... ok
[INFO] [stdout] test cli::prompt::tests::test_parse_file_with_zero_line ... ok
[INFO] [stdout] test cli::pager::tests::test_annotate_added_line_ai_modified ... ok
[INFO] [stdout] test cli::prompt::tests::test_parse_file_with_line ... ok
[INFO] [stdout] test cli::prompt::tests::test_parse_file_without_line ... ok
[INFO] [stdout] test cli::prompt::tests::test_prompt_args_structure ... ok
[INFO] [stdout] test cli::prompt::tests::test_parse_relative_path ... ok
[INFO] [stdout] test cli::prompt::tests::test_prompt_args_json_output ... ok
[INFO] [stdout] test cli::redact::tests::test_available_patterns_have_descriptions ... ok
[INFO] [stdout] test cli::redact::tests::test_available_patterns_not_empty ... ok
[INFO] [stdout] test cli::redact::tests::test_get_input_neither_text_nor_file ... ok
[INFO] [stdout] test cli::prompt::tests::test_parse_parent_dir_path ... ok
[INFO] [stdout] test cli::redact::tests::test_get_input_both_text_and_file ... ok
[INFO] [stdout] test cli::redact::tests::test_get_input_file_not_found ... ok
[INFO] [stdout] test cli::redact::tests::test_get_input_with_text ... ok
[INFO] [stdout] test cli::redact::tests::test_match_preview_short ... ok
[INFO] [stdout] test cli::prompt::tests::test_parse_nested_path_with_line ... ok
[INFO] [stdout] test cli::redact::tests::test_match_preview_truncation ... ok
[INFO] [stdout] test cli::pager::tests::test_file_header_regex ... ok
[INFO] [stdout] test cli::redact::tests::test_redact_args_list_patterns ... ok
[INFO] [stdout] test cli::redact::tests::test_redact_args_output_modes ... ok
[INFO] [stdout] test cli::redact::tests::test_redact_args_with_text ... ok
[INFO] [stdout] test cli::retention::tests::test_retention_action_variants ... ok
[INFO] [stdout] test cli::redact::tests::test_redact_args_with_file ... ok
[INFO] [stdout] test cli::retention::tests::test_retention_apply_with_reason ... ok
[INFO] [stdout] test cli::setup::tests::test_doctor_check_structure ... ok
[INFO] [stdout] test cli::setup::tests::test_doctor_check_with_fix_hint ... ok
[INFO] [stdout] test cli::setup::tests::test_has_whogitit_hooks_configured ... ok
[INFO] [stdout] test cli::setup::tests::test_has_whogitit_hooks_empty ... ok
[INFO] [stdout] test cli::retention::tests::test_retention_classification_logic ... ok
[INFO] [stdout] test cli::pager::tests::test_hunk_header_regex ... ok
[INFO] [stdout] test cli::setup::tests::test_has_whogitit_hooks_other_hooks ... ok
[INFO] [stdout] test cli::retention::tests::test_short_oid_output_length ... ok
[INFO] [stdout] test cli::setup::tests::test_has_whogitit_hooks_requires_both_phases ... ok
[INFO] [stdout] test cli::setup::tests::test_hook_configuration_structure ... ok
[INFO] [stdout] test cli::setup::tests::test_merge_hooks_empty_settings ... ok
[INFO] [stdout] test cli::setup::tests::test_merge_hooks_preserves_existing ... ok
[INFO] [stdout] test cli::setup::tests::test_merge_hooks_replaces_invalid_hooks ... ok
[INFO] [stdout] test cli::show::tests::test_commit_short_extraction ... ok
[INFO] [stdout] test cli::setup::tests::test_setup_status_is_complete ... ok
[INFO] [stdout] test cli::show::tests::test_commit_short_extraction_short_id ... ok
[INFO] [stdout] test cli::show::tests::test_line_count_aggregation ... ok
[INFO] [stdout] test cli::show::tests::test_show_args_with_branch ... ok
[INFO] [stdout] test cli::show::tests::test_show_args_default_commit ... ok
[INFO] [stdout] test cli::show::tests::test_show_args_with_parent_ref ... ok
[INFO] [stdout] test cli::show::tests::test_show_args_with_sha ... ok
[INFO] [stdout] test cli::summary::tests::test_aggregate_summary_100_percent_ai ... ok
[INFO] [stdout] test cli::summary::tests::test_aggregate_summary_ai_additions ... ok
[INFO] [stdout] test cli::summary::tests::test_aggregate_summary_ai_percentage ... ok
[INFO] [stdout] test cli::summary::tests::test_aggregate_summary_ai_percentage_zero ... ok
[INFO] [stdout] test cli::summary::tests::test_aggregate_summary_total_additions ... ok
[INFO] [stdout] test cli::summary::tests::test_aggregate_summary_with_file_summaries ... ok
[INFO] [stdout] test cli::summary::tests::test_aggregate_summary_defaults ... ok
[INFO] [stdout] test cli::summary::tests::test_file_summary_additions ... ok
[INFO] [stdout] test cli::summary::tests::test_file_summary_ai_percent ... ok
[INFO] [stdout] test cli::summary::tests::test_file_summary_ai_percent_mixed ... ok
[INFO] [stdout] test cli::summary::tests::test_file_summary_ai_percent_zero_additions ... ok
[INFO] [stdout] test cli::summary::tests::test_file_summary_new_file_detection ... ok
[INFO] [stdout] test cli::summary::tests::test_file_summary_ai_additions ... ok
[INFO] [stdout] test cli::tests::test_capture_args_stdin ... ok
[INFO] [stdout] test cli::tests::test_capture_args_with_file ... ok
[INFO] [stdout] test cli::tests::test_init_args_force ... ok
[INFO] [stdout] test cli::tests::test_install_post_commit_hook_append_to_existing ... ok
[INFO] [stdout] test cli::tests::test_install_post_commit_hook_new ... ok
[INFO] [stdout] test cli::tests::test_init_args_default ... ok
[INFO] [stdout] test cli::tests::test_install_post_rewrite_hook_idempotent ... ok
[INFO] [stdout] test cli::summary::tests::test_summary_format_values ... ok
[INFO] [stdout] test cli::tests::test_install_pre_push_hook_idempotent ... ok
[INFO] [stdout] test cli::tests::test_whogitit_markers ... ok
[INFO] [stdout] test cli::tests::test_install_post_rewrite_hook_new ... ok
[INFO] [stdout] test cli::tests::test_install_pre_push_hook_new ... ok
[INFO] [stdout] test core::attribution::tests::test_ai_attribution_totals ... ok
[INFO] [stdout] test cli::tests::test_install_post_rewrite_hook_append_to_existing ... ok
[INFO] [stdout] test core::attribution::tests::test_attribution_multiple_files ... ok
[INFO] [stdout] test core::attribution::tests::test_blame_result_ai_percentage ... ok
[INFO] [stdout] test core::attribution::tests::test_blame_result_counts ... ok
[INFO] [stdout] test core::attribution::tests::test_blame_result_ai_percentage_all_ai ... ok
[INFO] [stdout] test core::attribution::tests::test_blame_result_pure_ai_vs_modified ... ok
[INFO] [stdout] test core::attribution::tests::test_get_prompt ... ok
[INFO] [stdout] test core::attribution::tests::test_model_info_claude ... ok
[INFO] [stdout] test core::attribution::tests::test_serialization_roundtrip ... ok
[INFO] [stdout] test core::attribution::tests::test_blame_result_ai_percentage_empty ... ok
[INFO] [stdout] test privacy::config::tests::test_available_patterns ... ok
[INFO] [stdout] test privacy::config::tests::test_default_config ... ok
[INFO] [stdout] test cli::tests::test_install_post_commit_hook_idempotent ... ok
[INFO] [stdout] test privacy::config::tests::test_build_redactor_with_custom ... ok
[INFO] [stdout] test privacy::config::tests::test_disabled_redaction ... ok
[INFO] [stdout] test privacy::config::tests::test_load_default_when_missing ... ok
[INFO] [stdout] test privacy::config::tests::test_load_env_override_missing_file_returns_error ... ok
[INFO] [stdout] test privacy::config::tests::test_load_from_file ... ok
[INFO] [stdout] test privacy::config::tests::test_load_prefers_env_override_config ... ok
[INFO] [stdout] test privacy::config::tests::test_parse_toml_config ... ok
[INFO] [stdout] test privacy::config::tests::test_retention_config ... ok
[INFO] [stdout] test privacy::redaction::tests::test_add_named_pattern ... ok
[INFO] [stdout] test privacy::redaction::tests::test_adjacent_patterns ... ok
[INFO] [stdout] test core::blame::tests::test_blame_file_without_attribution ... ok
[INFO] [stdout] test capture::pending::tests::test_redaction ... ok
[INFO] [stdout] test core::blame::tests::test_get_commit_attribution_caching ... ok
[INFO] [stdout] test core::blame::tests::test_blame_with_attribution ... ok
[INFO] [stdout] test privacy::config::tests::test_invalid_disabled_pattern_name ... ok
[INFO] [stdout] test privacy::redaction::tests::test_aws_key_redaction ... ok
[INFO] [stdout] test privacy::config::tests::test_invalid_custom_pattern_validation ... ok
[INFO] [stdout] test privacy::redaction::tests::test_custom_pattern ... ok
[INFO] [stdout] test capture::hook::tests::test_make_relative_path_accepts_symlinked_absolute_path ... ok
[INFO] [stdout] test capture::hook::tests::test_capture_hook_clear ... ok
[INFO] [stdout] test privacy::redaction::tests::test_bearer_token_redaction ... ok
[INFO] [stdout] test privacy::config::tests::test_build_redactor_with_disabled ... ok
[INFO] [stdout] test privacy::redaction::tests::test_base64_secret_redaction ... ok
[INFO] [stdout] test privacy::redaction::tests::test_interval_merging ... ok
[INFO] [stdout] test privacy::redaction::tests::test_email_redaction ... ok
[INFO] [stdout] test privacy::redaction::tests::test_github_token_redaction ... ok
[INFO] [stdout] test privacy::redaction::tests::test_find_sensitive ... ok
[INFO] [stdout] test privacy::redaction::tests::test_db_connection_redaction ... ok
[INFO] [stdout] test privacy::redaction::tests::test_no_redaction ... ok
[INFO] [stdout] test privacy::redaction::tests::test_google_oauth_redaction ... ok
[INFO] [stdout] test privacy::redaction::tests::test_find_sensitive_named ... ok
[INFO] [stdout] test privacy::redaction::tests::test_overlapping_patterns ... ok
[INFO] [stdout] test capture::hook::tests::test_capture_hook_status_empty ... ok
[INFO] [stdout] test capture::hook::tests::test_make_relative_path_accepts_nonexistent_file_under_symlinked_root ... ok
[INFO] [stdout] test capture::hook::tests::test_capture_hook_on_file_change ... ok
[INFO] [stdout] test privacy::redaction::tests::test_jwt_token_redaction ... ok
[INFO] [stdout] test privacy::redaction::tests::test_api_key_redaction ... ok
[INFO] [stdout] test capture::hook::tests::test_post_commit_preserves_pending_for_uncommitted_files ... ok
[INFO] [stdout] test capture::hook::tests::test_post_commit_rename_preserves_attribution_path ... ok
[INFO] [stdout] test privacy::redaction::tests::test_no_false_positives ... ok
[INFO] [stdout] test capture::hook::tests::test_capture_hook_multiple_edits ... ok
[INFO] [stdout] test privacy::redaction::tests::test_contains_sensitive ... ok
[INFO] [stdout] test privacy::redaction::tests::test_credit_card_redaction ... ok
[INFO] [stdout] test retention::tests::test_is_commit_old_exactly_at_cutoff ... ok
[INFO] [stdout] test privacy::redaction::tests::test_with_builtins ... ok
[INFO] [stdout] test retention::tests::test_is_commit_old_future_commit ... ok
[INFO] [stdout] test retention::tests::test_is_commit_old_no_max_age ... ok
[INFO] [stdout] test retention::tests::test_is_commit_old_recent_commit ... ok
[INFO] [stdout] test retention::tests::test_is_commit_old_very_old_commit ... ok
[INFO] [stdout] test retention::tests::test_is_commit_old_old_commit ... ok
[INFO] [stdout] test retention::tests::test_min_commits_keeps_newest ... ok
[INFO] [stdout] test storage::audit::tests::test_audit_chain_detects_tamper ... ok
[INFO] [stdout] test storage::audit::tests::test_audit_event_serialization ... ok
[INFO] [stdout] test storage::audit::tests::test_audit_log_empty ... ok
[INFO] [stdout] test retention::tests::test_compute_sets_large_input_partitions_without_overlap ... ok
[INFO] [stdout] test storage::audit::tests::test_hashable_event_content_excludes_event_hash ... ok
[INFO] [stdout] test retention::tests::test_is_commit_old_zero_max_age ... ok
[INFO] [stdout] test privacy::redaction::tests::test_phone_redaction ... ok
[INFO] [stdout] test storage::audit::tests::test_audit_chain_fails_on_invalid_json ... ok
[INFO] [stdout] test privacy::redaction::tests::test_slack_token_redaction ... ok
[INFO] [stdout] test storage::audit::tests::test_audit_log_roundtrip ... ok
[INFO] [stdout] test privacy::redaction::tests::test_password_redaction ... ok
[INFO] [stdout] test privacy::redaction::tests::test_npm_token_redaction ... ok
[INFO] [stdout] test storage::notes::tests::test_evaluate_note_payload_size_rejects_oversized_payload ... ok
[INFO] [stdout] test storage::notes::tests::test_evaluate_note_payload_size_within_threshold ... ok
[INFO] [stdout] test storage::notes::tests::test_evaluate_note_payload_size_warns_before_limit ... ok
[INFO] [stdout] test storage::notes::tests::test_notes_ref_constant ... ok
[INFO] [stdout] test storage::audit::tests::test_log_config_change ... ok
[INFO] [stdout] test storage::notes::tests::test_fetch_nonexistent_attribution ... ok
[INFO] [stdout] test storage::notes::tests::test_copy_attribution_source_not_found ... ok
[INFO] [stdout] test privacy::redaction::tests::test_redact_with_audit ... ok
[INFO] [stdout] test storage::notes::tests::test_has_attribution ... ok
[INFO] [stdout] test storage::trailers::tests::test_append_to_message ... ok
[INFO] [stdout] test storage::trailers::tests::test_generate_trailers ... ok
[INFO] [stdout] test storage::trailers::tests::test_parse_trailers ... ok
[INFO] [stdout] test storage::trailers::tests::test_has_ai_trailers ... ok
[INFO] [stdout] test privacy::redaction::tests::test_multiple_redactions ... ok
[INFO] [stdout] test utils::tests::test_pad_right ... ok
[INFO] [stdout] test utils::tests::test_pad_right_unicode ... ok
[INFO] [stdout] test utils::tests::test_hex_encode ... ok
[INFO] [stdout] test storage::trailers::tests::test_format_for_message ... ok
[INFO] [stdout] test utils::tests::test_truncate_or_pad ... ok
[INFO] [stdout] test utils::tests::test_truncate_or_pad_unicode ... ok
[INFO] [stdout] test privacy::redaction::tests::test_stripe_key_redaction ... ok
[INFO] [stdout] test utils::tests::test_truncate ... ok
[INFO] [stdout] test utils::tests::test_truncate_prompt ... ok
[INFO] [stdout] test utils::tests::test_truncate_unicode ... ok
[INFO] [stdout] test utils::tests::test_word_wrap ... ok
[INFO] [stdout] test privacy::redaction::tests::test_redact_with_audit_no_matches ... ok
[INFO] [stdout] test storage::notes::tests::test_copy_attribution ... ok
[INFO] [stdout] test storage::notes::tests::test_store_and_fetch_attribution ... ok
[INFO] [stdout] test storage::notes::tests::test_list_attributed_commits_empty ... ok
[INFO] [stdout] test privacy::redaction::tests::test_without_builtins ... ok
[INFO] [stdout] test storage::notes::tests::test_remove_attribution ... ok
[INFO] [stdout] test storage::notes::tests::test_list_attributed_commits ... ok
[INFO] [stdout] test storage::notes::tests::test_update_attribution ... ok
[INFO] [stdout] test privacy::redaction::tests::test_ssn_redaction ... ok
[INFO] [stdout] test privacy::redaction::tests::test_private_key_redaction ... ok
[INFO] [stdout] test privacy::redaction::tests::test_pattern_names ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 291 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.53s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/whogitit-df5cb872db424037)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration_test.rs (/opt/rustwide/target/debug/deps/integration_test-907f01b559112a5a)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test test_human_modifies_ai_code ... ok
[INFO] [stdout] test test_trailers ... ok
[INFO] [stdout] test test_new_file_attribution ... ok
[INFO] [stdout] test test_multiple_ai_edits ... ok
[INFO] [stdout] test test_notes_roundtrip ... ok
[INFO] [stdout] test test_copy_attribution ... ok
[INFO] [stdout] test test_full_workflow ... ok
[INFO] [stdout] test test_privacy_redaction ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests whogitit
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "40d9c69d7307dd1941aa1c7f15850fc4cd30619e6569a9f45aa169a20eda780f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "40d9c69d7307dd1941aa1c7f15850fc4cd30619e6569a9f45aa169a20eda780f", kill_on_drop: false }`
[INFO] [stdout] 40d9c69d7307dd1941aa1c7f15850fc4cd30619e6569a9f45aa169a20eda780f
