[INFO] cloning repository https://github.com/qwertyboy0325/vox-proof
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/qwertyboy0325/vox-proof" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fqwertyboy0325%2Fvox-proof", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fqwertyboy0325%2Fvox-proof'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c4162daf61a6cef25d950cdce20828b2e80e4008
[INFO] testing qwertyboy0325/vox-proof against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fqwertyboy0325%2Fvox-proof" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/qwertyboy0325/vox-proof
[INFO] removed 0 missing tests
[INFO] finished tweaking git repo https://github.com/qwertyboy0325/vox-proof
[INFO] tweaked toml for git repo https://github.com/qwertyboy0325/vox-proof written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/qwertyboy0325/vox-proof 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 git repo https://github.com/qwertyboy0325/vox-proof 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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] debef2d11e9b730707fabcc84635124c9c15437af5b4295bc8600a002654f018
[INFO] running `Command { std: "docker" "start" "debef2d11e9b730707fabcc84635124c9c15437af5b4295bc8600a002654f018", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "debef2d11e9b730707fabcc84635124c9c15437af5b4295bc8600a002654f018", 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" "debef2d11e9b730707fabcc84635124c9c15437af5b4295bc8600a002654f018" "/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" "debef2d11e9b730707fabcc84635124c9c15437af5b4295bc8600a002654f018", 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" "debef2d11e9b730707fabcc84635124c9c15437af5b4295bc8600a002654f018" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.46
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]    Compiling pinyin v0.11.0
[INFO] [stderr]    Compiling either v1.16.0
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling nom v8.0.0
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling regex-automata v0.4.15
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling enum-iterator-derive v1.5.0
[INFO] [stderr]    Compiling enum-iterator v2.3.0
[INFO] [stderr]    Compiling regex v1.13.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling rphonetic v3.0.6
[INFO] [stderr]    Compiling vox-proof v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 52.99s
[INFO] running `Command { std: "docker" "inspect" "debef2d11e9b730707fabcc84635124c9c15437af5b4295bc8600a002654f018", 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" "debef2d11e9b730707fabcc84635124c9c15437af5b4295bc8600a002654f018" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling uuid v1.24.0
[INFO] [stderr]    Compiling vox-proof v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 28.49s
[INFO] running `Command { std: "docker" "inspect" "debef2d11e9b730707fabcc84635124c9c15437af5b4295bc8600a002654f018", 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" "debef2d11e9b730707fabcc84635124c9c15437af5b4295bc8600a002654f018" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.09s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/build/vox-proof/2037b3a320de442f/out/vox_proof-2037b3a320de442f)
[INFO] [stdout] 
[INFO] [stdout] running 300 tests
[INFO] [stdout] test analysis::tests::session_term_identity_tagged_string_known_value_locks_encoding ... ok
[INFO] [stdout] test analysis::tests::canonical_only_and_self_alias_have_distinct_session_term_identities ... ok
[INFO] [stdout] test analysis::tests::canonical_only_entries_bind_into_analysis_snapshot ... ok
[INFO] [stdout] test analysis::tests::entry_order_only_change_changes_session_term_identity ... ok
[INFO] [stdout] test analysis::tests::transcript_change_changes_snapshot ... ok
[INFO] [stdout] test calibration::tests::first_mismatch_wins_for_count_before_index ... ok
[INFO] [stdout] test calibration::tests::identical_multiple_cues_are_unchanged ... ok
[INFO] [stdout] test calibration::tests::identical_single_cue_is_unchanged ... ok
[INFO] [stdout] test calibration::tests::index_mismatch_is_refused ... ok
[INFO] [stdout] test calibration::tests::middle_text_change_is_recorded ... ok
[INFO] [stdout] test calibration::tests::raw_validation_issues_include_details_in_refusal_message ... ok
[INFO] [stdout] test calibration::tests::end_timing_mismatch_is_refused ... ok
[INFO] [stdout] test analysis::tests::canonical_only_entry_order_changes_session_term_identity ... ok
[INFO] [stdout] test calibration::tests::start_timing_mismatch_is_refused ... ok
[INFO] [stdout] test analysis::tests::alias_order_only_change_changes_session_term_identity ... ok
[INFO] [stdout] test calibration::tests::cue_count_mismatch_is_refused ... ok
[INFO] [stdout] test calibration::tests::json_serialization_is_byte_identical_for_identical_inputs ... ok
[INFO] [stdout] test analysis::tests::canonical_session_term_detector_set_order_is_deterministic ... ok
[INFO] [stdout] test calibration::tests::summary_invariants_hold ... ok
[INFO] [stdout] test analysis::tests::canonical_term_alias_and_error_form_changes_change_session_term_identity ... ok
[INFO] [stdout] test analysis::tests::detector_set_config_and_algorithm_changes_change_snapshot ... ok
[INFO] [stdout] test analysis::tests::detector_version_change_structurally_changes_detector_set_identity ... ok
[INFO] [stdout] test analysis::tests::equal_effective_inputs_produce_equal_snapshots ... ok
[INFO] [stdout] test analysis::tests::for_canonical_session_terms_binds_owned_canonical_profile ... ok
[INFO] [stdout] test analysis::tests::observed_error_order_only_change_changes_session_term_identity ... ok
[INFO] [stdout] test analysis::tests::session_term_identity_binds_entry_and_source_form_order ... ok
[INFO] [stdout] test calibration::tests::unicode_and_multiline_text_are_preserved_exactly ... ok
[INFO] [stdout] test calibration_join::tests::aggregate_two_candidates_one_edit_wires_summary_counts ... ok
[INFO] [stdout] test calibration_join::tests::ambiguous_component_two_cases_one_edit ... ok
[INFO] [stdout] test calibration_join::tests::correspondence_candidate_on_unchanged_cue_via_evaluate_path ... ok
[INFO] [stdout] test calibration_join::tests::aggregate_insertion_without_term_increments_unclassified_counts ... ok
[INFO] [stdout] test calibration_join::tests::aggregate_two_disconnected_ambiguous_components_wires_summary_count ... ok
[INFO] [stdout] test calibration_join::tests::aggregate_one_candidate_two_edits_wires_summary_counts ... ok
[INFO] [stdout] test calibration_join::tests::ambiguous_components_count_disconnected_separately ... ok
[INFO] [stdout] test calibration_join::tests::contained_occurrences_retain_overlaps_and_ordering ... ok
[INFO] [stdout] test calibration_join::tests::correspondence_candidate_contains_edit_via_evaluate_path ... ok
[INFO] [stdout] test calibration_join::tests::correspondence_changed_cue_no_overlap_via_evaluate_path ... ok
[INFO] [stdout] test analysis::tests::session_term_identity_distinguishes_length_prefix_concatenation_ambiguity ... ok
[INFO] [stdout] test analysis::tests::canonical_only_session_term_identity_is_deterministic ... ok
[INFO] [stdout] test calibration_join::tests::ambiguous_component_one_case_two_edits ... ok
[INFO] [stdout] test calibration_join::tests::cjk_replacement_locks_exact_utf8_byte_ranges ... ok
[INFO] [stdout] test calibration_join::tests::canonical_review_run_finds_asis_phonetic_case ... ok
[INFO] [stdout] test calibration_join::tests::authoritative_evaluation_snapshot_and_cases_share_run ... ok
[INFO] [stdout] test calibration_join::tests::exact_anchor_exact_alternative_counts_distinct_indexes ... ok
[INFO] [stdout] test calibration_join::tests::insertion_at_start_middle_and_end_are_classified ... ok
[INFO] [stdout] test calibration_join::tests::final_text_reconstructs_from_local_edits ... ok
[INFO] [stdout] test calibration_join::tests::correspondence_edit_contains_candidate_via_evaluate_path ... ok
[INFO] [stdout] test calibration_join::tests::aggregate_changed_edit_without_candidate_overlap_uses_term_scope_predicate ... ok
[INFO] [stdout] test calibration_join::tests::full_region_distinct_from_contained_occurrence ... ok
[INFO] [stdout] test calibration_join::tests::exclusive_write_refuses_existing_destination ... ok
[INFO] [stdout] test calibration_join::tests::insertion_can_carry_exact_final_side_term_scope ... ok
[INFO] [stdout] test calibration_join::tests::aggregate_insertion_with_term_does_not_increment_mechanically_unclassified ... ok
[INFO] [stdout] test calibration_join::tests::isolated_nodes_are_not_ambiguous_components ... ok
[INFO] [stdout] test calibration_join::tests::insertion_has_zero_candidate_overlap_and_counts_as_unclassified_without_terms ... ok
[INFO] [stdout] test calibration_join::tests::precomposed_and_decomposed_unicode_stay_distinct_without_normalization ... ok
[INFO] [stdout] test calibration_join::tests::empty_forms_are_excluded_from_term_scope_helpers ... ok
[INFO] [stdout] test calibration_join::tests::json_is_deterministic_for_identical_inputs ... ok
[INFO] [stdout] test calibration_join::tests::mismatched_snapshot_revision_fails_closed ... ok
[INFO] [stdout] test calibration_join::tests::correspondence_exact_alias_geometry_via_evaluate_path ... ok
[INFO] [stdout] test calibration_join::tests::unchanged_cue_produces_no_local_edits ... ok
[INFO] [stdout] test calibration_join::tests::every_non_empty_raw_edit_anchor_resolves ... ok
[INFO] [stdout] test calibration_join::tests::repeated_lcs_tie_produces_identical_deterministic_edits ... ok
[INFO] [stdout] test calibration_join::tests::multiline_middle_line_replacement_preserves_surrounding_newlines ... ok
[INFO] [stdout] test calibration_join::tests::structural_refusal_precedes_work_budget_refusal ... ok
[INFO] [stdout] test calibration_join::tests::multiple_disjoint_edits_in_one_cue ... ok
[INFO] [stdout] test calibration_join::tests::touching_half_open_boundaries_do_not_overlap ... ok
[INFO] [stdout] test calibration_join::tests::overlapping_ascii_forms_emit_multiple_occurrences ... ok
[INFO] [stdout] test calibration_join::tests::replacement_edit_is_detected ... ok
[INFO] [stdout] test calibration_join::tests::serialization_precedes_exclusive_create ... ok
[INFO] [stdout] test calibration_join::tests::work_budget_one_over_limit_refuses ... ok
[INFO] [stdout] test calibration_join::tests::work_budget_overflow_refuses_without_wrapping ... ok
[INFO] [stdout] test experimental_ranking::tests::fake_does_not_claim_lowest_distance_when_overlap_selects_a_worse_candidate ... ok
[INFO] [stdout] test experimental_ranking::tests::fake_ranking_is_deterministic_and_remains_non_authoritative ... ok
[INFO] [stdout] test calibration_join::tests::correspondence_partial_overlap_via_evaluate_path ... ok
[INFO] [stdout] test experimental_ranking::tests::malformed_and_unknown_external_responses_fall_back ... ok
[INFO] [stdout] test experimental_ranking::tests::oversized_request_is_rejected_before_spawn ... ok
[INFO] [stdout] test experimental_ranking::tests::rules_only_needs_no_credentials_and_has_no_selection ... ok
[INFO] [stdout] test calibration_join::tests::correspondence_phonetic_candidate_contains_edit_via_evaluate_path ... ok
[INFO] [stdout] test calibration_join::tests::correspondence_touching_ranges_create_no_edge_via_evaluate_path ... ok
[INFO] [stdout] test experimental_retrieval::tests::candidate_cap_applies_to_each_source_window ... ok
[INFO] [stdout] test experimental_retrieval::tests::default_profile_retains_longer_han_to_latin_transliterations ... ok
[INFO] [stdout] test experimental_retrieval::tests::default_profile_suppresses_short_han_to_short_acronym ... ok
[INFO] [stdout] test experimental_retrieval::tests::exact_alias_path_is_unaffected_by_experimental_profile ... ok
[INFO] [stdout] test experimental_retrieval::tests::latin_embedded_matching_is_case_insensitive_and_token_sequence_based ... ok
[INFO] [stdout] test experimental_ranking::tests::external_response_cross_fields_are_validated ... ok
[INFO] [stdout] test calibration_join::tests::deletion_at_start_middle_and_end_are_classified ... ok
[INFO] [stdout] test calibration_join::tests::emoji_multi_scalar_replacement_locks_component_byte_boundaries ... ok
[INFO] [stdout] test experimental_retrieval::tests::latin_profile_retains_typo_and_multi_token_corrections ... ok
[INFO] [stdout] test experimental_ranking::tests::unavailable_external_provider_falls_back_without_losing_candidate_boundary ... ok
[INFO] [stdout] test experimental_retrieval::tests::latin_retrieval_is_deterministic_under_both_profiles ... ok
[INFO] [stdout] test experimental_retrieval::tests::default_latin_profile_suppresses_embedded_target_candidate ... ok
[INFO] [stdout] test experimental_retrieval::tests::latin_windows_do_not_cross_incompatible_content ... ok
[INFO] [stdout] test experimental_retrieval::tests::latin_profile_does_not_change_exact_alias_review ... ok
[INFO] [stdout] test experimental_retrieval::tests::latin_profile_does_not_change_pinyin_retrieval ... ok
[INFO] [stdout] test experimental_retrieval::tests::non_exact_producers_reject_symbols_digits_and_mixed_pinyin_targets ... ok
[INFO] [stdout] test experimental_retrieval::tests::pinyin_auxiliary_is_bounded_and_keeps_anchor_details ... ok
[INFO] [stdout] test experimental_retrieval::tests::pinyin_primary_precedes_order_preserved_alternates ... ok
[INFO] [stdout] test experimental_retrieval::tests::profile_specific_retrieval_is_deterministic ... ok
[INFO] [stdout] test experimental_retrieval::tests::retrieval_is_deterministic_and_is_limited_to_session_terms ... ok
[INFO] [stdout] test experimental_retrieval::tests::symbols_require_explicit_exact_aliases_not_non_exact_retrieval ... ok
[INFO] [stdout] test phonetic::tests::active_detector_set_includes_phonetic_identity_in_order ... ok
[INFO] [stdout] test phonetic::tests::ambiguity_across_multiple_owners_is_suppressed ... ok
[INFO] [stdout] test phonetic::tests::ascii_representation_rejects_non_lowercase_ascii ... ok
[INFO] [stdout] test phonetic::tests::ascii_space_is_valid_token_separator ... ok
[INFO] [stdout] test phonetic::tests::canonical_only_and_self_alias_produce_same_canonical_phonetic_case ... ok
[INFO] [stdout] test experimental_ranking::tests::external_command_accepts_valid_direct_child_output ... ok
[INFO] [stdout] test experimental_retrieval::tests::unfiltered_latin_profile_retains_embedded_target_candidate ... ok
[INFO] [stdout] test experimental_retrieval::tests::unfiltered_profile_retains_short_han_to_short_acronym_baseline ... ok
[INFO] [stdout] test phonetic::tests::detection_identity_mismatch_cases_fail_closed ... ok
[INFO] [stdout] test persistence_evidence::metadata::tests::rejects_unsupported_contract_version ... ok
[INFO] [stdout] test phonetic::tests::cross_owner_normalized_duplicate_remains_ambiguous ... ok
[INFO] [stdout] test phonetic::tests::exact_alias_occurrence_is_suppressed ... ok
[INFO] [stdout] test phonetic::tests::exact_canonical_occurrence_is_suppressed ... ok
[INFO] [stdout] test phonetic::tests::exact_canonical_occurrence_with_canonical_only_entry_emits_no_case ... ok
[INFO] [stdout] test phonetic::tests::invalid_target_surfaces_are_excluded ... ok
[INFO] [stdout] test phonetic::tests::matched_key_is_lexicographically_first_distinct_overlap ... ok
[INFO] [stdout] test phonetic::tests::canonical_only_identity_mismatch_fails_closed_before_findings ... ok
[INFO] [stdout] test phonetic::tests::alias_target_maps_to_canonical_owner ... ok
[INFO] [stdout] test phonetic::tests::ascii_whitespace_only_exact_suppression ... ok
[INFO] [stdout] test phonetic::tests::exact_detectors_remain_unchanged_with_phonetic_profile ... ok
[INFO] [stdout] test phonetic::tests::canonical_only_asus_produces_expected_asis_evidence ... ok
[INFO] [stdout] test phonetic::tests::canonical_review_cases_remain_order_independent ... ok
[INFO] [stdout] test phonetic::tests::canonical_only_review_case_order_and_ids_ignore_entry_order ... ok
[INFO] [stdout] test phonetic::tests::matched_key_selection_is_independent_of_key_collection_order ... ok
[INFO] [stdout] test phonetic::tests::mixed_utf8_ascii_substring_runs_phonetic_path_without_panic ... ok
[INFO] [stdout] test phonetic::tests::case_only_exact_suppression ... ok
[INFO] [stdout] test phonetic::tests::negative_happy_does_not_match_api ... ok
[INFO] [stdout] test phonetic::tests::positive_postgre_sequel_matches_postgresql ... ok
[INFO] [stdout] test phonetic::tests::positive_postgre_sql_matches_postgresql ... ok
[INFO] [stdout] test phonetic::tests::positive_sequel_matches_sql ... ok
[INFO] [stdout] test phonetic::tests::same_owner_duplicate_collapse_is_input_order_independent ... ok
[INFO] [stdout] test phonetic::tests::same_owner_duplicate_collapse_prefers_canonical_over_alias ... ok
[INFO] [stdout] test phonetic::tests::negative_scale_does_not_match_sql ... ok
[INFO] [stdout] test phonetic::tests::mixed_zh_tw_ascii_latin_fixture_preserves_utf8_anchors_and_human_authority ... ok
[INFO] [stdout] test phonetic::tests::non_ascii_canonical_only_entry_is_valid_but_not_a_phonetic_target ... ok
[INFO] [stdout] test phonetic::tests::multiple_distinct_overlaps_select_lexicographic_first_key ... ok
[INFO] [stdout] test phonetic::tests::observed_error_forms_are_never_targets ... ok
[INFO] [stdout] test phonetic::tests::same_owner_winner_prefers_canonical_term_kind ... ok
[INFO] [stdout] test phonetic::tests::same_owner_winner_prefers_higher_permille ... ok
[INFO] [stdout] test phonetic::tests::same_owner_winner_prefers_smaller_edit_distance ... ok
[INFO] [stdout] test phonetic::tests::score_boundary_rejects_closest_below_threshold ... ok
[INFO] [stdout] test phonetic::tests::score_boundary_retains_exact_500_case ... ok
[INFO] [stdout] test phonetic::tests::split_acronym_and_symbol_inputs_are_ineligible ... ok
[INFO] [stdout] test phonetic::tests::structural_surface_accepts_token_length_two_in_multi_token_surface ... ok
[INFO] [stdout] test phonetic::tests::structural_surface_enforces_anchor_byte_boundaries ... ok
[INFO] [stdout] test phonetic::tests::nbsp_is_hard_boundary_for_source_windows ... ok
[INFO] [stdout] test phonetic::tests::structural_surface_enforces_normalized_length_boundaries ... ok
[INFO] [stdout] test phonetic::tests::structural_surface_enforces_per_token_length_boundaries ... ok
[INFO] [stdout] test phonetic::tests::negative_copper_does_not_match_kubernetes ... ok
[INFO] [stdout] test phonetic::tests::positive_cuber_netties_matches_kubernetes ... ok
[INFO] [stdout] test reviewed_output::tests::accept_alternative_replaces_candidate_anchor_range ... ok
[INFO] [stdout] test phonetic::tests::negative_postal_does_not_match_postgresql ... ok
[INFO] [stdout] test reviewed_output::tests::accepted_edits_across_different_segments_apply ... ok
[INFO] [stdout] test reviewed_output::tests::anchor_resolution_failure_refuses_output ... ok
[INFO] [stdout] test reviewed_output::tests::canonical_srt_serialization_preserves_index_timing_order_and_reviewed_text ... ok
[INFO] [stdout] test reviewed_output::tests::derives_unchanged_canonical_srt_when_there_are_no_accepted_decisions ... ok
[INFO] [stdout] test phonetic::tests::same_owner_winner_prefers_smaller_lowercase_surface ... ok
[INFO] [stdout] test phonetic::tests::structural_surface_rejects_four_token_windows ... ok
[INFO] [stdout] test phonetic::tests::same_owner_winner_prefers_smaller_original_surface ... ok
[INFO] [stdout] test reviewed_output::tests::non_overlapping_accepted_edits_in_same_segment_both_apply ... ok
[INFO] [stdout] test session_log::tests::accept_alternative_renders_alternative_index ... ok
[INFO] [stdout] test reviewed_output::tests::overlapping_accepted_edits_in_same_segment_refuse_output ... ok
[INFO] [stdout] test reviewed_output::tests::public_ledger_api_rejects_invalid_alternative_index_before_derivation ... ok
[INFO] [stdout] test session_log::tests::decision_log_rendering_is_independent_from_reviewed_output_derivation ... ok
[INFO] [stdout] test reviewed_output::tests::reject_produces_no_text_change ... ok
[INFO] [stdout] test session_log::tests::defer_renders_defer_decision ... ok
[INFO] [stdout] test session_log::tests::later_decisions_for_same_case_are_not_folded_away ... ok
[INFO] [stdout] test session_log::tests::multiple_events_render_in_append_order_with_one_based_numbering ... ok
[INFO] [stdout] test experimental_ranking::tests::external_command_drains_substantial_stderr_without_deadlock ... FAILED
[INFO] [stdout] test reviewed_output::tests::needs_manual_correction_produces_no_text_change ... ok
[INFO] [stdout] test session_log::tests::needs_manual_correction_renders_needs_manual_correction_decision ... ok
[INFO] [stdout] test reviewed_output::tests::defer_produces_no_text_change ... ok
[INFO] [stdout] test reviewed_output::tests::invalid_alternative_index_refuses_output ... ok
[INFO] [stdout] test session_log::tests::empty_ledger_renders_stable_header_and_trailing_newline ... ok
[INFO] [stdout] test session_summary::tests::aggregates_detector_provenance_by_id_and_version ... ok
[INFO] [stdout] test session_summary::tests::counts_accepted_replacements_and_unique_affected_segments ... ok
[INFO] [stdout] test session_summary::tests::counts_multiple_effective_decision_kinds ... ok
[INFO] [stdout] test calibration_join::tests::work_budget_exactly_at_limit_succeeds ... ok
[INFO] [stdout] test session_summary::tests::deterministic_rendering_from_typed_summary_data ... ok
[INFO] [stdout] test reviewed_output::tests::revision_mismatch_for_accept_alternative_refuses_output ... ok
[INFO] [stdout] test reviewed_output::tests::source_transcript_remains_unchanged_after_derivation ... ok
[INFO] [stdout] test session_terms::tests::canonical_only_entry_does_not_emit_missing_source_form ... ok
[INFO] [stdout] test session_log::tests::rendering_does_not_mutate_ledger ... ok
[INFO] [stdout] test session_terms::tests::does_not_add_canonical_term_as_alias ... ok
[INFO] [stdout] test session_log::tests::single_reject_decision_renders_event_fields ... ok
[INFO] [stdout] test session_terms::tests::canonical_only_pipeline_does_not_emit_missing_source_form ... ok
[INFO] [stdout] test session_summary::tests::formats_duration_with_unbounded_hours_and_milliseconds ... ok
[INFO] [stdout] test session_summary::tests::summary_uses_effective_last_decision_while_preserving_event_count ... ok
[INFO] [stdout] test session_summary::tests::zero_review_cases_render_zero_counts_and_empty_groups ... ok
[INFO] [stdout] test session_terms::tests::ignores_blank_and_comment_lines ... ok
[INFO] [stdout] test session_terms::tests::legacy_missing_source_form_variant_remains_available_for_compatibility ... ok
[INFO] [stdout] test session_terms::tests::rejects_duplicate_canonical_terms ... ok
[INFO] [stdout] test session_terms::tests::rejects_duplicate_aliases_within_one_entry ... ok
[INFO] [stdout] test session_terms::tests::legacy_self_referential_alias_remains_explicit_and_parseable ... ok
[INFO] [stdout] test session_terms::tests::parses_valid_alias_only_entry ... ok
[INFO] [stdout] test session_terms::tests::rejects_duplicate_aliases_across_entries ... ok
[INFO] [stdout] test session_terms::tests::parses_valid_observed_error_only_entry ... ok
[INFO] [stdout] test session_terms::tests::preserves_unicode_and_exact_case ... ok
[INFO] [stdout] test session_terms::tests::parses_unicode_canonical_only_entry ... ok
[INFO] [stdout] test session_terms::tests::rejects_empty_alias_value ... ok
[INFO] [stdout] test session_terms::tests::rejects_unknown_prefix ... ok
[INFO] [stdout] test session_terms::tests::reports_physical_source_line_numbers ... ok
[INFO] [stdout] test session_terms::tests::trims_surrounding_whitespace ... ok
[INFO] [stdout] test session_terms::tests::parses_canonical_only_ascii_entry_with_empty_source_forms ... ok
[INFO] [stdout] test session_terms::tests::rejects_empty_canonical_term ... ok
[INFO] [stdout] test session_terms::tests::valid_canonical_only_paths_never_emit_missing_source_form ... ok
[INFO] [stdout] test session_terms::tests::parses_mixed_alias_and_observed_error_entry ... ok
[INFO] [stdout] test session_terms::tests::rejects_unprefixed_source_form ... ok
[INFO] [stdout] test session_terms::tests::parses_mixed_entry_kinds_in_source_order ... ok
[INFO] [stdout] test tests::accept_alternative_records_decision_when_index_exists ... ok
[INFO] [stdout] test tests::accept_alternative_rejects_out_of_range_alternative_index ... ok
[INFO] [stdout] test tests::anchor_rejects_empty_range ... ok
[INFO] [stdout] test tests::candidate_key_differs_for_different_anchor ... ok
[INFO] [stdout] test session_terms::tests::rejects_duplicate_observed_error_forms ... ok
[INFO] [stdout] test tests::anchor_rejects_range_crossing_char_boundary ... ok
[INFO] [stdout] test tests::canonical_review_cases_are_independent_of_session_term_source_order ... ok
[INFO] [stdout] test tests::candidate_key_differs_for_different_detection_kind ... ok
[INFO] [stdout] test tests::candidate_key_is_stable_for_equal_detector_kind_and_anchor ... ok
[INFO] [stdout] test tests::combined_term_pipeline_rejects_cross_kind_duplicate_source_form ... ok
[INFO] [stdout] test tests::candidate_span_may_carry_zero_alternatives ... ok
[INFO] [stdout] test tests::anchor_rejects_out_of_bounds_range ... ok
[INFO] [stdout] test tests::decisions_for_one_case_do_not_affect_another_case ... ok
[INFO] [stdout] test tests::authoritative_pipeline_binds_owned_canonical_analysis_profile ... ok
[INFO] [stdout] test tests::detect_glossary_matches_ignores_non_matching_text ... ok
[INFO] [stdout] test tests::combined_term_pipeline_returns_both_detectors_in_source_order ... ok
[INFO] [stdout] test tests::detect_glossary_matches_proposes_canonical_term_as_non_binding_alternative ... ok
[INFO] [stdout] test tests::detect_glossary_matches_rejects_ambiguous_alias_configuration ... ok
[INFO] [stdout] test session_terms::tests::rejects_same_form_as_alias_and_observed_error ... ok
[INFO] [stdout] test session_terms::tests::rejects_same_source_form_mapping_to_different_canonical_terms ... ok
[INFO] [stdout] test session_terms::tests::rejects_empty_observed_error_value ... ok
[INFO] [stdout] test tests::anchor_rejects_unknown_segment ... ok
[INFO] [stdout] test tests::detector_provenance_uses_detector_identities_bound_in_active_set ... ok
[INFO] [stdout] test tests::direct_detector_finding_order_follows_source_term_order ... ok
[INFO] [stdout] test tests::detect_glossary_matches_finds_exact_alias_occurrence ... ok
[INFO] [stdout] test tests::exact_detector_rejects_mismatched_session_terms_identity ... ok
[INFO] [stdout] test tests::new_review_case_has_undecided_status ... ok
[INFO] [stdout] test tests::later_decision_supersedes_earlier_decision_for_same_case ... ok
[INFO] [stdout] test tests::exact_detector_rejects_mismatched_detector_set_config_and_algorithm_identity ... ok
[INFO] [stdout] test tests::detect_glossary_matches_produces_no_candidate_for_canonical_form_occurrence ... ok
[INFO] [stdout] test tests::anchor_resolves_to_expected_substring ... ok
[INFO] [stdout] test tests::normalized_view_preserves_segment_order_and_source_mapping ... ok
[INFO] [stdout] test tests::observed_error_detector_rejects_mismatched_analysis_run_revision ... ok
[INFO] [stdout] test tests::observed_error_matching_is_exact_case_sensitive_and_ignores_canonical_term ... ok
[INFO] [stdout] test tests::parse_srt_accepts_hours_with_more_than_two_digits ... ok
[INFO] [stdout] test tests::parse_srt_accepts_strict_timestamp_grammar ... ok
[INFO] [stdout] test tests::observed_error_detector_rejects_mismatched_session_terms_identity ... ok
[INFO] [stdout] test tests::parse_srt_converts_timestamp_components_to_ms ... ok
[INFO] [stdout] test tests::observed_error_form_match_has_distinct_typed_evidence_and_identity ... ok
[INFO] [stdout] test tests::detect_glossary_matches_finds_occurrences_across_segments ... ok
[INFO] [stdout] test tests::parse_srt_handles_crlf_line_endings ... ok
[INFO] [stdout] test tests::parse_srt_joins_multiline_text_with_newline ... ok
[INFO] [stdout] test tests::parse_srt_parses_blocks_in_order ... ok
[INFO] [stdout] test tests::parse_srt_preserves_empty_cue_text_as_validation_issue ... ok
[INFO] [stdout] test tests::detect_glossary_matches_anchor_resolves_to_matched_text ... ok
[INFO] [stdout] test tests::parse_srt_rejects_dot_millisecond_separator ... ok
[INFO] [stdout] test tests::detect_glossary_matches_rejects_empty_alias ... ok
[INFO] [stdout] test tests::parse_srt_rejects_extra_clock_components ... ok
[INFO] [stdout] test tests::detect_glossary_matches_rejects_mismatched_analysis_run_revision ... ok
[INFO] [stdout] test tests::parse_srt_rejects_malformed_timing ... ok
[INFO] [stdout] test tests::parse_srt_rejects_minutes_out_of_range ... ok
[INFO] [stdout] test tests::parse_srt_rejects_non_three_digit_milliseconds ... ok
[INFO] [stdout] test tests::parse_srt_treats_empty_text_as_validation_issue_not_parse_error ... ok
[INFO] [stdout] test tests::parse_srt_rejects_malformed_index ... ok
[INFO] [stdout] test tests::detect_glossary_matches_produces_typed_glossary_evidence ... ok
[INFO] [stdout] test tests::parse_srt_treats_index_gaps_as_validation_issue_not_parse_error ... ok
[INFO] [stdout] test tests::parse_srt_treats_reversed_timing_as_validation_issue_not_parse_error ... ok
[INFO] [stdout] test tests::recorded_status_preserves_observed_revision ... ok
[INFO] [stdout] test tests::parse_srt_rejects_one_digit_clock_fields ... ok
[INFO] [stdout] test tests::normalized_view_does_not_mutate_source_transcript ... ok
[INFO] [stdout] test tests::resolve_rejects_anchor_from_a_different_revision ... ok
[INFO] [stdout] test tests::normalized_view_is_identity_preserving_for_now ... ok
[INFO] [stdout] test tests::parse_srt_rejects_seconds_out_of_range ... ok
[INFO] [stdout] test tests::parse_srt_treats_duplicate_indices_as_validation_issue_not_parse_error ... ok
[INFO] [stdout] test tests::resolve_rejects_anchor_from_revision_before_add_segment ... ok
[INFO] [stdout] test tests::parse_srt_rejects_block_missing_timing ... ok
[INFO] [stdout] test tests::revision_id_differs_when_cue_index_changes ... ok
[INFO] [stdout] test tests::review_case_stores_no_mutable_status ... ok
[INFO] [stdout] test tests::review_case_wraps_exactly_one_candidate_span ... ok
[INFO] [stdout] test tests::revision_id_is_stable_for_equal_content ... ok
[INFO] [stdout] test tests::run_glossary_review_returns_empty_vec_for_empty_glossary ... ok
[INFO] [stdout] test tests::review_case_ids_are_assigned_deterministically_for_detector_cases ... ok
[INFO] [stdout] test tests::revision_id_differs_for_different_content ... ok
[INFO] [stdout] test tests::revision_id_known_value_locks_canonical_encoding ... ok
[INFO] [stdout] test tests::run_glossary_review_propagates_duplicate_alias_config_error ... ok
[INFO] [stdout] test tests::revision_id_matches_for_crlf_and_lf_equivalent_input ... ok
[INFO] [stdout] test tests::recording_reject_decides_that_case ... ok
[INFO] [stdout] test tests::reversed_range_returns_typed_duration_error ... ok
[INFO] [stdout] test tests::review_cases_preserve_one_to_one_mapping_and_order ... ok
[INFO] [stdout] test tests::transcript_collects_expected_validation_issue ... ok
[INFO] [stdout] test tests::transcript_segments_preserve_insertion_order ... ok
[INFO] [stdout] test tests::valid_segment_returns_positive_duration ... ok
[INFO] [stdout] test tests::validation_issue_and_anchor_share_segment_position_plane ... ok
[INFO] [stdout] test tests::run_glossary_review_returns_empty_vec_when_nothing_matches ... ok
[INFO] [stdout] test tests::zero_duration_segment_returns_zero ... ok
[INFO] [stdout] test tests::run_glossary_review_wraps_matches_as_review_cases ... ok
[INFO] [stdout] test experimental_ranking::tests::child_that_never_reads_large_stdin_times_out ... ok
[INFO] [stdout] test session_terms::tests::parses_multi_word_canonical_only_entry ... ok
[INFO] [stdout] test experimental_ranking::tests::external_command_nonzero_timeout_and_oversized_stdout_fall_back ... ok
[INFO] [stdout] test experimental_ranking::tests::child_can_emit_substantial_output_before_reading_large_stdin ... ok
[INFO] [stdout] test experimental_ranking::tests::inherited_descendant_pipe_returns_without_unbounded_reader_wait ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- experimental_ranking::tests::external_command_drains_substantial_stderr_without_deadlock stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'experimental_ranking::tests::external_command_drains_substantial_stderr_without_deadlock' (937) panicked at src/experimental_ranking.rs:816:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: Some(StdinWriteFailed)
[INFO] [stdout]  right: None
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5b4bd43c51e1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5b4bd43db02a - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5b4bd43c96cc - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5b4bd439f926 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5b4bd43bcab9 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5b4bd43428d0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5b4bd43bcc72 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5b4bd439f9d2 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5b4bd4398439 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5b4bd43a05dd - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5b4bd43db75c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5b4bd43db673 - core[a373ad73a504971]::panicking::assert_failed_inner
[INFO] [stdout]   12:     0x5b4bd42c360f - core[a373ad73a504971]::panicking::assert_failed::<core[a373ad73a504971]::option::Option<vox_proof[2a4ce57082c1301e]::experimental_ranking::ExperimentalRankingFailure>, core[a373ad73a504971]::option::Option<vox_proof[2a4ce57082c1301e]::experimental_ranking::ExperimentalRankingFailure>>
[INFO] [stdout]   13:     0x5b4bd4309ed9 - <vox_proof[2a4ce57082c1301e]::experimental_ranking::tests::external_command_drains_substantial_stderr_without_deadlock::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   14:     0x5b4bd4335d1b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   15:     0x5b4bd4342ef5 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   16:     0x5b4bd433c7e4 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   17:     0x5b4bd4345f82 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   18:     0x5b4bd43c44ff - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   19:     0x73690a75edfa - <unknown>
[INFO] [stdout]   20:     0x73690a7f23d4 - clone
[INFO] [stdout]   21:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     experimental_ranking::tests::external_command_drains_substantial_stderr_without_deadlock
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 299 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "debef2d11e9b730707fabcc84635124c9c15437af5b4295bc8600a002654f018", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "debef2d11e9b730707fabcc84635124c9c15437af5b4295bc8600a002654f018", kill_on_drop: false }`
[INFO] [stdout] debef2d11e9b730707fabcc84635124c9c15437af5b4295bc8600a002654f018
