[INFO] fetching crate dep-assay 1.6.0...
[INFO] testing dep-assay-1.6.0 against 1.97.0-beta.6 for beta-1.98-1
[INFO] extracting crate dep-assay 1.6.0 into /workspace/builds/worker-4-tc1/source
[INFO] started tweaking crates.io crate dep-assay 1.6.0
[INFO] finished tweaking crates.io crate dep-assay 1.6.0
[INFO] tweaked toml for crates.io crate dep-assay 1.6.0 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate dep-assay 1.6.0 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 crates.io crate dep-assay 1.6.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" "+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 cargo-platform v0.1.9
[INFO] [stderr]   Downloaded cargo_metadata v0.18.1
[INFO] [stderr]   Downloaded libyml v0.0.5
[INFO] [stderr]   Downloaded camino v1.2.2
[INFO] [stderr]   Downloaded serde_yml v0.0.12
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 8b6af1b102256162be51c3ce357506f2bba02895cd195617b675b2be982bf748
[INFO] running `Command { std: "docker" "start" "8b6af1b102256162be51c3ce357506f2bba02895cd195617b675b2be982bf748", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8b6af1b102256162be51c3ce357506f2bba02895cd195617b675b2be982bf748", 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" "8b6af1b102256162be51c3ce357506f2bba02895cd195617b675b2be982bf748" "/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" "8b6af1b102256162be51c3ce357506f2bba02895cd195617b675b2be982bf748", 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" "8b6af1b102256162be51c3ce357506f2bba02895cd195617b675b2be982bf748" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling camino v1.2.2
[INFO] [stderr]    Compiling serde_yml v0.0.12
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling libyml v0.0.5
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling semver v1.0.28
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling cargo-platform v0.1.9
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling cargo_metadata v0.18.1
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling dep-assay v1.6.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 34.32s
[INFO] running `Command { std: "docker" "inspect" "8b6af1b102256162be51c3ce357506f2bba02895cd195617b675b2be982bf748", 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" "8b6af1b102256162be51c3ce357506f2bba02895cd195617b675b2be982bf748" "/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 dep-assay v1.6.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 17.86s
[INFO] running `Command { std: "docker" "inspect" "8b6af1b102256162be51c3ce357506f2bba02895cd195617b675b2be982bf748", 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" "8b6af1b102256162be51c3ce357506f2bba02895cd195617b675b2be982bf748" "/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.13s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/assay-c10cc35c1ca598bf)
[INFO] [stdout] 
[INFO] [stdout] running 757 tests
[INFO] [stdout] test apply_merger::drop_group_tests::build_drop_groups_keeps_cohort_members_together ... ok
[INFO] [stdout] test apply_merger::drop_group_tests::build_drop_groups_mixes_solo_and_cohort ... ok
[INFO] [stdout] test apply_merger::tests::build_ship_plan_passes_through_single_green_per_ecosystem ... ok
[INFO] [stdout] test apply_merger::tests::safe_tree_label_collapses_dashes ... ok
[INFO] [stdout] test apply_merger::tests::build_ship_plan_skips_reds ... ok
[INFO] [stdout] test apply_merger::tests::build_ship_plan_skips_merge_when_ecosystem_declares_redundant ... ok
[INFO] [stdout] test cli::args::parse_dep_spec_tests::parses_build_metadata_version ... ok
[INFO] [stdout] test cli::args::parse_dep_spec_tests::parses_prerelease_version ... ok
[INFO] [stdout] test apply_merger::tests::short_hash_is_stable_for_same_proposal_ids ... ok
[INFO] [stdout] test apply_merger::tests::safe_tree_label_normalizes_uppercase_and_non_alnum ... ok
[INFO] [stdout] test cli::args::parse_dep_spec_tests::parses_plain_cargo_name ... ok
[INFO] [stdout] test cli::args::parse_dep_spec_tests::parses_scoped_npm_name ... ok
[INFO] [stdout] test cli::args::parse_dep_spec_tests::rejects_empty_name_with_scope_marker ... ok
[INFO] [stdout] test cli::args::parse_dep_spec_tests::rejects_empty_spec ... ok
[INFO] [stdout] test cli::args::parse_dep_spec_tests::rejects_bare_scope_without_version ... ok
[INFO] [stdout] test cli::args::parse_dep_spec_tests::rejects_empty_version ... ok
[INFO] [stdout] test cli::reporting::failure_cluster_tests::format_failure_clusters_section_returns_none_when_empty ... ok
[INFO] [stdout] test cli::tests::aggregate_cache_counts_handles_all_cached ... ok
[INFO] [stdout] test cli::reporting::failure_cluster_tests::format_failure_clusters_section_renders_multiple_clusters ... ok
[INFO] [stdout] test cli::tests::aggregate_cache_counts_returns_zero_when_no_runs ... ok
[INFO] [stdout] test cli::tests::aggregate_cache_counts_sums_across_proposals ... ok
[INFO] [stdout] test cli::tests::apply_mode_helpers_match_documented_matrix ... ok
[INFO] [stdout] test cli::tests::build_work_units_isolates_different_cohorts_in_same_scan_root ... ok
[INFO] [stdout] test cli::tests::build_work_units_isolates_different_scan_roots ... ok
[INFO] [stdout] test apply_merger::drop_group_tests::build_drop_groups_treats_singleton_cohort_as_solo ... ok
[INFO] [stdout] test cli::tests::build_validator_uses_custom_backend_for_gate_file ... ok
[INFO] [stdout] test cli::tests::analyze_rejects_host_executor_for_apply_without_explicit_unsafe_flag ... ok
[INFO] [stdout] test cli::args::parse_dep_spec_tests::rejects_missing_at_separator ... ok
[INFO] [stdout] test cli::tests::build_work_units_collapses_multi_member_cohort_into_one_unit ... ok
[INFO] [stdout] test cli::tests::apply_mode_from_args_picks_validate_when_flag_set ... ok
[INFO] [stdout] test cli::reporting::failure_cluster_tests::format_failure_clusters_section_renders_cluster_count_and_ids ... ok
[INFO] [stdout] test cli::tests::build_work_units_keeps_non_cohort_proposals_individual ... ok
[INFO] [stdout] test cli::tests::consumers_suffix_empty_for_zero_consumers ... ok
[INFO] [stdout] test cli::tests::consumers_suffix_singular_label_for_one ... ok
[INFO] [stdout] test cli::tests::consumers_suffix_truncates_to_first_four_with_overflow_marker ... ok
[INFO] [stdout] test cli::tests::ecosystem_enabled_with_all_selector_includes_all ... ok
[INFO] [stdout] test cli::tests::does_not_warn_when_lockfile_present ... ok
[INFO] [stdout] test cli::tests::does_not_warn_for_non_cargo_ecosystems ... ok
[INFO] [stdout] test cli::tests::build_validator_errors_for_empty_dir_when_no_gate_override ... ok
[INFO] [stdout] test cli::tests::ecosystem_enabled_with_cargo_selector_excludes_gha ... ok
[INFO] [stdout] test cli::tests::ensure_labels_auto_creates_missing_when_create_succeeds ... ok
[INFO] [stdout] test cli::tests::build_work_units_singleton_cohort_stays_individual ... ok
[INFO] [stdout] test cli::tests::consumers_suffix_plural_label_and_sorted_alphabetical ... ok
[INFO] [stdout] test cli::tests::ensure_labels_keeps_existing_without_attempting_create ... ok
[INFO] [stdout] test cli::tests::ensure_labels_drops_labels_whose_create_fails ... ok
[INFO] [stdout] test cli::tests::ensure_labels_drops_all_when_list_labels_errors ... ok
[INFO] [stdout] test cli::tests::ensure_labels_returns_empty_when_no_labels_requested ... ok
[INFO] [stdout] test cli::tests::filter_reviewers_drops_non_collaborator_users ... ok
[INFO] [stdout] test cli::tests::filter_reviewers_mixed_keeps_teams_and_extant_users ... ok
[INFO] [stdout] test cli::tests::filter_reviewers_on_list_error_drops_users_keeps_teams ... ok
[INFO] [stdout] test cli::tests::filter_reviewers_passes_team_reviewers_through_without_collab_check ... ok
[INFO] [stdout] test cli::tests::build_failure_clusters_skips_passing_and_unvalidated_runs ... ok
[INFO] [stdout] test cli::tests::filter_reviewers_returns_empty_when_none_requested ... ok
[INFO] [stdout] test cli::tests::insteadof_check_handles_multi_valued_config_with_trailing_newline ... ok
[INFO] [stdout] test cli::tests::host_executor_safety_gate_is_waived_when_gate_override_present ... ok
[INFO] [stdout] test cli::tests::parse_cache_ttl_bare_number_treated_as_seconds ... ok
[INFO] [stdout] test cli::tests::parse_cache_ttl_accepts_supported_units ... ok
[INFO] [stdout] test cli::tests::build_failure_clusters_returns_empty_when_no_shared_failures ... ok
[INFO] [stdout] test cli::tests::parse_cli_accepts_analyze_with_defaults ... ok
[INFO] [stdout] test cli::tests::parse_cli_accepts_ecosystem_selector ... ok
[INFO] [stdout] test cli::tests::insteadof_check_passes_when_key_absent ... ok
[INFO] [stdout] test cli::tests::build_failure_clusters_groups_runs_with_shared_root_cause ... ok
[INFO] [stdout] test cli::tests::insteadof_check_passes_when_key_value_is_empty ... ok
[INFO] [stdout] test cli::tests::parse_cache_ttl_rejects_empty_and_garbage ... ok
[INFO] [stdout] test cli::tests::insteadof_check_refuses_with_remediation_when_key_set_to_clean_github_url ... ok
[INFO] [stdout] test cli::tests::parse_cli_accepts_cache_ttl_flag ... ok
[INFO] [stdout] test cli::tests::parse_cli_accepts_no_workflow_filter_flag ... ok
[INFO] [stdout] test cli::tests::parse_cli_accepts_project_flag ... ok
[INFO] [stdout] test cli::tests::parse_cli_accepts_no_cache_flag ... ok
[INFO] [stdout] test cli::tests::parse_cli_accepts_explicit_executor_host ... ok
[INFO] [stdout] test cli::tests::parse_cli_accepts_threads_flag ... ok
[INFO] [stdout] test cli::tests::parse_cli_accepts_gate_file_flag ... ok
[INFO] [stdout] test cli::tests::parse_cli_accepts_repeated_exclude_workflow_flags ... ok
[INFO] [stdout] test cli::tests::parse_cli_accepts_repeated_include_workflow_flags ... ok
[INFO] [stdout] test cli::tests::parse_cli_accepts_fail_fast_flag ... ok
[INFO] [stdout] test cli::tests::parse_cli_accepts_explain_flag ... ok
[INFO] [stdout] test cli::tests::parse_cli_accepts_gate_cmd_flag ... ok
[INFO] [stdout] test cli::tests::parse_cli_defaults_fail_fast_off ... ok
[INFO] [stdout] test cli::tests::parse_cli_defaults_cache_ttl_to_seven_days ... ok
[INFO] [stdout] test cli::tests::parse_cli_explain_defaults_to_false ... ok
[INFO] [stdout] test cli::tests::parse_cli_defaults_threads_to_none ... ok
[INFO] [stdout] test cli::tests::parse_cli_ignore_happy_path ... ok
[INFO] [stdout] test cli::tests::parse_cli_ignore_rejects_malformed_input ... ok
[INFO] [stdout] test cli::tests::parse_cli_ignore_trims_whitespace_around_halves ... ok
[INFO] [stdout] test cli::tests::parse_cli_rejects_apply_local_and_remote_together ... ok
[INFO] [stdout] test cli::tests::parse_cli_rejects_gate_cmd_and_gate_file_together ... ok
[INFO] [stdout] test cli::tests::aggregate_cache_counts_handles_all_fresh ... ok
[INFO] [stdout] test cli::tests::build_validator_uses_custom_backend_for_gate_cmd ... ok
[INFO] [stdout] test cli::tests::polyglot_auto_detect_adds_known_tauri_subdirs ... ok
[INFO] [stdout] test cli::tests::polyglot_auto_detect_finds_nested_apps_subdir ... ok
[INFO] [stdout] test cli::tests::polyglot_auto_detect_gates_per_ecosystem ... ok
[INFO] [stdout] test cli::tests::polyglot_auto_detect_runs_for_project_dir_invocation ... ok
[INFO] [stdout] test cli::tests::polyglot_auto_detect_skipped_when_config_roots_present ... ok
[INFO] [stdout] test cli::tests::populate_explanations_fills_cargo_proposals ... ok
[INFO] [stdout] test cli::tests::populate_explanations_fills_gha_proposals ... ok
[INFO] [stdout] test cli::tests::populate_explanations_leaves_unknown_ecosystem_untouched ... ok
[INFO] [stdout] test cli::tests::populate_explanations_uses_lockfile_only_explainer_for_lockfile_tier ... ok
[INFO] [stdout] test cli::tests::porcelain_filter_keeps_real_dirty_paths ... ok
[INFO] [stdout] test cli::tests::porcelain_filter_treats_assay_artifacts_as_clean ... ok
[INFO] [stdout] test cli::tests::preflight_apply_pr_gh_auth_fails_when_gh_exits_nonzero ... ok
[INFO] [stdout] test cli::tests::preflight_apply_pr_gh_auth_fails_when_repo_scope_missing ... ok
[INFO] [stdout] test cli::tests::preflight_apply_pr_gh_auth_succeeds_with_repo_scope ... ok
[INFO] [stdout] test cli::tests::project_scope_anchors_artifact_root_at_enclosing_git_root ... ok
[INFO] [stdout] test cli::tests::project_scope_appends_config_roots_resolved_against_repo ... ok
[INFO] [stdout] test cli::tests::project_scope_dedupes_config_roots_that_match_repo ... ok
[INFO] [stdout] test cli::tests::project_scope_defaults_to_single_repo_root_when_no_project_and_no_config_roots ... ok
[INFO] [stdout] test cli::tests::project_scope_errors_on_unrecognized_manifest ... ok
[INFO] [stdout] test cli::tests::project_scope_errors_when_path_does_not_exist ... ok
[INFO] [stdout] test cli::tests::project_scope_project_flag_overrides_config_roots ... ok
[INFO] [stdout] test cli::tests::project_scope_resolves_cargo_toml_to_cargo_ecosystem ... ok
[INFO] [stdout] test cli::tests::project_scope_resolves_composite_action_to_github_actions ... ok
[INFO] [stdout] test cli::tests::project_scope_resolves_directory_as_repo_root_without_restriction ... ok
[INFO] [stdout] test cli::tests::project_scope_resolves_workflow_yaml_to_github_actions ... ok
[INFO] [stdout] test cli::tests::proposal_back_compat_legacy_receipt_without_affected_consumers ... ok
[INFO] [stdout] test cli::tests::red_section_ignores_green_and_unvalidated_runs ... ok
[INFO] [stdout] test cli::tests::red_section_includes_consumer_suffix_when_proposal_has_consumers ... ok
[INFO] [stdout] test cli::tests::red_section_is_deterministic_alphabetical_by_proposal_id ... ok
[INFO] [stdout] test cli::tests::red_section_omits_consumer_suffix_when_consumers_empty ... ok
[INFO] [stdout] test cli::tests::red_section_renders_both_validation_and_apply_failures ... ok
[INFO] [stdout] test cli::tests::red_section_renders_pre_validation_failure_with_apply_tag ... ok
[INFO] [stdout] test cli::tests::red_section_renders_validation_failure_with_flavor_and_stderr ... ok
[INFO] [stdout] test cli::tests::cleanup_with_no_state_is_noop ... ok
[INFO] [stdout] test cli::tests::red_section_returns_none_when_no_failures ... ok
[INFO] [stdout] test cli::tests::red_section_skips_stderr_block_when_tail_is_empty_or_whitespace ... ok
[INFO] [stdout] test cli::tests::red_section_truncates_long_stderr_with_elision_marker ... ok
[INFO] [stdout] test cli::tests::resolve_ignore_list_dedupes_when_cli_repeats_config_entry ... ok
[INFO] [stdout] test cli::tests::resolve_ignore_list_merges_config_and_cli_for_matching_ecosystem ... ok
[INFO] [stdout] test cli::tests::resolve_ignore_list_passes_through_scoped_npm_subject ... ok
[INFO] [stdout] test cli::tests::resolve_ignore_list_routes_cli_npm_entries_to_npm_ecosystem ... ok
[INFO] [stdout] test cli::tests::resolve_ignore_list_scopes_cli_entries_to_named_ecosystem ... ok
[INFO] [stdout] test cli::tests::warns_when_cargo_workspace_has_no_lockfile ... ok
[INFO] [stdout] test cli::tests::workflow_filter_from_args_defaults_to_pull_request_only ... ok
[INFO] [stdout] test cli::tests::workflow_filter_from_args_disables_trigger_check_when_no_workflow_filter_set ... ok
[INFO] [stderr] Preparing worktree (new branch 'assay/test-cleanup-dismiss')
[INFO] [stdout] test cli::tests::workflow_filter_from_args_passes_through_include_exclude_globs ... ok
[INFO] [stderr] Preparing worktree (new branch 'assay/test-cleanup-1')
[INFO] [stdout] test cli::tests::worktree_add_failure_appends_remediation_when_branch_already_exists ... ok
[INFO] [stderr] Preparing worktree (new branch 'assay/test-cleanup-quiet')
[INFO] [stdout] test cli::tests::worktree_add_failure_passes_through_unrelated_errors ... ok
[INFO] [stderr] Preparing worktree (new branch 'assay/test-cleanup-drop')
[INFO] [stdout] test cli::tests::resolve_ignore_list_silently_drops_malformed_cli_entries ... ok
[INFO] [stdout] test config::tests::accepts_config_without_top_level_assay_section ... ok
[INFO] [stdout] test config::tests::defaults_when_file_is_absent ... ok
[INFO] [stdout] test config::tests::cargo_max_parallel_can_be_overridden_in_config ... ok
[INFO] [stdout] test cli::tests::perform_apply_local_commit_refuses_when_any_proposal_failed ... ok
[INFO] [stdout] test config::tests::invalid_grouping_is_rejected ... ok
[INFO] [stdout] test config::tests::ignore_defaults_to_empty_when_absent ... ok
[INFO] [stdout] test cli::tests::partition_keeps_untracked_files_that_are_not_gitignored ... ok
[INFO] [stdout] test config::tests::max_parallel_zero_in_config_means_unbounded ... ok
[INFO] [stdout] test config::tests::npm_max_parallel_can_be_overridden_in_config ... ok
[INFO] [stdout] test config::tests::parses_per_ecosystem_ignore_list ... ok
[INFO] [stdout] test config::tests::project_roots_default_to_empty_meaning_repo_root_only ... ok
[INFO] [stdout] test config::tests::parses_full_config_round_trip ... ok
[INFO] [stdout] HEAD is now at 4a8aeff init
[INFO] [stdout] test config::tests::project_roots_rejects_unknown_fields_in_section ... ok
[INFO] [stdout] test config::tests::rejects_unknown_field_inside_section ... ok
[INFO] [stdout] test config::tests::project_roots_parse_for_tauri_polyglot_layout ... ok
[INFO] [stdout] test config::tests::rejects_unknown_top_level_key ... ok
[INFO] [stdout] test config::tests::workflow_selection_explicit_returns_paths ... ok
[INFO] [stdout] test config::tests::workflow_selection_auto_is_detected ... ok
[INFO] [stdout] test config::tests::rejects_wrong_schema_version ... ok
[INFO] [stdout] test ecosystem::cargo::tests::affected_consumers_rejects_tree_without_cargo_toml ... ok
[INFO] [stdout] 4a8aeff6946fdc0e5befef2273cc35916b6b6381
[INFO] [stdout] HEAD is now at 4a8aeff init
[INFO] [stdout] 4a8aeff6946fdc0e5befef2273cc35916b6b6381
[INFO] [stdout] test cli::tests::partition_keeps_tracked_files_even_if_pattern_would_match_gitignore ... ok
[INFO] [stdout] test cli::tests::perform_apply_pr_refuses_when_any_proposal_failed ... ok
[INFO] [stdout] test ecosystem::cargo::tests::apply_cargo_update_rejects_tree_without_cargo_toml ... ok
[INFO] [stdout] test ecosystem::cargo::tests::classify_cross_major_is_breaking ... ok
[INFO] [stdout] test ecosystem::cargo::tests::classify_handles_build_metadata_suffix ... ok
[INFO] [stdout] test ecosystem::cargo::tests::classify_unparseable_input_defaults_to_breaking ... ok
[INFO] [stdout] test ecosystem::cargo::tests::classify_within_major_one_or_higher_is_compatible ... ok
[INFO] [stdout] test ecosystem::cargo::tests::classify_zero_dot_x_groups_by_minor ... ok
[INFO] [stdout] test ecosystem::cargo::tests::classify_zero_zero_x_treats_every_patch_as_breaking ... ok
[INFO] [stdout] test cli::tests::cleanup_removes_worktree_and_local_branch ... ok
[INFO] [stdout] test ecosystem::cargo::tests::copy_back_copies_sandbox_lockfile_to_host ... ok
[INFO] [stdout] HEAD is now at 4a8aeff init
[INFO] [stdout] test ecosystem::cargo::tests::copy_back_errors_when_sandbox_lockfile_missing ... ok
[INFO] [stdout] test cli::tests::partial_apply_state_dismiss_preserves_local_state ... ok
[INFO] [stdout] test ecosystem::cargo::tests::copy_back_merged_ships_lockfile_for_all_lockfile_only_set ... ok
[INFO] [stdout] test ecosystem::cargo::tests::cross_check_fails_when_stdout_fabricates_a_bump ... ok
[INFO] [stdout] test ecosystem::cargo::tests::copy_back_merged_errors_when_sandbox_lockfile_missing ... ok
[INFO] [stdout] test ecosystem::cargo::tests::cross_check_fails_when_stdout_omits_a_real_bump ... ok
[INFO] [stdout] test ecosystem::cargo::tests::cross_check_fails_when_versions_disagree ... ok
[INFO] [stdout] test ecosystem::cargo::tests::cross_check_passes_when_stdout_matches_lockfile ... ok
[INFO] [stdout] HEAD is now at 4a8aeff init
[INFO] [stdout] test ecosystem::cargo::tests::detect_manifests_finds_root_toml_and_lock ... ok
[INFO] [stdout] test ecosystem::cargo::tests::detect_manifests_returns_empty_for_non_cargo_repo ... ok
[INFO] [stdout] test ecosystem::cargo::tests::affected_consumers_includes_optional_feature_gated_consumers ... ok
[INFO] [stdout] test ecosystem::cargo::tests::diff_lockfiles_detects_version_change ... ok
[INFO] [stdout] test ecosystem::cargo::tests::explain_cross_major_returns_breaking_with_major_crossed_rule ... ok
[INFO] [stdout] test ecosystem::cargo::tests::explain_cross_minor_in_0_x_returns_breaking_with_minor_crossed_rule ... ok
[INFO] [stdout] test ecosystem::cargo::tests::explain_cross_patch_in_0_0_x_returns_breaking_with_patch_crossed_rule ... ok
[INFO] [stdout] test ecosystem::cargo::tests::explain_lockfile_only_carries_constraint_when_supplied ... ok
[INFO] [stdout] test ecosystem::cargo::tests::explain_lockfile_only_omits_constraint_when_unknown ... ok
[INFO] [stdout] test ecosystem::cargo::tests::apply_cargo_proposals_merged_errors_when_constraint_widening_target_absent ... ok
[INFO] [stdout] test ecosystem::cargo::tests::diff_lockfiles_ignores_new_packages ... ok
[INFO] [stdout] test ecosystem::cargo::tests::explain_same_major_1_plus_returns_compatible_with_major_rule ... ok
[INFO] [stdout] test ecosystem::cargo::tests::explain_same_patch_0_0_x_returns_compatible_with_patch_rule ... ok
[INFO] [stdout] test ecosystem::cargo::tests::explain_same_minor_0_x_returns_compatible_with_minor_rule ... ok
[INFO] [stdout] test ecosystem::cargo::tests::filter_ignored_crates_drops_matching_subject ... ok
[INFO] [stdout] test ecosystem::cargo::tests::explain_unparseable_returns_breaking_with_unparseable_rule ... ok
[INFO] [stdout] test ecosystem::cargo::tests::filter_to_direct_deps_keeps_only_named_subjects ... ok
[INFO] [stdout] test ecosystem::cargo::tests::merge_is_redundant_returns_true_for_all_lockfile_only ... ok
[INFO] [stdout] test ecosystem::cargo::tests::merge_is_redundant_returns_false_when_any_breaking_present ... ok
[INFO] [stdout] test ecosystem::cargo::tests::merge_is_redundant_returns_false_when_any_compatible_present ... ok
[INFO] [stdout] test ecosystem::cargo::tests::parse_handles_indented_and_unindented_lines ... ok
[INFO] [stdout] test ecosystem::cargo::tests::gate_workflows_lists_yml_files_only ... ok
[INFO] [stdout] test ecosystem::cargo::tests::parse_skips_index_update_header ... ok
[INFO] [stdout] test ecosystem::cargo::tests::parse_unchanged_ignores_updating_and_other_lines ... ok
[INFO] [stdout] test ecosystem::cargo::tests::parse_unchanged_preserves_build_metadata_in_target ... ok
[INFO] [stdout] test ecosystem::cargo::tests::parse_unchanged_picks_lines_with_available_clause ... ok
[INFO] [stdout] test ecosystem::cargo::tests::parse_unchanged_splits_msrv_suffix_from_target ... ok
[INFO] [stdout] test ecosystem::cargo::tests::parse_picks_only_real_version_bumps ... ok
[INFO] [stdout] test ecosystem::cargo::tests::parse_unchanged_returns_empty_for_no_verbose_output ... ok
[INFO] [stdout] test ecosystem::cargo::tests::parse_unchanged_skips_lines_without_available_clause ... ok
[INFO] [stdout] test ecosystem::cargo::tests::proposal_id_is_deterministic_and_safe ... ok
[INFO] [stdout] test ecosystem::cargo::tests::propose_from_cargo_stdout_builds_proposal_per_updating_line ... ok
[INFO] [stdout] test ecosystem::cargo::tests::propose_from_cargo_stdout_id_disambiguates_by_source_version ... ok
[INFO] [stdout] test ecosystem::cargo::tests::propose_unchanged_attaches_msrv_note_when_present ... ok
[INFO] [stdout] test ecosystem::cargo::tests::propose_unchanged_emits_tier_aware_proposals ... ok
[INFO] [stdout] test ecosystem::cargo::tests::propose_unchanged_returns_empty_when_no_unchanged_lines ... ok
[INFO] [stdout] test ecosystem::cargo::tests::propose_from_cargo_stdout_returns_empty_when_nothing_to_update ... ok
[INFO] [stdout] test ecosystem::cargo::tests::affected_consumers_lists_workspace_members_consuming_target ... ok
[INFO] [stdout] test ecosystem::cargo::tests::synthesize_dep_proposal_returns_none_when_already_at_target ... ok
[INFO] [stdout] test ecosystem::cargo::tests::synthesize_dep_proposal_returns_none_when_dep_absent ... ok
[INFO] [stdout] test ecosystem::cargo::tests::synthesize_dep_proposal_builds_proposal_when_dep_in_lockfile ... ok
[INFO] [stdout] test ecosystem::cargo::tests::affected_consumers_returns_empty_when_target_absent_from_workspace ... ok
[INFO] [stdout] test ecosystem::cargo::tests::synthesize_dep_proposal_classifies_major_bump_as_breaking ... ok
[INFO] [stdout] test cli::tests::partial_apply_state_dismiss_quietly_still_cleans_up ... ok
[INFO] [stdout] test ecosystem::cargo_cohorts::tests::axum_extra_lands_in_axum_cohort ... ok
[INFO] [stdout] test cli::tests::perform_apply_local_commit_creates_one_commit_when_all_green ... ok
[INFO] [stdout] test ecosystem::cargo_cohorts::tests::bevy_subcrate_matches_via_prefix ... ok
[INFO] [stdout] test ecosystem::cargo::tests::affected_consumers_excludes_self_when_target_is_workspace_member ... ok
[INFO] [stdout] test cli::tests::partial_apply_state_drop_runs_cleanup_when_not_dismissed ... ok
[INFO] [stdout] test ecosystem::cargo_cohorts::tests::clap_derive_lands_in_clap_cohort ... ok
[INFO] [stdout] test ecosystem::cargo_cohorts::tests::every_cohort_has_a_unique_id ... ok
[INFO] [stdout] test ecosystem::cargo_cohorts::tests::tracing_subscriber_lands_in_tracing_cohort ... ok
[INFO] [stdout] test ecosystem::cargo_cohorts::tests::lookalike_crates_dont_false_match ... ok
[INFO] [stdout] test ecosystem::cargo_cohorts::tests::tokio_util_lands_in_tokio_cohort ... ok
[INFO] [stdout] test ecosystem::cargo_manifest_editor::tests::edits_bare_string_dependency ... ok
[INFO] [stdout] test ecosystem::cargo_manifest_editor::tests::edits_full_table_form ... ok
[INFO] [stdout] test ecosystem::cargo_manifest_editor::tests::edits_dotted_header_target_cfg_dep_entry ... ok
[INFO] [stdout] test ecosystem::cargo_cohorts::tests::unmatched_crate_returns_none ... ok
[INFO] [stdout] test ecosystem::cargo_cohorts::tests::every_cohort_has_at_least_one_member_or_prefix ... ok
[INFO] [stdout] test ecosystem::cargo_cohorts::tests::serde_derive_lands_in_serde_cohort ... ok
[INFO] [stdout] test ecosystem::cargo_manifest_editor::tests::edits_inline_table_version_field ... ok
[INFO] [stdout] test ecosystem::cargo_manifest_editor::tests::detects_workspace_inheritance_without_writing ... ok
[INFO] [stdout] test ecosystem::cargo_manifest_editor::tests::edits_target_specific_dependencies ... ok
[INFO] [stdout] test ecosystem::cargo_manifest_editor::tests::edits_dev_dependencies_section ... ok
[INFO] [stdout] test ecosystem::cargo_manifest_editor::tests::edits_git_dep_when_version_field_is_present ... ok
[INFO] [stdout] test ecosystem::cargo_manifest_editor::tests::edits_renamed_inline_table_dep_by_package_field ... ok
[INFO] [stdout] test ecosystem::cargo_manifest_editor::tests::errors_on_unparseable_toml ... ok
[INFO] [stdout] test cli::tests::apply_local_tree_is_retained_under_assay_run_work_dir ... ok
[INFO] [stdout] test ecosystem::cargo_cohorts::tests::tauri_plugin_matches_via_prefix ... ok
[INFO] [stdout] test ecosystem::cargo_cohorts::tests::tokio_lands_in_tokio_cohort ... ok
[INFO] [stdout] test ecosystem::cargo_manifest_editor::tests::edits_workspace_dependencies_when_root_also_inherits_in_its_own_dep_table ... ok
[INFO] [stdout] test ecosystem::cargo::tests::copy_back_merged_ships_lockfile_and_diffed_manifests_for_mixed_set ... ok
[INFO] [stdout] test ecosystem::cargo_manifest_editor::tests::errors_when_version_field_is_non_string ... ok
[INFO] [stdout] test ecosystem::cargo_manifest_editor::tests::falls_back_to_verbatim_for_multi_requirement_constraint ... ok
[INFO] [stdout] test ecosystem::cargo_manifest_editor::tests::falls_back_to_verbatim_for_wildcard_constraint ... ok
[INFO] [stdout] test ecosystem::cargo_manifest_editor::tests::member_with_workspace_inheritance_still_redirects_when_root_lacks_dep ... ok
[INFO] [stdout] test ecosystem::cargo_manifest_editor::tests::edits_workspace_dependencies_section ... ok
[INFO] [stdout] test ecosystem::cargo_manifest_editor::tests::edits_renamed_full_table_dep_by_package_field ... ok
[INFO] [stdout] test ecosystem::cargo_manifest_editor::tests::preserves_caret_prefix_on_bare_string ... ok
[INFO] [stdout] test ecosystem::cargo_manifest_editor::tests::preserves_comments_and_whitespace ... ok
[INFO] [stdout] test ecosystem::cargo_manifest_editor::tests::preserves_exact_pin_prefix_on_full_table_version ... ok
[INFO] [stdout] test ecosystem::cargo_manifest_editor::tests::preserves_exact_pin_prefix_on_bare_string ... ok
[INFO] [stdout] test ecosystem::cargo_manifest_editor::tests::preserves_gte_prefix_on_bare_string ... ok
[INFO] [stdout] test ecosystem::cargo_manifest_editor::tests::preserves_tilde_prefix_on_bare_string ... ok
[INFO] [stdout] test ecosystem::cargo_manifest_editor::tests::returns_none_when_dep_missing_from_manifest ... ok
[INFO] [stdout] test ecosystem::cargo_manifest_editor::tests::unrenamed_dep_still_matches_by_table_key ... ok
[INFO] [stdout] test ecosystem::cargo_manifest_editor::tests::walker_errors_when_root_cargo_toml_missing ... ok
[INFO] [stdout] test ecosystem::cargo_manifest_editor::tests::preserves_exact_pin_prefix_on_inline_table_version ... ok
[INFO] [stdout] test ecosystem::cargo_manifest_editor::tests::renamed_dep_does_not_match_on_local_key_alone ... ok
[INFO] [stdout] test ecosystem::cargo_manifest_editor::tests::skips_path_dep_without_version_field ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::aggregate_groups_same_tag_pinned_action_across_files ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::aggregate_groups_same_action_across_files ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::aggregate_drops_local_and_docker_refs ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::aggregate_keeps_distinct_actions_separate ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::aggregate_keeps_tag_pinned_refs_as_tag_kind ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::aggregate_skips_shortcut_refs_like_stable_and_main ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::aggregate_classifies_sha_vs_tag_pins ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::build_action_proposals_skips_sha_pin_when_flag_off ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::classify_cross_major_is_breaking ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::classify_pin_loosening_is_breaking ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::collect_captures_bare_version_tag_comment ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::build_action_proposals_emits_sha_pin_for_tag_pinned_action ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::classify_same_major_is_compatible ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::classify_unparseable_tag_is_breaking ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::classify_unknown_from_tag_is_breaking ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::collect_captures_version_tag_comment ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::classify_truncated_tags_parse_as_zero_padded ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::collect_ignores_non_version_comments ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::collect_returns_none_tag_when_no_comment ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::collect_uses_finds_multiple ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::collect_uses_picks_docker_action ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::collect_uses_picks_tag_ref_unpinned ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::collect_uses_picks_local_action ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::collect_uses_handles_subpath ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::collect_uses_handles_quoted_value ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::build_proposals_returns_empty_for_same_ref_at_latest ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::build_proposals_emits_tag_to_tag_for_tag_pins ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::count_segments_handles_common_shapes ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::collect_uses_picks_simple_sha_pin ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::collect_uses_strips_inline_comments ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::copy_back_refuses_when_host_file_edited_mid_flight ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::detect_manifests_finds_composite_actions ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::copy_back_rewrites_host_workflow_when_from_matches ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::count_segments_returns_zero_for_unparseable ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::explain_same_major_returns_compatible_with_same_major_rule ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::explain_unparseable_returns_breaking_with_unparseable_rule ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::filter_ignored_is_exact_match_not_substring ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::filter_ignored_with_empty_list_is_passthrough ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::is_likely_commit_sha_recognizes_full_and_short_shas ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::detect_manifests_lists_workflows_with_uses ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::integration_detect_then_apply_round_trip ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::rewrite_uses_in_workflow_auto_comments_sha_pin_when_no_existing_comment ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::explain_cross_major_returns_breaking_with_major_bump_rule ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::explain_ref_shape_loosening_returns_breaking_with_loosening_rule ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::explain_unknown_from_returns_breaking_with_unknown_from_rule ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::filter_ignored_drops_matching_subjects ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::rewrite_uses_in_workflow_preserves_existing_comment_on_tag_to_tag ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::rewriter_does_not_touch_other_actions ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::rewriter_handles_crlf_line_endings ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::rewriter_handles_quoted_values ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::rewriter_handles_single_quoted_values ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::rewriter_handles_subpath ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::rewriter_idempotent_when_applied_twice_is_an_error ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::rewriter_only_replaces_comment_when_it_looks_like_a_version ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::rewriter_preserves_inline_comment_when_no_version_tag ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::rewriter_preserves_unrelated_whitespace_and_lines ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::rewriter_rejects_when_from_does_not_match ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::rewriter_updates_sha_pinned_line ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::tag_specificity_counts_numeric_segments ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::truncate_tag_drops_prerelease ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::truncate_tag_drops_segments_preserving_v_prefix ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::truncate_tag_returns_none_when_not_enough_segments ... ok
[INFO] [stdout] test ecosystem::github_actions_api::tests::cache_ttl_zero_means_no_expiry ... ok
[INFO] [stdout] test ecosystem::github_actions_api::tests::cache_returns_same_value_on_second_call ... ok
[INFO] [stdout] test ecosystem::github_actions_api::tests::missing_gh_binary_returns_none_not_err ... ok
[INFO] [stdout] test ecosystem::cargo_manifest_editor::tests::walker_edits_each_member_with_its_own_explicit_pin ... ok
[INFO] [stdout] test ecosystem::github_actions_api::tests::offline_mode_reads_release_from_cache ... ok
[INFO] [stdout] test cli::tests::perform_apply_local_commit_is_deterministic_across_runs ... ok
[INFO] [stdout] test ecosystem::github_actions_api::tests::offline_mode_reads_tag_existence_from_cache ... ok
[INFO] [stdout] test ecosystem::github_actions_api::tests::offline_mode_returns_none_when_cache_missing ... ok
[INFO] [stdout] test ecosystem::github_actions_api::tests::parse_commit_sha_extracts_field ... ok
[INFO] [stdout] test ecosystem::github_actions_api::tests::parse_commit_sha_returns_none_for_missing_field ... ok
[INFO] [stdout] test ecosystem::github_actions_api::tests::parse_release_tag_name_extracts_field ... ok
[INFO] [stdout] test ecosystem::github_actions_api::tests::parse_release_tag_name_returns_none_for_invalid_json ... ok
[INFO] [stdout] test ecosystem::github_actions_api::tests::sanitize_action_dir_uses_double_dash_separator ... ok
[INFO] [stdout] test ecosystem::github_actions_api::tests::sanitize_path_component_handles_slashes_and_specials ... ok
[INFO] [stdout] test ecosystem::github_actions_api::tests::stale_cache_entries_are_treated_as_missing ... ok
[INFO] [stdout] test ecosystem::npm::tests::affected_consumers_returns_empty_when_no_member_consumes_dep ... ok
[INFO] [stdout] test ecosystem::npm::tests::affected_consumers_lists_members_that_directly_declare_dep ... ok
[INFO] [stdout] test ecosystem::github_actions_api::tests::parse_release_tag_name_returns_none_for_missing_field ... ok
[INFO] [stdout] test ecosystem::npm::tests::build_proposals_skips_rows_without_current_version ... ok
[INFO] [stdout] test ecosystem::npm::tests::build_proposals_skips_rows_where_current_equals_latest ... ok
[INFO] [stdout] test ecosystem::npm::tests::build_proposals_tier_maps_correctly ... ok
[INFO] [stdout] test ecosystem::npm::tests::affected_consumers_excludes_self_when_target_is_workspace_member ... ok
[INFO] [stdout] test ecosystem::npm::tests::classify_npm_cross_major_is_breaking ... ok
[INFO] [stdout] test ecosystem::npm::tests::classify_npm_same_major_is_compatible ... ok
[INFO] [stdout] test ecosystem::npm::tests::annotate_proposals_handles_missing_package_json_gracefully ... ok
[INFO] [stdout] test ecosystem::npm::tests::classify_npm_zero_dot_x_groups_by_minor ... ok
[INFO] [stdout] test ecosystem::npm::tests::annotate_proposals_with_overrides_marks_pinned_packages ... ok
[INFO] [stdout] test ecosystem::npm::tests::build_npm_proposals_id_disambiguates_by_source_version ... ok
[INFO] [stdout] test ecosystem::npm::tests::collect_direct_dep_names_reads_root_package_json ... ok
[INFO] [stdout] test ecosystem::npm::tests::collect_direct_deps_with_constraints_records_constraint_strings ... ok
[INFO] [stdout] test cli::tests::partition_separates_gitignored_untracked_lockfile_from_tracked_manifest ... ok
[INFO] [stdout] test ecosystem::npm::tests::detect_flavor_recognizes_each_lockfile ... ok
[INFO] [stdout] test ecosystem::npm::tests::annotate_proposals_picks_up_yarn_resolutions ... ok
[INFO] [stdout] test ecosystem::npm::tests::annotate_proposals_picks_up_pnpm_overrides ... ok
[INFO] [stdout] test ecosystem::npm::tests::detect_manifests_finds_package_json_and_lockfile ... ok
[INFO] [stdout] test ecosystem::npm::tests::detect_flavor_returns_yarn_berry_when_metadata_present ... ok
[INFO] [stdout] test ecosystem::npm::tests::detect_flavor_returns_yarn1_when_no_metadata ... ok
[INFO] [stdout] test ecosystem::npm::tests::affected_consumers_walks_dev_peer_optional_deps ... ok
[INFO] [stdout] test ecosystem::npm::tests::detect_workspace_members_returns_empty_for_single_project ... ok
[INFO] [stdout] test ecosystem::npm::tests::detect_workspace_members_expands_glob_patterns ... ok
[INFO] [stdout] test ecosystem::npm::tests::editor_returns_false_when_dep_missing ... ok
[INFO] [stdout] test ecosystem::npm::tests::editor_preserves_npm_alias_prefix_on_widen ... ok
[INFO] [stdout] test ecosystem::npm::tests::editor_widens_dependencies_entry ... ok
[INFO] [stdout] test ecosystem::npm::tests::detect_workspace_members_reads_pnpm_workspace_yaml ... ok
[INFO] [stdout] test ecosystem::npm::tests::detect_workspace_members_skips_directories_without_package_json ... ok
[INFO] [stdout] test ecosystem::npm::tests::detect_workspace_members_honors_negation_patterns ... ok
[INFO] [stdout] test ecosystem::npm::tests::detect_workspace_members_honors_glob_negation_patterns ... ok
[INFO] [stdout] test ecosystem::npm::tests::detect_workspace_members_reads_object_form_with_packages_key ... ok
[INFO] [stdout] test ecosystem::npm::tests::detect_workspace_members_reads_literal_workspaces_array ... ok
[INFO] [stdout] test ecosystem::npm::tests::explain_npm_cross_major_returns_breaking ... ok
[INFO] [stdout] test ecosystem::npm::tests::explain_npm_cross_minor_in_0_x_returns_breaking ... ok
[INFO] [stdout] test ecosystem::npm::tests::explain_npm_lockfile_only_carries_constraint ... ok
[INFO] [stdout] test ecosystem::npm::tests::explain_npm_same_major_1_plus_returns_compatible ... ok
[INFO] [stdout] test ecosystem::npm::tests::explain_npm_unparseable_returns_breaking ... ok
[INFO] [stdout] test ecosystem::npm::tests::editor_widens_dev_dependencies_when_main_absent ... ok
[INFO] [stdout] test ecosystem::npm::tests::filter_ignored_packages_drops_matching_subject ... ok
[INFO] [stdout] test ecosystem::npm::tests::filter_ignored_packages_empty_list_is_identity ... ok
[INFO] [stdout] test ecosystem::npm::tests::filter_ignored_packages_handles_scoped_subjects ... ok
[INFO] [stdout] test ecosystem::npm::tests::filter_to_direct_deps_drops_transitive_entries ... ok
[INFO] [stdout] test ecosystem::npm::tests::find_peer_dep_consumers_finds_flat_packages_declaring_subject_as_peer ... ok
[INFO] [stdout] test ecosystem::npm::tests::find_peer_dep_consumers_combines_yarn_berry_layouts ... ok
[INFO] [stdout] test ecosystem::npm::tests::find_peer_dep_consumers_combines_flat_and_virtual_store ... ok
[INFO] [stdout] test ecosystem::npm::tests::find_peer_dep_consumers_handles_missing_node_modules_gracefully ... ok
[INFO] [stdout] test ecosystem::npm::tests::override_key_to_package_name_handles_path_form ... ok
[INFO] [stdout] test ecosystem::npm::tests::find_peer_dep_consumers_yarn_berry_pnp_data_handles_malformed_gracefully ... ok
[INFO] [stdout] test ecosystem::npm::tests::find_peer_dep_consumers_ignores_pnpm_entries_without_inner_node_modules ... ok
[INFO] [stdout] test ecosystem::npm::tests::parse_berry_descriptor_name_handles_scoped_packages ... ok
[INFO] [stdout] test ecosystem::npm::tests::parse_berry_descriptor_name_handles_unscoped_packages ... ok
[INFO] [stdout] test ecosystem::npm::tests::parse_berry_descriptor_name_handles_workspace_protocol ... ok
[INFO] [stdout] test ecosystem::npm::tests::parse_berry_lockfile_handles_comma_separated_descriptors ... ok
[INFO] [stdout] test ecosystem::npm::tests::parse_berry_lockfile_extracts_subject_to_version_map ... ok
[INFO] [stdout] test ecosystem::npm::tests::parse_berry_lockfile_returns_empty_for_garbage ... ok
[INFO] [stdout] test ecosystem::npm::tests::parse_berry_lockfile_skips_entries_without_version ... ok
[INFO] [stdout] test ecosystem::npm::tests::parse_outdated_collapses_workspace_per_consumer_arrays ... ok
[INFO] [stdout] test ecosystem::npm::tests::parse_berry_lockfile_skips_metadata_block ... ok
[INFO] [stdout] test ecosystem::npm::tests::parse_outdated_handles_empty_object ... ok
[INFO] [stdout] test ecosystem::npm::tests::parse_outdated_handles_missing_current ... ok
[INFO] [stdout] test ecosystem::npm::tests::parse_outdated_handles_empty_string ... ok
[INFO] [stdout] test ecosystem::npm::tests::parse_outdated_handles_typical_npm_json ... ok
[INFO] [stdout] test ecosystem::npm::tests::parse_outdated_skips_file_link_workspace_deps ... ok
[INFO] [stdout] test ecosystem::npm::tests::parse_yarn1_outdated_extracts_table_rows ... ok
[INFO] [stdout] test ecosystem::npm::tests::parse_yarn1_outdated_handles_empty_string ... ok
[INFO] [stdout] test ecosystem::npm::tests::preserve_prefix_adds_caret_to_bare_version ... ok
[INFO] [stdout] test ecosystem::npm::tests::parse_yarn1_outdated_ignores_garbage_lines ... ok
[INFO] [stdout] test ecosystem::npm::tests::preserve_prefix_handles_npm_alias_bare_inner_version ... ok
[INFO] [stdout] test ecosystem::npm::tests::preserve_prefix_handles_npm_alias_caret_inner ... ok
[INFO] [stdout] test ecosystem::npm::tests::preserve_prefix_handles_npm_alias_tilde_inner ... ok
[INFO] [stdout] test ecosystem::npm::tests::parse_yarn1_outdated_returns_empty_when_no_table_line ... ok
[INFO] [stdout] test ecosystem::npm::tests::preserve_prefix_handles_npm_alias_with_scoped_target ... ok
[INFO] [stdout] test ecosystem::npm::tests::preserve_prefix_keeps_caret ... ok
[INFO] [stdout] test ecosystem::npm::tests::preserve_prefix_keeps_exact_equality ... ok
[INFO] [stdout] test ecosystem::npm::tests::preserve_prefix_keeps_tilde ... ok
[INFO] [stdout] test ecosystem::npm::tests::preserve_prefix_opaque_for_unknown_shapes ... ok
[INFO] [stdout] test ecosystem::npm::tests::find_peer_dep_consumers_walks_yarn_berry_pnp_data_json ... ok
[INFO] [stdout] test ecosystem::npm::tests::find_peer_dep_consumers_skips_dot_dirs_and_non_peer_declarations ... ok
[INFO] [stdout] test ecosystem::npm::tests::propose_berry_updates_returns_empty_when_no_direct_deps ... ok
[INFO] [stdout] test ecosystem::npm::tests::find_peer_dep_consumers_yarn_berry_pnp_data_skips_self_consumption ... ok
[INFO] [stdout] test ecosystem::npm::tests::find_peer_dep_consumers_dedupes_across_virtual_store_versions ... ok
[INFO] [stdout] test ecosystem::npm::tests::resolve_install_reconstructs_alias_spec_for_aliased_dep ... ok
[INFO] [stdout] test ecosystem::npm::tests::read_lockfile_versions_returns_empty_when_lockfile_missing ... ok
[INFO] [stdout] test ecosystem::npm::tests::resolve_install_passes_through_bare_version_for_unaliased_dep ... ok
[INFO] [stdout] test ecosystem::npm::tests::find_peer_dep_consumers_walks_pnpm_virtual_store ... ok
[INFO] [stdout] test ecosystem::npm::tests::resolve_install_handles_scoped_alias_target ... ok
[INFO] [stdout] test ecosystem::npm::tests::read_lockfile_versions_parses_v3_packages_map ... ok
[INFO] [stdout] test ecosystem::npm::tests::resolve_install_finds_alias_under_dev_dependencies ... ok
[INFO] [stdout] test ecosystem::npm::tests::synthesize_dep_proposal_npm_reads_lockfile_version ... ok
[INFO] [stdout] test ecosystem::npm::tests::synthesize_dep_proposal_returns_none_when_already_at_target ... ok
[INFO] [stdout] test ecosystem::github_actions::tests::count_segments_drops_prerelease_and_build ... ok
[INFO] [stdout] test ecosystem::npm::tests::synthesize_dep_proposal_pnpm_reads_pnpm_lock_yaml ... ok
[INFO] [stdout] test ecosystem::npm::tests::synthesize_dep_proposal_returns_none_when_dep_absent_from_npm ... ok
[INFO] [stdout] test ecosystem::npm::tests::synthesize_dep_proposal_yarn_berry_reads_yarn_lock ... ok
[INFO] [stdout] test ecosystem::npm::tests::synthesize_dep_proposal_yarn1_falls_back_to_constraint_strip ... ok
[INFO] [stdout] test ecosystem::npm::tests::tag_proposals_with_cohorts_assigns_angular_framework_cohort ... ok
[INFO] [stdout] test ecosystem::npm::tests::widen_cohort_tiers_skips_single_member_cohorts ... ok
[INFO] [stdout] test ecosystem::npm::tests::update_constraint_skips_members_without_the_dep ... ok
[INFO] [stdout] test ecosystem::npm::tests::yarn_lock_is_berry_detects_metadata_header ... ok
[INFO] [stdout] test ecosystem::npm::tests::find_peer_dep_consumers_walks_yarn_berry_unplugged ... ok
[INFO] [stdout] test ecosystem::npm_cohorts::tests::angular_cdk_lands_in_components_cohort_not_framework ... ok
[INFO] [stdout] test ecosystem::npm_cohorts::tests::angular_cli_lands_in_tooling_cohort ... ok
[INFO] [stdout] test ecosystem::npm::tests::widen_cohort_tiers_promotes_compatible_member_to_breaking_when_lockstep_partner_is_breaking ... ok
[INFO] [stdout] test ecosystem::npm::tests::widen_cohort_tiers_promotes_lockfile_only_to_compatible_when_partner_is_compatible ... ok
[INFO] [stdout] test ecosystem::npm::tests::find_peer_dep_consumers_walks_scoped_packages ... ok
[INFO] [stdout] test ecosystem::npm::tests::yarn_lock_is_berry_returns_false_for_yarn1 ... ok
[INFO] [stdout] test ecosystem::npm_cohorts::tests::angular_core_lands_in_framework_cohort ... ok
[INFO] [stdout] test ecosystem::npm::tests::widen_cohort_tiers_is_idempotent ... ok
[INFO] [stdout] test ecosystem::npm::tests::widen_cohort_tiers_isolates_separate_cohorts ... ok
[INFO] [stdout] test ecosystem::npm_cohorts::tests::every_cohort_has_a_unique_id ... ok
[INFO] [stdout] test ecosystem::npm_cohorts::tests::every_cohort_has_at_least_one_member_or_prefix ... ok
[INFO] [stdout] test ecosystem::npm_cohorts::tests::lookalike_packages_dont_false_match ... ok
[INFO] [stdout] test ecosystem::npm_cohorts::tests::next_exact_matches_root_package ... ok
[INFO] [stdout] test ecosystem::npm_cohorts::tests::next_subscope_matches_via_prefix ... ok
[INFO] [stdout] test ecosystem::npm_cohorts::tests::react_dom_lands_in_react_cohort ... ok
[INFO] [stdout] test ecosystem::npm::tests::update_constraint_widens_every_glob_resolved_member ... ok
[INFO] [stdout] test ecosystem::npm_cohorts::tests::tiptap_extension_matches_via_prefix ... ok
[INFO] [stdout] test ecosystem::npm_cohorts::tests::unmatched_package_returns_none ... ok
[INFO] [stdout] test events::tests::event_with_cohort_field_is_present ... ok
[INFO] [stdout] test events::tests::proposal_optional_cohort_is_skipped_when_none ... ok
[INFO] [stdout] test events::tests::run_completed_skips_failure_clusters_when_empty ... ok
[INFO] [stdout] test external_deps::tests::logical_normalize_collapses_curdir ... ok
[INFO] [stdout] test events::tests::run_completed_carries_failure_clusters_when_present ... ok
[INFO] [stdout] test events::tests::event_round_trips_through_json ... ok
[INFO] [stdout] test external_deps::tests::discover_returns_empty_for_non_cargo_repo ... ok
[INFO] [stdout] test events::tests::proposal_completed_skips_failure_context_when_none ... ok
[INFO] [stdout] test events::tests::proposal_completed_carries_failure_context_when_red ... ok
[INFO] [stdout] test events::tests::noop_sink_drops_events ... ok
[INFO] [stdout] test external_deps::tests::logical_normalize_collapses_parent_dirs ... ok
[INFO] [stdout] test external_deps::tests::logical_normalize_empty_yields_dot ... ok
[INFO] [stdout] test external_deps::tests::logical_normalize_handles_chains_of_parent_dirs ... ok
[INFO] [stdout] test external_deps::tests::logical_normalize_preserves_leading_parent_dirs_on_relative_paths ... ok
[INFO] [stdout] test external_deps::tests::materialize_errors_when_source_missing ... ok
[INFO] [stdout] test ecosystem::npm::tests::yarn_lock_is_berry_returns_false_when_file_absent ... ok
[INFO] [stdout] test external_deps::tests::scanner_walks_dev_and_build_deps ... ok
[INFO] [stdout] test external_deps::tests::scanner_classifies_in_tree_path_as_not_external ... ok
[INFO] [stdout] test external_deps::tests::scanner_walks_workspace_dependencies ... ok
[INFO] [stdout] test external_deps::tests::scanner_walks_target_specific_deps ... ok
[INFO] [stdout] test external_deps::tests::scanner_finds_inline_table_path_dep ... ok
[INFO] [stdout] test failure_context::tests::cluster_failures_drops_singletons ... ok
[INFO] [stdout] test external_deps::tests::scanner_ignores_bare_version_string_deps ... ok
[INFO] [stdout] test failure_context::tests::cluster_failures_returns_empty_when_no_failures ... ok
[INFO] [stdout] test failure_context::tests::fingerprint_differs_when_finding_content_differs ... ok
[INFO] [stdout] test failure_context::tests::fingerprint_for_empty_findings_is_stable_and_nonempty ... ok
[INFO] [stdout] test failure_context::tests::fingerprint_is_16_lowercase_hex_chars ... ok
[INFO] [stdout] test failure_context::tests::cluster_failures_groups_matching_fingerprints ... ok
[INFO] [stdout] test failure_context::tests::cluster_failures_sorts_member_ids_and_clusters_deterministically ... ok
[INFO] [stdout] test failure_context::tests::failure_finding_optional_fields_skip_when_none ... ok
[INFO] [stdout] test external_deps::tests::materialize_lands_destination_inside_sandbox_boundary_for_helm_layout ... ok
[INFO] [stdout] test failure_context::tests::cluster_failures_round_trips_through_serde ... ok
[INFO] [stdout] test external_deps::tests::materialize_refuses_when_destination_escapes_boundary ... ok
[INFO] [stdout] test external_deps::tests::materialize_is_idempotent ... ok
[INFO] [stdout] test external_deps::tests::scanner_returns_err_on_malformed_toml ... ok
[INFO] [stdout] test external_deps::tests::materialize_skips_target_and_dotgit ... ok
[INFO] [stdout] test failure_context::tests::fingerprint_is_deterministic_across_finding_order ... ok
[INFO] [stdout] test failure_context::tests::new_attaches_canonical_fingerprint ... ok
[INFO] [stdout] test failure_parser::cargo::tests::parses_bare_error_line_without_code ... ok
[INFO] [stdout] test failure_parser::cargo::tests::rustc_error_without_location_omits_file_line ... ok
[INFO] [stdout] test failure_parser::cargo::tests::parses_canonical_rustc_error_with_location ... ok
[INFO] [stdout] test failure_parser::generic::tests::generic_all_whitespace_stderr_produces_empty_summary ... ok
[INFO] [stdout] test failure_parser::generic::tests::generic_empty_stderr_produces_empty_summary ... ok
[INFO] [stdout] test failure_parser::cargo::tests::could_not_compile_synthesizes_finding_when_no_e_code_present ... ok
[INFO] [stdout] test failure_parser::cargo::tests::parses_linker_error_with_exit_code ... ok
[INFO] [stdout] test failure_parser::cargo::tests::parses_build_script_failure ... ok
[INFO] [stdout] test failure_parser::cargo::tests::linker_error_takes_precedence_over_rustc_errors_in_same_log ... ok
[INFO] [stdout] test failure_parser::generic::tests::generic_uses_first_nonempty_line_as_summary ... ok
[INFO] [stdout] test failure_parser::cargo::tests::parses_multiple_rustc_errors_into_multi_finding_context ... ok
[INFO] [stdout] test failure_parser::npm::tests::parses_peer_dep_missing ... ok
[INFO] [stdout] test failure_parser::npm::tests::parses_bare_npm_err_line_when_no_structured_pattern_matched ... ok
[INFO] [stdout] test failure_parser::npm::tests::parses_canonical_eresolve_block ... ok
[INFO] [stdout] test failure_parser::npm::tests::parses_multiple_tsc_errors ... ok
[INFO] [stdout] test failure_parser::npm::tests::parses_multiple_eresolve_blocks_as_multi_finding ... ok
[INFO] [stdout] test failure_parser::cargo::tests::unparseable_stderr_returns_none ... ok
[INFO] [stdout] test failure_parser::npm::tests::npm_warn_eresolve_is_not_an_error_and_does_not_match ... ok
[INFO] [stdout] test failure_parser::npm::tests::unparseable_stderr_returns_none ... ok
[INFO] [stdout] test failure_parser::tests::auto_falls_through_to_generic_for_empty_stderr ... ok
[INFO] [stdout] test failure_parser::npm::tests::parses_tsc_modern_error_with_location ... ok
[INFO] [stdout] test failure_parser::npm::tests::parses_tsc_legacy_error_with_location ... ok
[INFO] [stdout] test failure_parser::tests::hint_from_command_recognizes_cargo_and_npm_binaries ... ok
[INFO] [stdout] test member_gate::tests::cargo_dash_p_with_affected_returns_keep_names_affected ... ok
[INFO] [stdout] test member_gate::tests::cargo_dash_p_with_only_others_returns_drop ... ok
[INFO] [stdout] test member_gate::tests::cargo_long_package_equals_form_returns_keep_names_affected ... ok
[INFO] [stdout] test member_gate::tests::cargo_long_package_with_affected_returns_keep_names_affected ... ok
[INFO] [stdout] test member_gate::tests::cargo_multiple_dash_p_drops_when_none_match ... ok
[INFO] [stdout] test member_gate::tests::cargo_multiple_dash_p_keeps_when_any_match ... ok
[INFO] [stdout] test member_gate::tests::dash_p_no_space_form_matches ... ok
[INFO] [stdout] test failure_parser::tests::auto_prefers_cargo_when_both_match ... ok
[INFO] [stdout] test member_gate::tests::dash_r_alone_is_wildcard_not_dropped ... ok
[INFO] [stdout] test member_gate::tests::empty_affected_keeps_wildcard_workflows ... ok
[INFO] [stdout] test member_gate::tests::empty_affected_set_drops_all_explicit_selectors ... ok
[INFO] [stdout] test member_gate::tests::npm_workspace_space_selector_drops_when_only_others ... ok
[INFO] [stdout] test member_gate::tests::npm_workspaces_wildcard_returns_keep_wildcard ... ok
[INFO] [stdout] test member_gate::tests::filter_drops_workflow_for_unrelated_member_only ... ok
[INFO] [stdout] test member_gate::tests::filter_keeps_workspace_wildcard_workflows ... ok
[INFO] [stdout] test member_gate::tests::filter_keeps_when_workflow_unreadable ... ok
[INFO] [stdout] test member_gate::tests::filter_with_empty_affected_keeps_workspace_wildcard ... ok
[INFO] [stdout] test member_gate::tests::multiline_workflow_aggregates_selectors ... ok
[INFO] [stdout] test member_gate::tests::filter_mixes_keep_and_drop_across_multiple_workflows ... ok
[INFO] [stdout] test member_gate::tests::multiline_workflow_drops_when_no_match ... ok
[INFO] [stdout] test member_gate::tests::no_selectors_returns_keep_no_selectors ... ok
[INFO] [stdout] test member_gate::tests::npm_workspace_equals_selector_returns_keep_names_affected ... ok
[INFO] [stdout] test member_gate::tests::workspace_wildcard_returns_keep_wildcard ... ok
[INFO] [stdout] test member_gate::tests::workspaces_foreach_returns_keep_wildcard ... ok
[INFO] [stdout] test member_gate::tests::yarn_workspace_subcommand_matches ... ok
[INFO] [stdout] test member_gate::tests::pnpm_recursive_returns_keep_wildcard ... ok
[INFO] [stdout] test member_gate::tests::pnpm_filter_with_affected_keeps ... ok
[INFO] [stdout] test member_gate::tests::r_inside_word_is_not_dash_r ... ok
[INFO] [stdout] test member_gate::tests::scoped_npm_package_names_match ... ok
[INFO] [stdout] test model::tests::bump_explanation_round_trips_through_serde ... ok
[INFO] [stdout] test member_gate::tests::pnpm_filter_equals_form_works ... ok
[INFO] [stdout] test member_gate::tests::workspace_substring_is_not_workspaces_wildcard_misfire ... ok
[INFO] [stdout] test model::tests::proposal_with_explanation_round_trips ... ok
[INFO] [stdout] test model::tests::bump_tier_serializes_with_kebab_case_strings ... ok
[INFO] [stdout] test model::tests::proposal_without_explanation_field_deserializes_as_none ... ok
[INFO] [stdout] test model::tests::proposal_without_bump_tier_field_deserializes_as_lockfile_only ... ok
[INFO] [stdout] test model::tests::receipt_round_trips_with_legacy_schema_version ... ok
[INFO] [stdout] test model::tests::receipt_without_schema_version_defaults_to_current ... ok
[INFO] [stdout] test model::tests::receipt_stamps_current_schema_version_when_serialized ... ok
[INFO] [stdout] test process_runner::tests::drainer_does_not_truncate_when_well_under_cap ... ok
[INFO] [stdout] test publisher::branch_name::tests::branch_name_charset_is_safe ... ok
[INFO] [stdout] test publisher::branch_name::tests::branch_name_for_typical_cargo_bump ... ok
[INFO] [stdout] test publisher::branch_name::tests::branch_name_is_injective_on_ecosystem ... ok
[INFO] [stdout] test publisher::branch_name::tests::branch_name_is_deterministic ... ok
[INFO] [stdout] test publisher::branch_name::tests::branch_name_is_injective_on_from ... ok
[INFO] [stdout] test publisher::branch_name::tests::branch_name_is_injective_on_subject ... ok
[INFO] [stdout] test publisher::branch_name::tests::branch_name_never_double_dashes_or_trailing_dash ... ok
[INFO] [stdout] test publisher::branch_name::tests::branch_name_truncation_is_still_injective ... ok
[INFO] [stdout] test publisher::branch_name::tests::branch_name_respects_length_cap ... ok
[INFO] [stdout] test process_runner::tests::completes_within_timeout_for_fast_command ... ok
[INFO] [stdout] test publisher::gh_cli::tests::extract_pr_number_from_canonical_url ... ok
[INFO] [stdout] test publisher::branch_name::tests::branch_name_is_injective_on_to ... ok
[INFO] [stdout] test publisher::gh_cli::tests::extract_pr_number_returns_none_for_non_pr_url ... ok
[INFO] [stdout] test publisher::gh_cli::tests::extract_pr_number_handles_trailing_junk ... ok
[INFO] [stdout] test process_runner::tests::captures_stdout ... ok
[INFO] [stdout] test publisher::gh_cli::tests::parse_owner_repo_handles_https_url ... ok
[INFO] [stdout] test publisher::gh_cli::tests::parse_owner_repo_handles_ssh_url ... ok
[INFO] [stdout] test publisher::gh_cli::tests::check_auth_passes_when_repo_scope_present ... ok
[INFO] [stdout] test publisher::gh_cli::tests::parse_owner_repo_returns_none_for_malformed_url ... ok
[INFO] [stdout] test publisher::gh_cli::tests::parse_owner_repo_strips_git_suffix ... ok
[INFO] [stdout] test publisher::gh_cli::tests::parse_owner_repo_strips_trailing_slash ... ok
[INFO] [stdout] test process_runner::tests::propagates_nonzero_exit_status ... ok
[INFO] [stdout] test publisher::git_push::tests::build_push_argv_has_no_shell_metacharacters ... ok
[INFO] [stdout] test publisher::gh_cli::tests::check_auth_fails_when_repo_scope_missing ... ok
[INFO] [stdout] test publisher::git_push::tests::push_branch_propagates_invalid_branch ... ok
[INFO] [stdout] test publisher::git_push::tests::push_branch_propagates_invalid_remote ... ok
[INFO] [stdout] test publisher::git_push::tests::validate_branch_rejects_classic_injection_attempts ... ok
[INFO] [stdout] test publisher::git_push::tests::validate_remote_accepts_standard_names ... ok
[INFO] [stdout] test publisher::git_push::tests::validate_branch_accepts_canonical_shape ... ok
[INFO] [stdout] test publisher::guards::tests::composite_guard_blocks_default_even_if_namespace_passes ... ok
[INFO] [stdout] test publisher::git_push::tests::push_branch_rejects_non_directory ... ok
[INFO] [stdout] test publisher::git_push::tests::validate_remote_rejects_injection_attempts ... ok
[INFO] [stdout] test publisher::guards::tests::guard_namespace_rejects_extra_slashes ... ok
[INFO] [stdout] test publisher::guards::tests::guard_default_branch_refuses_default ... ok
[INFO] [stdout] test publisher::guards::tests::guard_namespace_rejects_main ... ok
[INFO] [stdout] test publisher::guards::tests::composite_guard_blocks_protected_even_if_namespace_passes ... ok
[INFO] [stdout] test publisher::guards::tests::guard_namespace_rejects_other_bot_namespaces ... ok
[INFO] [stdout] test publisher::guards::tests::guard_protected_branch_refuses_protected ... ok
[INFO] [stdout] test publisher::pr_body::tests::body_contains_bump_subject_versions_classification ... ok
[INFO] [stdout] test publisher::gh_cli::tests::fetch_branch_metadata_treats_404_as_fresh_branch ... ok
[INFO] [stdout] test publisher::pr_body::tests::body_omits_warning_for_exact_classification ... ok
[INFO] [stdout] test publisher::pr_body::tests::body_sanitizes_release_notes_before_embedding ... ok
[INFO] [stdout] test publisher::pr_body::tests::body_surfaces_warning_on_non_exact_classification ... ok
[INFO] [stdout] test publisher::pr_body::tests::body_handles_unvalidated_outcome ... ok
[INFO] [stdout] test publisher::guards::tests::guards_accept_canonical_assay_branch ... ok
[INFO] [stdout] test publisher::pr_body::tests::body_includes_provenance_footer ... ok
[INFO] [stdout] test publisher::tests::build_pull_request_request_sets_title_from_subject ... ok
[INFO] [stdout] test publisher::tests::publisher_pipeline_smoke_against_mock_backend ... ok
[INFO] [stdout] test publisher::tests::recording_backend_captures_open_request ... ok
[INFO] [stdout] test publisher::gh_cli::tests::fetch_branch_metadata_marks_default_branch_correctly ... ok
[INFO] [stdout] test receipt::tests::write_run_receipt_creates_run_dir_only ... ok
[INFO] [stdout] test cli::tests::perform_apply_pr_refuses_when_metadata_marks_branch_protected ... ok
[INFO] [stdout] test external_deps::tests::discover_canonicalizes_relative_repo_arg ... ok
[INFO] [stdout] test receipt::tests::write_stage_receipt_places_under_receipts_dir ... ok
[INFO] [stdout] test receipt::tests::write_run_receipt_persists_schema_version_and_records ... ok
[INFO] [stdout] test receipt::tests::write_stage_receipt_materializes_receipts_subdir_lazily ... ok
[INFO] [stdout] test redact::tests::registering_same_value_twice_is_idempotent ... ok
[INFO] [stdout] test redact::tests::redactor_is_thread_safe_clonable ... ok
[INFO] [stdout] test redact::tests::debug_does_not_print_registered_values ... ok
[INFO] [stdout] test sanitize::tests::release_notes_at_utf8_boundary ... ok
[INFO] [stdout] test sanitize::tests::release_notes_html_escape ... ok
[INFO] [stdout] test sanitize::tests::release_notes_truncate_and_fence ... ok
[INFO] [stdout] test sanitize::tests::sanitize_branch_segment_accepts_kebab ... ok
[INFO] [stdout] test sanitize::tests::sanitize_branch_segment_rejects_uppercase_and_slash ... ok
[INFO] [stdout] test redact::tests::registry_replaces_known_value ... ok
[INFO] [stdout] test redact::tests::regex_layer_does_not_corrupt_normal_log_lines ... ok
[INFO] [stdout] test redact::tests::regex_layer_catches_unregistered_ghs_token ... ok
[INFO] [stdout] test sanitize::tests::sanitize_commit_subject_rejects_crlf ... ok
[INFO] [stdout] test sanitize::tests::sanitize_tag_accepts_typical_release_tags ... ok
[INFO] [stdout] test sanitize::tests::sanitize_tag_rejects_empty ... ok
[INFO] [stdout] test sanitize::tests::sanitize_tag_rejects_shell_metacharacters ... ok
[INFO] [stdout] test validator::tests::auto_with_falls_back_to_build_test_when_forge_missing ... ok
[INFO] [stdout] test redact::tests::registry_ignores_too_short_values ... ok
[INFO] [stdout] test validator::tests::auto_with_falls_back_to_build_test_when_workflows_dir_missing ... ok
[INFO] [stdout] test validator::tests::auto_with_errors_when_nothing_applicable ... ok
[INFO] [stdout] test sanitize::tests::sanitize_tag_rejects_overlong ... ok
[INFO] [stdout] test validator::tests::auto_with_picks_forge_run_when_present_and_workflows_exist ... ok
[INFO] [stdout] test redact::tests::registry_and_regex_compose ... ok
[INFO] [stdout] test validator::tests::build_test_backend_cargo_command_sequence_is_canonical ... ok
[INFO] [stdout] test redact::tests::registry_handles_overlapping_values_longest_first ... ok
[INFO] [stdout] test sanitize::tests::sanitize_tag_rejects_dotdot ... ok
[INFO] [stdout] test redact::tests::regex_layer_catches_bearer_header ... ok
[INFO] [stdout] test redact::tests::regex_layer_catches_unregistered_ghu_token ... ok
[INFO] [stdout] test validator::tests::build_test_backend_fingerprint_includes_commands ... ok
[INFO] [stdout] test validator::tests::build_test_backend_infer_detects_cargo_root ... ok
[INFO] [stdout] test validator::tests::build_test_backend_infer_returns_none_for_empty_project ... ok
[INFO] [stdout] test validator::tests::command_builder_defaults_event_to_push ... ok
[INFO] [stdout] test validator::tests::command_builder_emits_executor_choice_correctly ... ok
[INFO] [stdout] test validator::tests::command_builder_pins_narrow_flag_set ... ok
[INFO] [stdout] test validator::tests::cache_hit_short_circuits_backend_for_regression ... ok
[INFO] [stdout] test validator::tests::cache_hit_short_circuits_backend_for_pass ... ok
[INFO] [stdout] test validator::tests::cached_outcome_carries_cached_at_unix_secs ... ok
[INFO] [stdout] test validator::tests::custom_backend_fingerprint_includes_argv ... ok
[INFO] [stdout] test validator::tests::custom_backend_from_gate_cmd_splits_on_whitespace ... ok
[INFO] [stdout] test validator::tests::custom_backend_from_gate_file_uses_path_as_argv0 ... ok
[INFO] [stdout] test validator::tests::build_test_backend_validates_setup_failure_on_missing_binary ... ok
[INFO] [stdout] test validator::tests::forge_run_backend_returns_pass_on_success_json ... ok
[INFO] [stdout] test validator::tests::forge_run_backend_returns_regression_on_failure_json ... ok
[INFO] [stdout] test validator::tests::custom_backend_setup_failure_when_binary_missing ... ok
[INFO] [stdout] test validator::tests::custom_backend_setup_failure_when_argv_empty ... ok
[INFO] [stdout] test validator::tests::custom_backend_regresses_on_nonzero_exit ... ok
[INFO] [stdout] test validator::tests::custom_backend_passes_when_command_exits_zero ... ok
[INFO] [stdout] test ecosystem::cargo_manifest_editor::tests::walker_handles_renamed_dep_in_member_manifest ... ok
[INFO] [stdout] test ecosystem::cargo_manifest_editor::tests::walker_returns_empty_when_no_manifest_carries_the_dep ... ok
[INFO] [stdout] test validator::tests::build_test_backend_validates_regression_on_nonzero_exit ... ok
[INFO] [stdout] test validator::tests::forge_run_backend_returns_setup_failure_on_unparseable_output ... ok
[INFO] [stdout] test validator::tests::parse_forge_run_output_extracts_run_id_and_conclusion ... ok
[INFO] [stdout] test validator::tests::parse_forge_run_output_falls_back_to_workflow_conclusion ... ok
[INFO] [stdout] test validator::tests::parse_forge_run_output_handles_unknown_conclusion_gracefully ... ok
[INFO] [stdout] test validator::tests::parse_forge_run_output_returns_none_on_garbage ... ok
[INFO] [stdout] test validator::tests::build_test_backend_validates_pass_when_all_commands_succeed ... ok
[INFO] [stdout] test validator::tests::stderr_tail_passes_through_short_input ... ok
[INFO] [stdout] test validator::tests::validate_aggregates_workflow_outcomes_via_backend_trait ... ok
[INFO] [stdout] test validator::tests::validate_disables_filter_when_accept_all_supplied ... ok
[INFO] [stdout] test validator::tests::stderr_tail_respects_utf8_boundaries ... ok
[INFO] [stdout] test validator::tests::validate_populates_failure_details_for_setup_failure_and_timeout_flavors ... ok
[INFO] [stdout] test validator::tests::validate_only_captures_failure_details_for_failed_workflows ... ok
[INFO] [stdout] test validator::tests::stderr_tail_truncates_to_byte_budget ... ok
[INFO] [stdout] test ecosystem::cargo_manifest_editor::tests::walker_edits_workspace_dependencies_in_root_when_members_inherit ... ok
[INFO] [stdout] test validator::tests::validate_populates_failure_details_with_stderr_tail_on_regression ... ok
[INFO] [stdout] test validator::tests::timeout_is_not_cached ... ok
[INFO] [stdout] test validator::tests::validate_propagates_missing_binary_as_io_error ... ok
[INFO] [stdout] test validator::tests::validate_returns_success_when_all_workflows_pass ... ok
[INFO] [stdout] test validator::tests::parse_forge_run_output_returns_none_when_run_id_missing ... ok
[INFO] [stdout] test validator::tests::tree_mode_validate_populates_failure_details_on_red ... ok
[INFO] [stdout] test validator::tests::setup_failure_is_not_cached ... ok
[INFO] [stdout] test validator::tests::validate_runs_only_workflows_that_survive_the_filter ... ok
[INFO] [stdout] test validator::tests::validate_returns_unvalidated_when_filter_excludes_every_workflow ... ok
[INFO] [stdout] test cli::tests::perform_apply_pr_pushes_branch_and_opens_pr_when_all_green ... ok
[INFO] [stdout] test validator::tests::validate_unvalidated_paths_emit_empty_failure_details ... ok
[INFO] [stdout] test verdict_cache::tests::fingerprint_commands_changes_with_args ... ok
[INFO] [stdout] test verdict_cache::tests::fingerprint_commands_is_order_sensitive ... ok
[INFO] [stdout] test verdict_cache::tests::fingerprint_file_distinguishes_missing_from_empty ... ok
[INFO] [stdout] test validator::tests::validation_outcome_back_compat_default_failure_details_when_field_absent ... ok
[INFO] [stdout] test verdict_cache::tests::cache_key_is_pure_and_stable ... ok
[INFO] [stdout] test verdict_cache::tests::future_cached_at_is_not_stale ... ok
[INFO] [stdout] test validator::tests::validate_with_no_workflows_returns_stubbed_unvalidated ... ok
[INFO] [stdout] test verdict_cache::tests::hex_encode_lowercase_pads ... ok
[INFO] [stdout] test verdict_cache::tests::fingerprint_workspace_files_stable_across_calls ... ok
[INFO] [stdout] test verdict_cache::tests::miss_when_entry_has_wrong_schema_version ... ok
[INFO] [stdout] test verdict_cache::tests::is_stale_at_exactly_ttl_is_fresh ... ok
[INFO] [stdout] test verdict_cache::tests::miss_when_file_absent ... ok
[INFO] [stdout] test verdict_cache::tests::miss_when_entry_is_malformed_json ... ok
[INFO] [stdout] test verdict_cache::tests::miss_when_key_mismatches ... ok
[INFO] [stdout] test validator::tests::workflow_file_change_invalidates_cache ... ok
[INFO] [stdout] test verdict_cache::tests::cache_key_changes_with_any_input ... ok
[INFO] [stdout] test validator::tests::validator_without_cache_does_not_cache ... ok
[INFO] [stdout] test verdict_cache::tests::miss_when_entry_is_stale ... ok
[INFO] [stdout] test verdict_cache::tests::fingerprint_workspace_files_handles_missing ... ok
[INFO] [stdout] test verdict_cache::tests::fingerprint_workspace_files_changes_with_content ... ok
[INFO] [stdout] test validator::tests::forge_run_backend_returns_setup_failure_when_run_id_missing ... ok
[INFO] [stdout] test verdict_cache::tests::round_trip_regression_verdict ... ok
[INFO] [stdout] test validator::tests::workspace_state_change_invalidates_cache ... ok
[INFO] [stdout] test worker_pool::tests::pool_fail_fast_stops_pulling_after_first_failure ... ok
[INFO] [stdout] test verdict_cache::tests::round_trip_write_then_read ... ok
[INFO] [stdout] test verdict_cache::tests::write_then_overwrite_does_not_corrupt ... ok
[INFO] [stdout] test worker_pool::tests::pool_caps_thread_count_at_workload_size ... ok
[INFO] [stdout] test worker_pool::tests::pool_default_threads_is_at_least_one ... ok
[INFO] [stdout] test worker_pool::tests::pool_fail_fast_off_processes_every_unit_even_with_failures ... ok
[INFO] [stdout] test workflow_filter::tests::default_filter_drops_push_only_workflow ... ok
[INFO] [stdout] test worker_pool::tests::pool_processes_every_unit ... ok
[INFO] [stdout] test workflow_filter::tests::default_filter_drops_release_only_workflow ... ok
[INFO] [stdout] test workflow_filter::tests::default_filter_drops_schedule_only_workflow ... ok
[INFO] [stdout] test workflow_filter::tests::default_filter_keeps_pull_request_only_workflow ... ok
[INFO] [stdout] test workflow_filter::tests::exclude_glob_drops_matching_workflow_even_if_pull_request ... ok
[INFO] [stdout] test workflow_filter::tests::default_filter_keeps_workflow_with_pull_request_in_mapping ... ok
[INFO] [stdout] test worker_pool::tests::semaphore_zero_is_unlimited ... ok
[INFO] [stdout] test workflow_filter::tests::filter_preserves_original_order ... ok
[INFO] [stdout] test workflow_filter::tests::exclude_takes_precedence_over_include ... ok
[INFO] [stdout] test workflow_filter::tests::accept_all_keeps_everything ... ok
[INFO] [stdout] test workflow_filter::tests::default_filter_keeps_workflow_with_pull_request_in_a_list ... ok
[INFO] [stdout] test workflow_filter::tests::include_glob_keeps_matching_workflow_even_if_push_only ... ok
[INFO] [stdout] test workflow_filter::tests::parse_triggers_handles_yaml_bool_on_key ... ok
[INFO] [stdout] test workflow_filter::tests::include_glob_matches_both_basename_and_full_path ... ok
[INFO] [stdout] test workflow_filter::tests::missing_workflow_file_defaults_to_included ... ok
[INFO] [stdout] test workflow_filter::tests::parse_triggers_mapping_form_bare_keys ... ok
[INFO] [stdout] test workflow_filter::tests::parse_triggers_quoted_on_key_is_recognized ... ok
[INFO] [stdout] test workflow_filter::tests::parse_triggers_mapping_form_with_sub_config ... ok
[INFO] [stdout] test workflow_filter::tests::parse_triggers_returns_unparseable_sentinel_on_invalid_yaml ... ok
[INFO] [stdout] test workflow_filter::tests::parse_triggers_returns_empty_when_on_block_absent ... ok
[INFO] [stdout] test workflow_filter::tests::parse_triggers_scalar_form ... ok
[INFO] [stdout] test workflow_filter::tests::glob_supports_star_wildcard ... ok
[INFO] [stdout] test workflow_filter::tests::parse_triggers_sequence_form ... ok
[INFO] [stdout] test workflow_filter::tests::unparseable_yaml_defaults_to_included ... ok
[INFO] [stdout] test publisher::gh_cli::tests::open_pull_request_parses_url_from_stdout ... FAILED
[INFO] [stdout] test worker_pool::tests::pool_unrelated_ecosystems_run_in_parallel_despite_a_capped_one ... ok
[INFO] [stdout] test worker_pool::tests::semaphore_cap_n_lets_n_threads_through_concurrently ... ok
[INFO] [stdout] test worker_pool::tests::pool_per_ecosystem_semaphore_serializes_units_from_that_ecosystem ... ok
[INFO] [stdout] test process_runner::tests::drainer_caps_in_memory_capture_at_stream_capture_cap ... ok
[INFO] [stdout] test process_runner::tests::kills_child_on_timeout ... ok
[INFO] [stdout] test validator::tests::build_test_backend_reports_timeout_flavor_when_command_overruns ... ok
[INFO] [stdout] test validator::tests::custom_backend_reports_timeout_flavor_when_command_overruns ... ok
[INFO] [stdout] test worker_pool::tests::semaphore_serializes_under_cap_one ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- publisher::gh_cli::tests::open_pull_request_parses_url_from_stdout stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'publisher::gh_cli::tests::open_pull_request_parses_url_from_stdout' (1742) panicked at src/publisher/gh_cli.rs:592:14:
[INFO] [stdout] PR open should succeed: Network("couldn't execute `gh pr create`: Text file busy (os error 26); gh CLI must be installed")
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5c90d2840088 - std[10d71ac2c42b111e]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5c90d2840088 - std[10d71ac2c42b111e]::backtrace_rs::backtrace::trace_unsynchronized::<std[10d71ac2c42b111e]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5c90d2840088 - std[10d71ac2c42b111e]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5c90d2840088 - <<std[10d71ac2c42b111e]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8fb95b77d25ab6c8]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5c90d28575ba - <core[8fb95b77d25ab6c8]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5c90d28575ba - core[8fb95b77d25ab6c8]::fmt::write
[INFO] [stdout]    6:     0x5c90d2845872 - std[10d71ac2c42b111e]::io::default_write_fmt::<alloc[a7ee25936407c584]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/io/mod.rs:622:11
[INFO] [stdout]    7:     0x5c90d2845872 - <alloc[a7ee25936407c584]::vec::Vec<u8> as std[10d71ac2c42b111e]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/io/mod.rs:1977:13
[INFO] [stdout]    8:     0x5c90d281a4b6 - <std[10d71ac2c42b111e]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5c90d281a4b6 - std[10d71ac2c42b111e]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5c90d2835e09 - std[10d71ac2c42b111e]::panicking::default_hook
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5c90d22baefc - <alloc[a7ee25936407c584]::boxed::Box<dyn for<'a, 'b> core[8fb95b77d25ab6c8]::ops::function::Fn<(&'a std[10d71ac2c42b111e]::panic::PanicHookInfo<'b>,), Output = ()> + core[8fb95b77d25ab6c8]::marker::Sync + core[8fb95b77d25ab6c8]::marker::Send> as core[8fb95b77d25ab6c8]::ops::function::Fn<(&std[10d71ac2c42b111e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/alloc/src/boxed.rs:2289:9
[INFO] [stdout]   12:     0x5c90d22baefc - test[213991da798b1c03]::test_main_inner::<test[213991da798b1c03]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5c90d2836082 - <alloc[a7ee25936407c584]::boxed::Box<dyn for<'a, 'b> core[8fb95b77d25ab6c8]::ops::function::Fn<(&'a std[10d71ac2c42b111e]::panic::PanicHookInfo<'b>,), Output = ()> + core[8fb95b77d25ab6c8]::marker::Sync + core[8fb95b77d25ab6c8]::marker::Send> as core[8fb95b77d25ab6c8]::ops::function::Fn<(&std[10d71ac2c42b111e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/alloc/src/boxed.rs:2289:9
[INFO] [stdout]   14:     0x5c90d2836082 - std[10d71ac2c42b111e]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5c90d281a572 - std[10d71ac2c42b111e]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5c90d280f3b9 - std[10d71ac2c42b111e]::sys::backtrace::__rust_end_short_backtrace::<std[10d71ac2c42b111e]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5c90d281b3dd - __rustc[3be9ba60078d4c86]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5c90d2857dfc - core[8fb95b77d25ab6c8]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5c90d2857b72 - core[8fb95b77d25ab6c8]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x5c90d1f0b70e - <core[8fb95b77d25ab6c8]::result::Result<assay[35cd3523d52150ac]::publisher::PullRequestResponse, assay[35cd3523d52150ac]::publisher::BackendError>>::expect
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x5c90d205f9eb - assay[35cd3523d52150ac]::publisher::gh_cli::tests::open_pull_request_parses_url_from_stdout
[INFO] [stdout]                                at /opt/rustwide/workdir/src/publisher/gh_cli.rs:592:14
[INFO] [stdout]   22:     0x5c90d2006057 - assay[35cd3523d52150ac]::publisher::gh_cli::tests::open_pull_request_parses_url_from_stdout::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/publisher/gh_cli.rs:575:50
[INFO] [stdout]   23:     0x5c90d2120e06 - <assay[35cd3523d52150ac]::publisher::gh_cli::tests::open_pull_request_parses_url_from_stdout::{closure#0} as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5c90d22adfdb - <fn() -> core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5c90d22adfdb - test[213991da798b1c03]::__rust_begin_short_backtrace::<core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>, fn() -> core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:724:18
[INFO] [stdout]   26:     0x5c90d22bb855 - test[213991da798b1c03]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:747:74
[INFO] [stdout]   27:     0x5c90d22bb855 - <core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x5c90d22bb855 - std[10d71ac2c42b111e]::panicking::catch_unwind::do_call::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}>, core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x5c90d22bb855 - std[10d71ac2c42b111e]::panicking::catch_unwind::<core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>, core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x5c90d22bb855 - std[10d71ac2c42b111e]::panic::catch_unwind::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}>, core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x5c90d22bb855 - test[213991da798b1c03]::run_test_in_process
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:747:27
[INFO] [stdout]   32:     0x5c90d22bb855 - test[213991da798b1c03]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:668:43
[INFO] [stdout]   33:     0x5c90d22b5164 - test[213991da798b1c03]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:698:41
[INFO] [stdout]   34:     0x5c90d22b5164 - std[10d71ac2c42b111e]::sys::backtrace::__rust_begin_short_backtrace::<test[213991da798b1c03]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x5c90d22be8d2 - std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked::<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x5c90d22be8d2 - <core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x5c90d22be8d2 - std[10d71ac2c42b111e]::panicking::catch_unwind::do_call::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x5c90d22be8d2 - std[10d71ac2c42b111e]::panicking::catch_unwind::<(), core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x5c90d22be8d2 - std[10d71ac2c42b111e]::panic::catch_unwind::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x5c90d22be8d2 - std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked::<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x5c90d22be8d2 - <std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1} as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5c90d283f13f - <alloc[a7ee25936407c584]::boxed::Box<dyn core[8fb95b77d25ab6c8]::ops::function::FnOnce<(), Output = ()> + core[8fb95b77d25ab6c8]::marker::Send> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/alloc/src/boxed.rs:2275:9
[INFO] [stdout]   43:     0x5c90d283f13f - <std[10d71ac2c42b111e]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x782189d98aa4 - <unknown>
[INFO] [stdout]   45:     0x782189e25a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     publisher::gh_cli::tests::open_pull_request_parses_url_from_stdout
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 756 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.00s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "8b6af1b102256162be51c3ce357506f2bba02895cd195617b675b2be982bf748", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8b6af1b102256162be51c3ce357506f2bba02895cd195617b675b2be982bf748", kill_on_drop: false }`
[INFO] [stdout] 8b6af1b102256162be51c3ce357506f2bba02895cd195617b675b2be982bf748
