[INFO] cloning repository https://github.com/lrslab/trackclusterTU
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/lrslab/trackclusterTU" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flrslab%2FtrackclusterTU", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flrslab%2FtrackclusterTU'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c1f421b3dbc42b429a8e4504d4f33bcfee60865d
[INFO] testing lrslab/trackclusterTU against 1.97.0-beta.6 for beta-1.98-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flrslab%2FtrackclusterTU" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/lrslab/trackclusterTU
[INFO] finished tweaking git repo https://github.com/lrslab/trackclusterTU
[INFO] tweaked toml for git repo https://github.com/lrslab/trackclusterTU written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/lrslab/trackclusterTU on toolchain 1.97.0-beta.6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/lrslab/trackclusterTU already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded noodles-sam v0.83.0
[INFO] [stderr]   Downloaded noodles-core v0.19.0
[INFO] [stderr]   Downloaded clap_lex v0.7.6
[INFO] [stderr]   Downloaded noodles v0.108.0
[INFO] [stderr]   Downloaded bit-vec v0.9.1
[INFO] [stderr]   Downloaded noodles-csi v0.55.0
[INFO] [stderr]   Downloaded noodles-bgzf v0.46.0
[INFO] [stderr]   Downloaded clap_derive v4.5.49
[INFO] [stderr]   Downloaded noodles-bam v0.87.0
[INFO] [stderr]   Downloaded clap v4.5.54
[INFO] [stderr]   Downloaded proptest v1.9.0
[INFO] [stderr]   Downloaded clap_builder v4.5.54
[INFO] [stderr]   Downloaded syn v2.0.113
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] a4fb8f0dea2a51191eb872c0f2a7b0ba5890da7db85d927c58034313532620b7
[INFO] running `Command { std: "docker" "start" "a4fb8f0dea2a51191eb872c0f2a7b0ba5890da7db85d927c58034313532620b7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a4fb8f0dea2a51191eb872c0f2a7b0ba5890da7db85d927c58034313532620b7", 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" "a4fb8f0dea2a51191eb872c0f2a7b0ba5890da7db85d927c58034313532620b7" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a4fb8f0dea2a51191eb872c0f2a7b0ba5890da7db85d927c58034313532620b7", 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" "a4fb8f0dea2a51191eb872c0f2a7b0ba5890da7db85d927c58034313532620b7" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.105
[INFO] [stderr]    Compiling quote v1.0.43
[INFO] [stderr]    Compiling lexical-util v1.0.7
[INFO] [stderr]    Compiling zlib-rs v0.6.3
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.20
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling bit-vec v0.9.1
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling anstyle-parse v0.2.7
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling zmij v1.0.12
[INFO] [stderr]    Compiling clap_lex v0.7.6
[INFO] [stderr]    Compiling anyhow v1.0.103
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling csv-core v0.1.13
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling trackclustertu v0.2.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling clap_builder v4.5.54
[INFO] [stderr]    Compiling noodles-core v0.19.0
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling syn v2.0.113
[INFO] [stderr]    Compiling lexical-parse-integer v1.0.6
[INFO] [stderr]    Compiling lexical-write-integer v1.0.6
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling lexical-parse-float v1.0.6
[INFO] [stderr]    Compiling lexical-write-float v1.0.6
[INFO] [stderr]    Compiling lexical-core v1.0.6
[INFO] [stderr]    Compiling csv v1.4.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling noodles-bgzf v0.46.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling noodles-csi v0.55.0
[INFO] [stderr]    Compiling noodles-sam v0.83.0
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling clap v4.5.54
[INFO] [stderr]    Compiling noodles-bam v0.87.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling noodles v0.108.0
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 27.09s
[INFO] running `Command { std: "docker" "inspect" "a4fb8f0dea2a51191eb872c0f2a7b0ba5890da7db85d927c58034313532620b7", 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" "a4fb8f0dea2a51191eb872c0f2a7b0ba5890da7db85d927c58034313532620b7" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.31
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling zerocopy-derive v0.8.31
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling noodles-sam v0.83.0
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling csv v1.4.0
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling unarray v0.1.4
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling rand v0.9.3
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling noodles-bam v0.87.0
[INFO] [stderr]    Compiling tempfile v3.24.0
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling noodles v0.108.0
[INFO] [stderr]    Compiling trackclustertu v0.2.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling proptest v1.9.0
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 40.40s
[INFO] running `Command { std: "docker" "inspect" "a4fb8f0dea2a51191eb872c0f2a7b0ba5890da7db85d927c58034313532620b7", 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" "a4fb8f0dea2a51191eb872c0f2a7b0ba5890da7db85d927c58034313532620b7" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.18s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/trackclustertu-1c30016ea002034b)
[INFO] [stdout] 
[INFO] [stdout] running 153 tests
[INFO] [stdout] test bam::tests::library_profile_rules_are_explicit_and_stable ... ok
[INFO] [stdout] test bam::tests::terminal_soft_clips_ignore_terminal_hard_clips ... ok
[INFO] [stdout] test cluster::representative::tests::tie_breaks_by_name ... ok
[INFO] [stdout] test endpoint::tests::ties_follow_the_explicit_direction ... ok
[INFO] [stdout] test count::tests::counts_split_duplicates_across_isoforms ... ok
[INFO] [stdout] test count::tests::count_csv_round_trips_adversarial_identifier ... ok
[INFO] [stdout] test cluster::representative::tests::prefers_longer_transcript ... ok
[INFO] [stdout] test interval::cluster_span::tests::cluster_by_span_keeps_interleaved_strand_partitions_open ... ok
[INFO] [stdout] test interval::intersect_sweep::tests::sweep_respects_min_overlap ... ok
[INFO] [stdout] test interval::intersect_sweep::tests::sweep_matches_naive_simple ... ok
[INFO] [stdout] test interval::cluster_span::tests::cluster_by_span_respects_strand_mode ... ok
[INFO] [stdout] test interval::cluster_span::tests::cluster_by_span_groups_overlapping_records ... ok
[INFO] [stdout] test interval::list_ops::tests::intersection_len_is_zero_for_touching_intervals ... ok
[INFO] [stdout] test interval::refine::tests::exonic_overlap_requires_matching_reference_and_strand ... ok
[INFO] [stdout] test interval::refine::tests::junction_subset_requires_matching_reference_and_strand ... ok
[INFO] [stdout] test io::bed::tests::bed12_reader_skips_invalid_utf8_comment_before_decoding ... ok
[INFO] [stdout] test interval::refine::tests::junction_subset_and_equal ... ok
[INFO] [stdout] test interval::list_ops::tests::union_len_matches_expected_on_simple_overlap ... ok
[INFO] [stdout] test bam::tests::pass_digest_rejects_same_count_and_key_set_with_changed_content ... ok
[INFO] [stdout] test interval::partition::tests::partition_splits_by_chrom_and_strand_when_match_strand ... ok
[INFO] [stdout] test interval::partition::tests::partition_splits_by_chrom_only_when_ignore_strand ... ok
[INFO] [stdout] test interval::refine::tests::exonic_overlap_bp_counts_shared_bases ... ok
[INFO] [stdout] test interval::sort::tests::sort_by_coord_is_stable ... ok
[INFO] [stdout] test io::bed::tests::bed12_rejects_empty_block ... ok
[INFO] [stdout] test io::bed::tests::bed12_rejects_block_past_transcript_end ... ok
[INFO] [stdout] test io::bed::tests::bed12_rejects_overlapping_blocks ... ok
[INFO] [stdout] test io::bed::tests::bed12_roundtrip_normalized ... ok
[INFO] [stdout] test io::bed::tests::bed12_reader_treats_invalid_utf8_as_a_recoverable_row_error ... ok
[INFO] [stdout] test bam::tests::profile_inference_is_conservative ... ok
[INFO] [stdout] test io::bed::tests::bed6_invalid_score_is_not_silently_normalized ... ok
[INFO] [stdout] test io::bed::tests::bed12_invalid_score_is_not_silently_normalized ... ok
[INFO] [stdout] test io::bed::tests::bed_reader_reports_invalid_score_line_number ... ok
[INFO] [stdout] test io::delimited::tests::byte_positions_inside_a_bad_record_map_to_that_record_start ... ok
[INFO] [stdout] test io::bed::tests::bed6_reader_skips_invalid_utf8_comment_before_decoding ... ok
[INFO] [stdout] test io::bed::tests::bed6_reader_treats_invalid_utf8_as_a_recoverable_row_error ... ok
[INFO] [stdout] test io::bed::tests::bed6_roundtrip_normalized ... ok
[INFO] [stdout] test io::delimited::tests::comments_are_ignored_without_losing_physical_line_context ... ok
[INFO] [stdout] test io::delimited::tests::csv_and_tsv_round_trip_adversarial_fields_and_trailing_empty ... ok
[INFO] [stdout] test io::delimited::tests::indented_comments_are_filtered_before_utf8_decoding ... ok
[INFO] [stdout] test interval::refine::tests::exonic_overlap_bp_is_zero_when_disjoint ... ok
[INFO] [stdout] test io::delimited::tests::malformed_records_report_path_record_and_physical_line ... ok
[INFO] [stdout] test io::gff::tests::gff_attributes_are_percent_decoded_without_form_url_rules ... ok
[INFO] [stdout] test io::gff::tests::gff_attributes_prefer_name ... ok
[INFO] [stdout] test io::gff::tests::write_gene_bed6_surfaces_flush_errors ... ok
[INFO] [stdout] test io::gff::tests::read_gff3_genes_reports_invalid_attribute_encoding_with_line ... ok
[INFO] [stdout] test model::transcript::tests::getters_expose_constructor_normalized_state ... ok
[INFO] [stdout] test io::gff::tests::read_gff3_genes_converts_gene_features_to_bed_coords ... ok
[INFO] [stdout] test io::gff::tests::read_gff3_genes_rejects_malformed_non_gene_row ... ok
[INFO] [stdout] test model::transcript::tests::transcript_rejects_empty_exons ... ok
[INFO] [stdout] test model::interval::tests::overlaps_half_open_truth_table ... ok
[INFO] [stdout] test model::transcript::tests::transcript_rejects_exons_outside_declared_span ... ok
[INFO] [stdout] test model::transcript::tests::transcript_rejects_overlapping_exons_after_sorting ... ok
[INFO] [stdout] test score::tests::score1_interval_is_one_for_identical ... ok
[INFO] [stdout] test model::transcript::tests::introns_from_exons ... ok
[INFO] [stdout] test score::tests::score1_interval_is_zero_for_disjoint ... ok
[INFO] [stdout] test score::tests::score2_interval_penalizes_containment_by_length_ratio ... ok
[INFO] [stdout] test model::transcript::tests::junction_signature_is_stable ... ok
[INFO] [stdout] test model::interval::tests::checked_bounds_are_exposed_immutably ... ok
[INFO] [stdout] test score::tests::scores_return_zero_when_denominator_is_zero ... ok
[INFO] [stdout] test tools::cluster_pipeline::config::tests::cluster_config_rejects_nonfinite_and_out_of_range_values ... ok
[INFO] [stdout] test tools::cluster_pipeline::config::tests::typed_configs_reject_zero_threads ... ok
[INFO] [stdout] test tools::cluster_pipeline::config::tests::cluster_config_reports_canonical_score_field_names ... ok
[INFO] [stdout] test tools::cluster_pipeline::input::tests::tsv_invalid_interval_is_quarantined_with_physical_line ... ok
[INFO] [stdout] test tools::cluster_pipeline::input::tests::bed6_good_bad_good_rows_continue_and_keep_locations ... ok
[INFO] [stdout] test tools::cluster_pipeline::input::tests::empty_contig_and_read_id_are_quarantined_without_stopping ... ok
[INFO] [stdout] test tools::cluster_pipeline::input::tests::duplicate_ids_quarantine_every_occurrence ... ok
[INFO] [stdout] test tools::cluster_pipeline::input::tests::identical_raw_ids_in_different_samples_remain_valid ... ok
[INFO] [stdout] test tools::cluster_pipeline::input::tests::manifest_evidence_sidecar_is_attached_to_exact_retained_reads ... ok
[INFO] [stdout] test tools::diagnose_missed_tus::detection::tests::invalid_detection_configuration_is_typed ... ok
[INFO] [stdout] test tools::cluster_pipeline::input::tests::zero_length_and_short_reads_are_recorded_by_filter ... ok
[INFO] [stdout] test tools::cluster_pipeline::input::tests::tsv_unknown_strand_is_quarantined_with_path_and_physical_line ... ok
[INFO] [stdout] test tools::diagnose_missed_tus::detection::tests::three_prime_family_diameter_can_be_explicitly_relaxed ... ok
[INFO] [stdout] test tools::diagnose_missed_tus::parsing::tests::invalid_same_id_rows_do_not_duplicate_quarantine_a_valid_read ... ok
[INFO] [stdout] test tools::diagnose_missed_tus::parsing::tests::invalid_utf8_bed_row_is_recorded_without_hiding_following_read ... ok
[INFO] [stdout] test tools::diagnose_missed_tus::parsing::tests::bed_read_errors_are_quarantined_and_later_good_rows_survive ... ok
[INFO] [stdout] test tools::cluster_pipeline::input::tests::tsv_invalid_utf8_record_does_not_hide_later_good_record ... ok
[INFO] [stdout] test tools::diagnose_missed_tus::tests::invalid_cli_values_fail_during_config_translation ... ok
[INFO] [stdout] test tools::diagnose_missed_tus::parsing::tests::v2_no_hard_assignments_are_typed_and_duplicates_still_fail ... ok
[INFO] [stdout] test tools::domain_records::tests::configurable_loader_preserves_duplicate_line_context ... ok
[INFO] [stdout] test model::interval::tests::empty_intervals_never_overlap ... ok
[INFO] [stdout] test tools::diagnose_missed_tus::detection::tests::three_prime_families_do_not_single_link_across_the_diameter ... ok
[INFO] [stdout] test tools::membership::tests::ambiguous_fractional_rows_allow_more_than_two_consistent_candidates ... ok
[INFO] [stdout] test tools::cluster_pipeline::config::tests::cluster_config_enforces_output_requirements_without_clap ... ok
[INFO] [stdout] test tools::membership::tests::exact_identifier_bytes_and_supported_short_v2_rows_are_preserved ... ok
[INFO] [stdout] test tools::membership::tests::membership_writer_round_trips_quoted_v2_fields_and_fractions ... ok
[INFO] [stdout] test tools::membership::tests::unsupported_schema_versions_are_not_silently_legacy ... ok
[INFO] [stdout] test model::interval::tests::overlap_is_symmetric ... ok
[INFO] [stdout] test tools::membership::tests::metadata_scan_ignores_hash_lines_inside_quoted_multiline_fields ... ok
[INFO] [stdout] test tools::membership::tests::partially_present_v2_audit_columns_are_rejected ... ok
[INFO] [stdout] test tools::membership::tests::v1_and_v2_memberships_share_quoted_parser_and_no_hard_semantics ... ok
[INFO] [stdout] test tools::membership::tests::fractional_comma_ids_are_rejected_on_read_and_write ... ok
[INFO] [stdout] test tools::cluster_pipeline::input::tests::bed12_good_bad_good_rows_continue ... ok
[INFO] [stdout] test interval::list_ops::tests::intersection_and_union_match_naive ... ok
[INFO] [stdout] test tools::run_manifest::tests::serialization_is_deterministic_except_for_the_supplied_timestamp ... ok
[INFO] [stdout] test io::delimited::tests::comment_tracking_memory_is_bounded_by_one_physical_line ... ok
[INFO] [stdout] test tools::run_manifest::tests::source_revision_uses_compile_time_metadata ... ok
[INFO] [stdout] test tools::trackclustertu::tests::concurrent_mapper_and_sorter_split_the_thread_budget ... ok
[INFO] [stdout] test tools::trackclustertu::tests::deprecated_minimap2_args_conflicts_with_lossless_form ... ok
[INFO] [stdout] test tools::trackclustertu::tests::minimap2_defaults_precede_additional_arguments ... ok
[INFO] [stdout] test tools::trackclustertu::tests::repeated_minimap2_arguments_accept_non_utf8_os_values ... ok
[INFO] [stdout] test tu::multi::tests::counter_keeps_hard_and_fractional_semantics_separate ... ok
[INFO] [stdout] test tools::trackclustertu::tests::repeated_minimap2_arguments_preserve_spaces_and_boundaries ... ok
[INFO] [stdout] test tu::multi::tests::filtering_retains_every_aligned_metric_row ... ok
[INFO] [stdout] test tu::multi::tests::counter_aggregates_sample_and_group_counts ... ok
[INFO] [stdout] test tools::output_transaction::tests::commit_replaces_outputs_as_a_set_and_removes_absent_optional_output ... ok
[INFO] [stdout] test tools::membership::tests::full_v2_rows_reject_contradictory_audit_fields ... ok
[INFO] [stdout] test tools::output_transaction::tests::drop_preserves_existing_output_and_removes_staging ... ok
[INFO] [stdout] test tools::output_transaction::tests::rejects_duplicate_outputs_before_truncation ... ok
[INFO] [stdout] test tools::run_manifest::tests::fingerprints_sha256_and_json_escapes_strings ... ok
[INFO] [stdout] test tu::multi::tests::parse_manifest_rejects_duplicate_samples ... ok
[INFO] [stdout] test tu::multi::tests::manifest_round_trips_quoted_delimiters_quotes_and_line_breaks ... ok
[INFO] [stdout] test tools::output_transaction::tests::rejects_output_that_aliases_input ... ok
[INFO] [stdout] test tu::multi::tests::parse_manifest_preserves_empty_trailing_group_field ... ok
[INFO] [stdout] test tools::run_manifest::tests::publisher_replaces_the_manifest_as_one_atomic_file ... ok
[INFO] [stdout] test tu::multi::tests::parse_manifest_resolves_relative_paths_and_groups ... ok
[INFO] [stdout] test tu::tests::default_three_prime_tolerance_merges_plus_strand_near_matches ... ok
[INFO] [stdout] test tu::tests::adjacent_endpoint_windows_do_not_chain_without_a_matching_anchor ... ok
[INFO] [stdout] test tu::tests::assignment_evidence_is_deterministic_under_tu_permutations ... ok
[INFO] [stdout] test tu::tests::clustering_is_identical_across_rayon_thread_counts ... ok
[INFO] [stdout] test tu::tests::bounded_consensus_families_are_permutation_and_mirror_deterministic ... ok
[INFO] [stdout] test tu::tests::contained_only_match_is_partial_and_filtered_candidates_are_unassigned ... ok
[INFO] [stdout] test tu::tests::default_three_prime_tolerance_merges_minus_strand_near_matches ... ok
[INFO] [stdout] test tu::tests::equal_length_attachment_chooses_representative_deterministically ... ok
[INFO] [stdout] test tu::tests::clustering_result_accessors_preserve_alignment ... ok
[INFO] [stdout] test tu::tests::default_score2_avoids_overmerging_short_contained_reads ... ok
[INFO] [stdout] test tools::run_manifest::tests::captures_version_from_an_executable_path_containing_spaces ... ok
[INFO] [stdout] test tu::tests::exact_assignment_tie_is_ambiguous_not_lexically_resolved ... ok
[INFO] [stdout] test tu::tests::five_prime_delta_override_can_merge_minus_strand_near_matches ... ok
[INFO] [stdout] test tu::tests::five_prime_delta_override_can_merge_plus_strand_near_matches ... ok
[INFO] [stdout] test tu::tests::five_prime_override_cannot_bypass_three_prime_tolerance ... ok
[INFO] [stdout] test tu::tests::five_prime_delta_override_respects_the_requested_cap ... ok
[INFO] [stdout] test tu::tests::best_parent_ties_use_representative_id_independent_of_input_order ... ok
[INFO] [stdout] test tu::tests::fractional_tie_weights_sum_exactly_to_one ... ok
[INFO] [stdout] test tu::tests::low_support_read_cannot_bridge_two_high_support_modes ... ok
[INFO] [stdout] test tu::tests::mirrored_minus_strand_attachment_matches_plus_strand ... ok
[INFO] [stdout] test tu::tests::five_prime_override_uses_absolute_strand_aware_delta ... ok
[INFO] [stdout] test tu::tests::five_prime_delta_override_does_not_block_normal_score2_merges ... ok
[INFO] [stdout] test tu::tests::near_tie_respects_configured_ambiguity_margin ... ok
[INFO] [stdout] test tu::tests::score2_can_attach_near_full_length_reads_when_threshold_is_relaxed ... ok
[INFO] [stdout] test tu::tests::score1_daisy_chain_is_split_by_the_final_consensus_invariant ... ok
[INFO] [stdout] test tu::tests::endpoint_mode_preserves_repeated_full_boundaries_amid_distinct_truncations ... ok
[INFO] [stdout] test tu::tests::same_genomic_start_containment_attaches_on_both_strands ... ok
[INFO] [stdout] test tu::tests::second_pass_attachment_is_independent_of_genomic_and_input_order ... ok
[INFO] [stdout] test tu::tests::score1_only_keeps_contained_reads_as_separate_tus ... ok
[INFO] [stdout] test tu::tests::three_prime_gap_beyond_tolerance_stays_split ... ok
[INFO] [stdout] test tools::cluster_pipeline::orchestration::tests::typed_recount_api_matches_cli_boundary_byte_for_byte ... ok
[INFO] [stdout] test tu::tests::emitted_boundary_is_consensus_and_longest_read_is_only_the_example ... ok
[INFO] [stdout] test tools::cluster_pipeline::orchestration::tests::typed_cluster_api_matches_cli_boundary_byte_for_byte ... ok
[INFO] [stdout] test io::delimited::tests::data_record_tracking_is_pruned_as_records_are_consumed ... ok
[INFO] [stdout] test interval::intersect_sweep::tests::sweep_matches_naive_random ... ok
[INFO] [stdout] test tu::tests::plus_minus_mirroring_preserves_assignments ... ok
[INFO] [stdout] test tu::tests::random_input_permutations_preserve_assignments ... ok
[INFO] [stdout] test tools::diagnose_missed_tus::detection::tests::indexed_five_prime_modes_match_reference_algorithm ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 153 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.53s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/trackclustertu.rs (/opt/rustwide/target/debug/deps/trackclustertu-b1833a5649bfda11)
[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/rescue_integrity.rs (/opt/rustwide/target/debug/deps/rescue_integrity-2dd79e7c1553122e)
[INFO] [stdout] 
[INFO] [stdout] running 16 tests
[INFO] [stdout] test duplicate_read_id_copies_are_quarantined_and_recorded ... ok
[INFO] [stdout] test malformed_bed_read_is_skipped_without_turning_its_membership_into_a_global_error ... ok
[INFO] [stdout] test membership_foreign_keys_preserve_surrounding_identifier_spaces ... ok
[INFO] [stdout] test rescued_v2_rows_are_canonical_and_preserve_full_length_evidence ... ok
[INFO] [stdout] test no_rescue_preserves_canonical_v2_rows_and_zero_hard_count_tus ... ok
[INFO] [stdout] test rescue_ids_skip_existing_ids_and_outputs_remain_consistent ... ok
[INFO] [stdout] test v2_ambiguous_and_unassigned_rows_have_no_hard_existing_tu_foreign_key ... ok
[INFO] [stdout] test declared_empty_v2_membership_promotes_missing_rows_as_canonical_v2 ... ok
[INFO] [stdout] test mixed_marker_reflects_retained_output_rows_not_quarantined_input_rows ... ok
[INFO] [stdout] test invalid_same_id_rows_do_not_remove_valid_rescue_read_or_break_tu_membership ... ok
[INFO] [stdout] test strict_read_errors_preserves_fail_fast_duplicate_behavior ... ok
[INFO] [stdout] test duplicate_existing_tu_id_fails_before_outputs_are_created ... ok
[INFO] [stdout] test membership_foreign_keys_fail_with_line_context ... ok
[INFO] [stdout] test duplicate_membership_read_id_fails_instead_of_overwriting_a_row ... ok
[INFO] [stdout] test all_v2_membership_tu_references_are_foreign_keys ... ok
[INFO] [stdout] test invalid_rescue_prefixes_fail_before_outputs_are_created ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.32s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/trackclustertu_ambiguity.rs (/opt/rustwide/target/debug/deps/trackclustertu_ambiguity-8332ef6a740e63ef)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stderr]      Running tests/trackclustertu_annotation.rs (/opt/rustwide/target/debug/deps/trackclustertu_annotation-997c868a60a507b5)
[INFO] [stdout] test reports_ambiguity_fractions_unassigned_reads_and_endpoint_evidence_deterministically ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stderr]      Running tests/trackclustertu_bam_to_bed.rs (/opt/rustwide/target/debug/deps/trackclustertu_bam_to_bed-fb5cd66390147def)
[INFO] [stdout] test trackclustertu_writes_gene_anchored_outputs ... ok
[INFO] [stdout] test trackclustertu_merges_overlapping_gene_blocks_in_anchored_bed12 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 15 tests
[INFO] [stdout] test bam_library_api_reports_typed_config_and_evidence_errors ... ok
[INFO] [stdout] test intact_malformed_record_is_skipped_between_valid_records ... ok
[INFO] [stdout] test bam_library_api_preserves_bam_open_and_output_context ... ok
[INFO] [stdout] test bam_library_api_distinguishes_header_and_record_decode_failures ... ok
[INFO] [stdout] test coordinate_sorted_boundary_support_uses_two_pass_evidence_and_single_counts ... ok
[INFO] [stdout] test trackclustertu_bam_to_bed_subcommand_converts_primary_alignments_to_bed6 ... ok
[INFO] [stdout] test trackclustertu_bam_to_bed_filters_low_exact_boundary_support ... ok
[INFO] [stdout] test two_pass_support_skips_malformed_record_once_and_keeps_later_reads ... ok
[INFO] [stdout] test trackclustertu_bam_to_bed_emits_versioned_evidence_and_deterministic_counters ... ok
[INFO] [stdout] test coordinate_sorted_bam_streams_and_validates_record_order ... ok
[INFO] [stdout] test trackclustertu_bam_to_bed_rejects_output_aliasing_input_without_truncation ... ok
[INFO] [stdout] test trackclustertu_bam_to_bed_manifest_rejects_sanitized_name_collisions ... ok
[INFO] [stdout] test trackclustertu_bam_manifest_accepts_optional_evidence_and_profile_columns ... ok
[INFO] [stdout] test falsely_coordinate_sorted_bam_fails_without_replacing_prior_output ... ok
[INFO] [stdout] test large_coordinate_sorted_evidence_and_support_smoke_test ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.85s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/trackclustertu_cli.rs (/opt/rustwide/target/debug/deps/trackclustertu_cli-c182a221c2186edc)
[INFO] [stdout] 
[INFO] [stdout] running 20 tests
[INFO] [stdout] test diagnose_skips_bad_bed_reads_and_writes_overridden_rejection_report ... ok
[INFO] [stdout] test trackclustertu_recount_help_is_count_only ... ok
[INFO] [stdout] test trackclustertu_run_help_shows_canonical_score_flags_and_compatibility_aliases ... ok
[INFO] [stdout] test trackclustertu_rescue_help_exposes_documented_defaults ... ok
[INFO] [stdout] test trackclustertu_top_level_help_lists_diagnose_missed_tus ... ok
[INFO] [stdout] test cluster_skips_unknown_strand_records_it_and_continues ... ok
[INFO] [stdout] test trackclustertu_cluster_help_hides_recount_only_and_fastq_options ... ok
[INFO] [stdout] test all_invalid_reads_publish_empty_outputs_and_complete_rejection_report ... ok
[INFO] [stdout] test trackclustertu_top_level_version_includes_binary_name ... ok
[INFO] [stdout] test trackclustertu_cluster_can_override_three_prime_tolerance ... ok
[INFO] [stdout] test cluster_creates_nested_output_directories ... ok
[INFO] [stdout] test trackclustertu_can_skip_score2_attachment ... ok
[INFO] [stdout] test cluster_rejects_output_aliasing_input_without_truncating_input ... ok
[INFO] [stdout] test strict_read_errors_restores_transactional_failure ... ok
[INFO] [stdout] test trackclustertu_diagnose_missed_tus_reports_same_3p_missing_5p_mode ... ok
[INFO] [stdout] test trackclustertu_clusters_and_writes_outputs ... ok
[INFO] [stdout] test late_annotation_error_preserves_prior_outputs_and_publishes_no_partial_set ... ok
[INFO] [stdout] test trackclustertu_cluster_can_override_five_prime_delta ... ok
[INFO] [stdout] test trackclustertu_rescue_missed_tus_promotes_boundary_mode ... ok
[INFO] [stdout] test cluster_rejects_duplicate_output_paths_without_truncating_existing_file ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stderr]      Running tests/trackclustertu_fastq_rejected.rs (/opt/rustwide/target/debug/deps/trackclustertu_fastq_rejected-f59a0357475075e2)
[INFO] [stdout] test trackclustertu_rejects_fastq_manifest_inputs ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/trackclustertu_gff_to_bed.rs (/opt/rustwide/target/debug/deps/trackclustertu_gff_to_bed-fd07bd0081dece62)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test trackclustertu_gff_to_bed_subcommand_converts_gene_features ... ok
[INFO] [stdout] test trackclustertu_gff_to_bed_rejects_output_aliasing_input_without_truncation ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/trackclustertu_min_tu_count.rs (/opt/rustwide/target/debug/deps/trackclustertu_min_tu_count-3a635488d35cf87e)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test trackclustertu_filters_low_support_tus ... ok
[INFO] [stdout] 
[INFO] [stderr]      Running tests/trackclustertu_multisample.rs (/opt/rustwide/target/debug/deps/trackclustertu_multisample-2540111bd3cb3263)
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test trackclustertu_skips_group_matrix_when_manifest_has_no_group_column ... ok
[INFO] [stdout] test rescued_v2_membership_recounts_promotions_and_untouched_fractions ... ok
[INFO] [stdout] test trackclustertu_clusters_manifest_and_writes_sample_tables ... ok
[INFO] [stdout] test trackclustertu_recounts_multi_sample_tables_from_pooled_membership ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/trackclustertu_reproducibility.rs (/opt/rustwide/target/debug/deps/trackclustertu_reproducibility-1af73c8cd4917553)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test map_and_run_write_reproducible_atomic_manifests ... ok
[INFO] [stderr]      Running tests/trackclustertu_run.rs (/opt/rustwide/target/debug/deps/trackclustertu_run-33e5747593a583d0)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test trackclustertu_run_forwards_three_prime_tolerance_to_cluster ... ok
[INFO] [stdout] test trackclustertu_run_executes_full_pipeline_with_fake_mapper_tools ... ok
[INFO] [stdout] test trackclustertu_run_forwards_five_prime_delta_to_cluster ... ok
[INFO] [stdout] test trackclustertu_run_can_skip_score2_attachment ... ok
[INFO] [stdout] 
[INFO] [stderr]      Running tests/trackclustertu_semantics.rs (/opt/rustwide/target/debug/deps/trackclustertu_semantics-009fd661309256e5)
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test semantics_cover_directionality_multilabels_antisense_and_gff3_escaping ... ok
[INFO] [stdout] test stable_ids_survive_filtering_and_sequential_mode_is_auditable ... ok
[INFO] [stderr]    Doc-tests trackclustertu
[INFO] [stdout] test overlap_policy_filters_relationships_and_invalid_fractions_publish_nothing ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test src/score.rs - score::score1_interval (line 13) ... ok
[INFO] [stdout] test src/score.rs - score::score1_intervals (line 56) ... ok
[INFO] [stdout] test src/tu/mod.rs - tu::cluster_tus (line 1463) ... ok
[INFO] [stdout] test src/bam.rs - bam::LibraryProfile::inferred_full_length_rule (line 335) ... ok
[INFO] [stdout] test src/interval/list_ops.rs - interval::list_ops::intersection_len (line 30) ... ok
[INFO] [stdout] test src/model/interval.rs - model::interval::Interval (line 12) ... ok
[INFO] [stdout] test src/io/bed.rs - io::bed::write_bed6_to_writer (line 581) ... ok
[INFO] [stdout] test src/lib.rs - endpoint (line 24) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.51s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "a4fb8f0dea2a51191eb872c0f2a7b0ba5890da7db85d927c58034313532620b7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a4fb8f0dea2a51191eb872c0f2a7b0ba5890da7db85d927c58034313532620b7", kill_on_drop: false }`
[INFO] [stdout] a4fb8f0dea2a51191eb872c0f2a7b0ba5890da7db85d927c58034313532620b7
