[INFO] fetching crate wtcc 0.10.0...
[INFO] testing wtcc-0.10.0 against 1.100.0-beta.1 for beta-1.100-2
[INFO] extracting crate wtcc 0.10.0 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate wtcc 0.10.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate wtcc 0.10.0
[INFO] tweaked toml for crates.io crate wtcc 0.10.0 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate wtcc 0.10.0 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate wtcc 0.10.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.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] de1a8177bba0f6ab813181da2dc15816e7802cbd302f382b76229e190f4cb079
[INFO] running `Command { std: "docker" "start" "de1a8177bba0f6ab813181da2dc15816e7802cbd302f382b76229e190f4cb079", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "de1a8177bba0f6ab813181da2dc15816e7802cbd302f382b76229e190f4cb079", 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" "de1a8177bba0f6ab813181da2dc15816e7802cbd302f382b76229e190f4cb079" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "de1a8177bba0f6ab813181da2dc15816e7802cbd302f382b76229e190f4cb079", 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" "de1a8177bba0f6ab813181da2dc15816e7802cbd302f382b76229e190f4cb079" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling bitflags v2.13.0
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]    Compiling lru v0.18.0
[INFO] [stderr]    Compiling memchr v2.8.2
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling time v0.3.51
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling line-clipping v0.3.7
[INFO] [stderr]    Compiling mio v1.2.1
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling nix v0.28.0
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling compact_str v0.9.1
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling arrayvec v0.7.7
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling winnow v1.0.3
[INFO] [stderr]    Compiling vte v0.15.0
[INFO] [stderr]    Compiling vt100 v0.16.2
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling unicode-truncate v2.0.1
[INFO] [stderr]    Compiling serial2 v0.2.37
[INFO] [stderr]    Compiling shell-words v1.1.1
[INFO] [stderr]    Compiling toml_writer v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling nucleo-matcher v0.3.1
[INFO] [stderr]    Compiling toml v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling strum_macros v0.28.0
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling kasuari v0.4.12
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling filedescriptor v0.8.3
[INFO] [stderr]    Compiling portable-pty v0.9.0
[INFO] [stderr]    Compiling strum v0.28.0
[INFO] [stderr]    Compiling ratatui-core v0.1.2
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling ratatui-widgets v0.3.2
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.2
[INFO] [stderr]    Compiling ratatui-macros v0.7.2
[INFO] [stderr]    Compiling tui-term v0.3.4
[INFO] [stderr]    Compiling ratatui v0.30.2
[INFO] [stderr]    Compiling wtcc v0.10.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 44.68s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nix v0.28.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 6`
[INFO] running `Command { std: "docker" "inspect" "de1a8177bba0f6ab813181da2dc15816e7802cbd302f382b76229e190f4cb079", 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" "de1a8177bba0f6ab813181da2dc15816e7802cbd302f382b76229e190f4cb079" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.2
[INFO] [stderr]    Compiling ratatui v0.30.2
[INFO] [stderr]    Compiling wtcc v0.10.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 25.21s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nix v0.28.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 6`
[INFO] running `Command { std: "docker" "inspect" "de1a8177bba0f6ab813181da2dc15816e7802cbd302f382b76229e190f4cb079", 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" "de1a8177bba0f6ab813181da2dc15816e7802cbd302f382b76229e190f4cb079" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.22s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nix v0.28.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 6`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/wtcc/b92a7180ec576a4a/out/wtcc-b92a7180ec576a4a)
[INFO] [stdout] 
[INFO] [stdout] running 290 tests
[INFO] [stdout] test app::tests::add_with_empty_branch_sets_status ... ok
[INFO] [stdout] test app::tests::drain_vcs_is_noop_without_refresh ... ok
[INFO] [stdout] test app::tests::drop_unlinks_tracked_dump_files ... ok
[INFO] [stdout] test app::tests::dump_scrollback_without_active_session_sets_status_and_no_tab ... ok
[INFO] [stdout] test app::tests::close_tab_refuses_the_agent_tab_with_a_status ... ok
[INFO] [stdout] test app::tests::current_slug_slugifies_the_selected_branch ... ok
[INFO] [stdout] test app::tests::attention_label_distinguishes_repos_and_omits_the_internal_key ... ok
[INFO] [stdout] test app::tests::each_worktree_keeps_its_own_tab_layout_across_switches ... ok
[INFO] [stdout] test app::tests::enter_scroll_mode_clears_stale_search ... ok
[INFO] [stdout] test app::tests::ensure_active_session_skips_a_removed_worktree_dir ... ok
[INFO] [stdout] test app::tests::enter_scroll_mode_without_active_session_stays_live ... ok
[INFO] [stdout] test app::tests::every_registered_repo_starts_expanded ... ok
[INFO] [stdout] test app::tests::exit_scroll_mode_returns_to_live ... ok
[INFO] [stdout] test app::tests::exit_scroll_mode_clears_search ... ok
[INFO] [stdout] test app::tests::attention_count_and_attention_for_reflect_the_flagged_set ... ok
[INFO] [stdout] test app::tests::expand_path_tilde_slash_joins_home_dir ... ok
[INFO] [stdout] test app::tests::git_only_actions_on_plain_repo_are_gated ... ok
[INFO] [stdout] test app::tests::expand_path_tilde_user_returns_err ... ok
[INFO] [stdout] test app::tests::jump_to_attention_advances_to_flagged_worktree ... ok
[INFO] [stdout] test app::tests::missing_selected_repo_dir_hints_even_when_collapsed ... ok
[INFO] [stdout] test app::tests::jump_to_attention_is_noop_when_none_flagged ... ok
[INFO] [stdout] test app::tests::nav_visits_every_worktree_when_archived_shown ... ok
[INFO] [stdout] test app::tests::nav_skips_hidden_archived_worktree ... ok
[INFO] [stdout] test app::tests::navigation_noop_when_empty ... ok
[INFO] [stdout] test app::tests::new_shell_tab_creates_the_layout_and_appends_a_focused_shell ... ok
[INFO] [stdout] test app::tests::next_prev_wrap_around ... ok
[INFO] [stdout] test app::tests::next_tab_and_prev_tab_cycle_the_current_layout ... ok
[INFO] [stdout] test app::tests::ensure_active_session_creates_the_layout_and_activates_the_agent_tab ... ok
[INFO] [stdout] test app::tests::poll_attention_is_empty_without_sessions ... ok
[INFO] [stdout] test app::tests::pr_target_resolves_by_path_not_by_shared_branch_name ... ok
[INFO] [stdout] test app::tests::close_tab_kills_only_the_removed_shell_session_and_keeps_the_agent ... ok
[INFO] [stdout] test app::tests::refresh_on_git_repo_lists_real_worktrees ... ok
[INFO] [stdout] test app::tests::next_worktree_crosses_repo_boundary_and_follows_the_active_repo ... ok
[INFO] [stdout] test app::tests::add_worktree_without_base_ref_branches_from_head ... ok
[INFO] [stdout] test app::tests::dump_scrollback_writes_file_adds_pager_tab_and_close_cleans_up ... ok
[INFO] [stdout] test app::tests::register_repository_failure_keeps_focus ... ok
[INFO] [stdout] test app::tests::refresh_worktrees_reports_missing_repo_directory ... ok
[INFO] [stdout] test app::tests::remove_repository_out_of_bounds_is_noop ... ok
[INFO] [stdout] test app::tests::remove_repository_to_empty_clears_selection ... ok
[INFO] [stdout] test app::tests::remove_repository_unregisters_persists_and_reselects_neighbor ... ok
[INFO] [stdout] test app::tests::add_worktree_uses_repo_base_ref_for_new_branch ... ok
[INFO] [stdout] test app::tests::refresh_lists_worktrees_of_all_expanded_repos_with_repo_tags ... ok
[INFO] [stdout] test app::tests::register_repository_success_focuses_agent ... ok
[INFO] [stdout] test app::tests::jump_to_attention_crosses_into_the_flagged_repo ... ok
[INFO] [stdout] test app::tests::remove_worktree_kills_removed_worktrees_session_clears_active_and_keeps_others ... ok
[INFO] [stdout] test app::tests::remove_worktree_on_plain_repo_is_gated_and_keeps_dir ... ok
[INFO] [stdout] test app::tests::remove_worktree_without_live_session_is_safe ... ok
[INFO] [stdout] test app::tests::remove_worktree_on_main_working_tree_is_refused_and_keeps_dir ... ok
[INFO] [stdout] test app::tests::navigable_worktrees_span_all_expanded_repos ... ok
[INFO] [stdout] test app::tests::remove_worktree_kills_the_run_session_and_keeps_others ... ok
[INFO] [stdout] test app::tests::restart_agent_without_live_session_is_safe ... ok
[INFO] [stdout] test app::tests::run_archive_executes_in_the_given_cwd_via_a_shell ... ok
[INFO] [stdout] test app::tests::rename_branch_rekeys_live_session_updates_active_and_branch_field ... ok
[INFO] [stdout] test app::tests::refresh_preserves_the_selected_worktree_within_the_selected_repo ... ok
[INFO] [stdout] test app::tests::run_archive_reports_failed_on_nonzero_exit ... ok
[INFO] [stdout] test app::tests::search_defaults_to_none ... ok
[INFO] [stdout] test app::tests::restart_agent_drops_named_session_clears_active_and_keeps_others ... ok
[INFO] [stdout] test app::tests::select_nearest_visible_moves_off_a_hidden_selection ... ok
[INFO] [stdout] test app::tests::selection_normalized_orders_endpoints_by_row_then_col ... ok
[INFO] [stdout] test app::tests::run_archive_reports_success_on_zero_exit ... ok
[INFO] [stdout] test app::tests::start_run_script_with_no_run_configured_opens_no_tab_and_sets_status ... ok
[INFO] [stdout] test app::tests::start_run_script_with_run_configured_appends_a_focused_run_tab ... ok
[INFO] [stdout] test app::tests::superseded_worker_results_never_appear_in_cache ... ok
[INFO] [stdout] test app::tests::term_mode_defaults_to_live ... ok
[INFO] [stdout] test app::tests::toggle_focus_resets_scroll_mode_to_live ... ok
[INFO] [stdout] test app::tests::toggle_focus_round_trips ... ok
[INFO] [stdout] test app::tests::remove_worktree_on_clean_linked_worktree_deletes_dir_keeps_branch ... ok
[INFO] [stdout] test app::tests::rename_branch_to_existing_name_is_refused_and_keeps_the_session ... ok
[INFO] [stdout] test app::tests::two_repos_sharing_a_branch_get_independent_sessions_and_layouts ... ok
[INFO] [stdout] test app::tests::vcs_refresh_prunes_stale_entries_for_removed_worktrees ... ok
[INFO] [stdout] test app::tests::vcs_refresh_caches_provider_results ... ok
[INFO] [stdout] test app::tests::worktree_key_disambiguates_ambiguous_name_branch_slug_boundaries ... ok
[INFO] [stdout] test app::tests::worktree_key_is_repo_qualified_hashed_and_defensive_on_a_bad_index ... ok
[INFO] [stdout] test config::tests::a_legacy_bare_branch_key_no_longer_matches_the_composite_lookup ... ok
[INFO] [stdout] test config::tests::agent_cmd_for_falls_back_to_the_first_preset_when_branch_unmapped ... ok
[INFO] [stdout] test config::tests::agent_cmd_for_falls_back_when_the_mapped_preset_name_is_missing ... ok
[INFO] [stdout] test config::tests::agent_cmd_for_preserves_a_multi_token_cmd_for_whitespace_argv_split ... ok
[INFO] [stdout] test app::tests::vcs_refresh_with_default_status_leaves_cache_populated_not_unset ... ok
[INFO] [stdout] test config::tests::agent_cmd_for_uses_the_scalar_default_when_no_presets_defined ... ok
[INFO] [stdout] test config::tests::agents_and_worktree_agents_round_trip_and_empty_maps_are_omitted ... ok
[INFO] [stdout] test config::tests::agent_cmd_for_returns_the_mapped_presets_cmd ... ok
[INFO] [stdout] test app::tests::set_worktree_agent_rejects_unknown_preset_without_restart_or_persist ... ok
[INFO] [stdout] test config::tests::base_ref_round_trips_and_none_is_omitted_on_save ... ok
[INFO] [stdout] test config::tests::default_agent_cmd_is_claude ... ok
[INFO] [stdout] test config::tests::default_notify_is_true ... ok
[INFO] [stdout] test config::tests::copy_on_create_round_trips_and_empty_is_omitted_on_save ... ok
[INFO] [stdout] test config::tests::git_repo_omits_kind_and_legacy_entry_loads_as_git ... ok
[INFO] [stdout] test config::tests::legacy_repo_entry_without_base_ref_loads_as_none ... ok
[INFO] [stdout] test app::tests::set_worktree_agent_persists_restarts_that_session_and_leaves_others ... ok
[INFO] [stdout] test config::tests::legacy_repo_entry_without_copy_on_create_loads_as_empty ... ok
[INFO] [stdout] test config::tests::legacy_scalar_only_config_loads_with_empty_presets_and_a_working_default ... ok
[INFO] [stdout] test config::tests::legacy_repo_entry_without_lifecycle_fields_loads_as_none ... ok
[INFO] [stdout] test config::tests::legacy_repo_entry_without_run_loads_as_none ... ok
[INFO] [stdout] test config::tests::lifecycle_scripts_round_trip_and_none_is_omitted_on_save ... ok
[INFO] [stdout] test config::tests::legacy_config_without_notify_field_deserializes_to_true ... ok
[INFO] [stdout] test config::tests::plain_repo_serializes_and_round_trips_kind ... ok
[INFO] [stdout] test config::tests::load_from_missing_path_returns_default ... ok
[INFO] [stdout] test config::tests::presets_derives_single_default_from_scalar_when_agents_empty ... ok
[INFO] [stdout] test config::tests::presets_returns_defined_agents_verbatim ... ok
[INFO] [stdout] test config::tests::save_then_load_round_trips ... ok
[INFO] [stdout] test config::tests::run_round_trips_and_none_is_omitted_on_save ... ok
[INFO] [stdout] test config::tests::set_worktree_agent_records_the_branch_to_preset_choice ... ok
[INFO] [stdout] test event::tests::agent_grid_cell_maps_surface_points ... ok
[INFO] [stdout] test event::tests::agent_key_bytes_backtab_is_csi_z ... ok
[INFO] [stdout] test event::tests::a_opens_register_repo_prompt ... ok
[INFO] [stdout] test event::tests::agent_grid_cell_rejects_non_surface_points ... ok
[INFO] [stdout] test event::tests::agent_key_bytes_shift_tab_is_csi_z ... ok
[INFO] [stdout] test event::tests::any_key_closes_help_without_moving_selection ... ok
[INFO] [stdout] test event::tests::base64_encode_rfc4648_vectors ... ok
[INFO] [stdout] test event::tests::click_collapsed_repo_header_expands_it ... ok
[INFO] [stdout] test event::tests::click_worktree_in_another_expanded_repo_activates_its_repo ... ok
[INFO] [stdout] test event::tests::colon_opens_palette_and_esc_closes ... ok
[INFO] [stdout] test event::tests::agent_key_bytes_enter_is_carriage_return ... ok
[INFO] [stdout] test event::tests::click_without_drag_copies_nothing_and_clears_selection ... ok
[INFO] [stdout] test event::tests::agent_key_bytes_plain_tab_is_horizontal_tab ... ok
[INFO] [stdout] test event::tests::ctrl_c_in_agent_focus_does_not_quit ... ok
[INFO] [stdout] test event::tests::confirming_restart_clears_active_session_and_sets_status ... ok
[INFO] [stdout] test event::tests::ctrl_c_quits_even_in_overlay ... ok
[INFO] [stdout] test event::tests::ctrl_o_returns_focus_to_sidebar ... ok
[INFO] [stdout] test event::tests::contents_between_end_col_is_exclusive_so_plus_one_includes_cursor_cell ... ok
[INFO] [stdout] test event::tests::ctrl_q_quits_from_agent_focus ... ok
[INFO] [stdout] test event::tests::ctrl_up_in_agent_focus_enters_scroll_mode_only_with_a_session ... ok
[INFO] [stdout] test event::tests::d_requests_confirm_when_worktree_selected ... ok
[INFO] [stdout] test event::tests::esc_closes_help ... ok
[INFO] [stdout] test event::tests::g_is_noop_when_nothing_flagged ... ok
[INFO] [stdout] test event::tests::handle_mouse_agent_region_focuses_agent ... ok
[INFO] [stdout] test event::tests::g_jumps_to_the_next_flagged_worktree ... ok
[INFO] [stdout] test event::tests::handle_mouse_ignored_while_overlay_open ... ok
[INFO] [stdout] test event::tests::handle_mouse_worktree_selects_and_focuses_sidebar ... ok
[INFO] [stdout] test event::tests::hit_agent_region ... ok
[INFO] [stdout] test event::tests::hit_blank_sidebar_space_is_none ... ok
[INFO] [stdout] test event::tests::hit_does_not_panic_on_out_of_range ... ok
[INFO] [stdout] test event::tests::hit_repo_header_row ... ok
[INFO] [stdout] test event::tests::hit_status_line_is_none ... ok
[INFO] [stdout] test event::tests::hit_top_and_left_border_is_none ... ok
[INFO] [stdout] test event::tests::hit_worktree_rows_under_selected_repo ... ok
[INFO] [stdout] test event::tests::drag_outside_surface_clamps_cursor_to_last_in_bounds_cell ... ok
[INFO] [stdout] test event::tests::mouse_up_with_no_active_session_clears_selection_without_copy ... ok
[INFO] [stdout] test event::tests::keypress_clears_active_selection ... ok
[INFO] [stdout] test event::tests::osc52_copy_wraps_base64_in_the_clipboard_sequence ... ok
[INFO] [stdout] test event::tests::palette_quit_command_quits ... ok
[INFO] [stdout] test event::tests::n_opens_input_prompt ... ok
[INFO] [stdout] test event::tests::plain_char_in_agent_focus_is_noop_without_session ... ok
[INFO] [stdout] test event::tests::question_mark_opens_help_from_sidebar ... ok
[INFO] [stdout] test event::tests::q_quits ... ok
[INFO] [stdout] test event::tests::restart_agent_with_no_worktree_sets_status_and_no_confirm ... ok
[INFO] [stdout] test event::tests::scroll_does_not_panic_on_out_of_range_col ... ok
[INFO] [stdout] test event::tests::scroll_down_in_sidebar_advances_selection ... ok
[INFO] [stdout] test event::tests::scroll_in_agent_region_without_session_leaves_sidebar_untouched ... ok
[INFO] [stdout] test event::tests::scroll_ignored_while_overlay_open ... ok
[INFO] [stdout] test event::tests::scroll_mode_esc_returns_to_live ... ok
[INFO] [stdout] test event::tests::scroll_mode_key_without_session_is_noop_and_stays_scroll ... ok
[INFO] [stdout] test event::tests::scroll_over_agent_clears_selection ... ok
[INFO] [stdout] test app::tests::remove_worktree_on_dirty_linked_worktree_is_refused_and_keeps_dir ... ok
[INFO] [stdout] test event::tests::scroll_over_sidebar_in_agent_focus_moves_selection ... ok
[INFO] [stdout] test event::tests::scroll_up_in_sidebar_moves_selection_back ... ok
[INFO] [stdout] test event::tests::drag_then_up_stages_osc52_copy_and_keeps_selection ... ok
[INFO] [stdout] test app::tests::toggle_repo_collapses_only_that_repo ... ok
[INFO] [stdout] test event::tests::mouse_up_clamps_stale_selection_after_screen_shrinks ... ok
[INFO] [stdout] test event::tests::second_repo_header_falls_after_first_repos_worktrees ... ok
[INFO] [stdout] test event::tests::scroll_mode_wires_to_live_session_scrollback ... ok
[INFO] [stdout] test event::tests::shift_r_requests_restart_agent_confirm ... ok
[INFO] [stdout] test event::tests::tab_toggles_focus ... ok
[INFO] [stdout] test keymap::tests::agent_entry_chords_open_scroll_mode ... ok
[INFO] [stdout] test event::tests::shift_d_requests_remove_repo_confirm ... ok
[INFO] [stdout] test keymap::tests::ctrl_bindings_still_require_ctrl ... ok
[INFO] [stdout] test keymap::tests::lowercase_and_uppercase_stay_distinct ... ok
[INFO] [stdout] test keymap::tests::scroll_actions_are_never_offered_in_the_palette ... ok
[INFO] [stdout] test keymap::tests::scroll_bindings_each_resolve ... ok
[INFO] [stdout] test keymap::tests::switch_repo_binds_to_uppercase_s_distinct_from_run_script ... ok
[INFO] [stdout] test keymap::tests::uppercase_bindings_fire_with_a_redundant_shift_modifier ... ok
[INFO] [stdout] test keymap::tests::uppercase_bindings_still_fire_without_a_shift_modifier ... ok
[INFO] [stdout] test layout::tests::add_pager_tab_appends_a_uniquely_named_focused_tab ... ok
[INFO] [stdout] test layout::tests::pager_tabs_are_closable ... ok
[INFO] [stdout] test repository::tests::register_on_regular_file_is_not_a_directory ... ok
[INFO] [stdout] test repository::tests::register_with_git_dir_succeeds_and_uses_dir_name ... ok
[INFO] [stdout] test session::tests::activity_from_idle_classifies_thresholds ... ok
[INFO] [stdout] test session::tests::agent_argv_single_token_agent ... ok
[INFO] [stdout] test session::tests::agent_argv_wraps_the_command_in_a_shell_fallback ... ok
[INFO] [stdout] test session::tests::agent_fallback_script_pins_the_exec_shell_contract ... ok
[INFO] [stdout] test repository::tests::register_without_git_dir_is_a_plain_repo ... ok
[INFO] [stdout] test session::tests::cwd_is_missing_flags_removed_dirs_including_the_deleted_marker ... ok
[INFO] [stdout] test session::tests::ensure_still_maps_branch_to_the_slug_session_name ... ok
[INFO] [stdout] test session::tests::find_matches_is_smart_case_and_empty_query_matches_nothing ... ok
[INFO] [stdout] test session::tests::ensure_named_registers_under_name_and_is_idempotent ... ok
[INFO] [stdout] test event::tests::scroll_over_agent_with_active_session_moves_scrollback ... ok
[INFO] [stdout] test app::tests::run_archive_kills_and_reports_timeout_without_waiting_for_a_slow_script ... ok
[INFO] [stdout] test session::tests::kill_unknown_session_is_noop ... ok
[INFO] [stdout] test session::tests::match_columns_finds_smart_case_non_overlapping_occurrences ... ok
[INFO] [stdout] test session::tests::offset_for_line_brings_a_line_to_the_top_with_saturating_clamp ... ok
[INFO] [stdout] test session::tests::phase_classifies_at_the_quiet_boundary ... ok
[INFO] [stdout] test session::tests::poll_clears_flag_when_session_becomes_active ... ok
[INFO] [stdout] test session::tests::poll_does_not_fire_on_busy_to_busy ... ok
[INFO] [stdout] test session::tests::poll_does_not_fire_on_first_sight_quiet ... ok
[INFO] [stdout] test session::tests::poll_does_not_fire_on_quiet_to_busy ... ok
[INFO] [stdout] test session::tests::poll_does_not_fire_on_quiet_to_quiet ... ok
[INFO] [stdout] test session::tests::poll_fires_once_on_busy_to_quiet_edge ... ok
[INFO] [stdout] test event::tests::search_editing_ctrl_c_exits_scroll_mode ... ok
[INFO] [stdout] test session::tests::poll_prunes_dead_session_names ... ok
[INFO] [stdout] test session::tests::poll_suppresses_the_active_session ... ok
[INFO] [stdout] test session::tests::poll_refires_only_after_going_busy_again ... ok
[INFO] [stdout] test session::tests::poll_with_duration_max_flags_at_most_once ... ok
[INFO] [stdout] test event::tests::search_in_scroll_mode_finds_navigates_and_cancels ... ok
[INFO] [stdout] test event::tests::search_navigation_moves_offset_and_wraps ... ok
[INFO] [stdout] test session::tests::rename_unknown_session_is_noop ... ok
[INFO] [stdout] test session::tests::run_argv_passes_the_command_as_a_single_un_interpolated_element ... ok
[INFO] [stdout] test session::tests::run_session_name_is_slug_prefixed ... ok
[INFO] [stdout] test session::tests::scrollback_bounds_reports_max_and_restores_offset ... ok
[INFO] [stdout] test session::tests::scrollback_lines_snapshots_every_line_in_order_and_restores_offset ... ok
[INFO] [stdout] test session::tests::scrollback_lines_with_no_history_is_the_visible_screen ... ok
[INFO] [stdout] test session::tests::session_name_is_slug_prefixed ... ok
[INFO] [stdout] test session::tests::spawn_after_reap_does_not_retry_when_the_first_attempt_succeeds ... ok
[INFO] [stdout] test session::tests::idle_durations_lists_spawned_sessions ... ok
[INFO] [stdout] test session::tests::kill_removes_named_session_and_leaves_others ... ok
[INFO] [stdout] test session::tests::spawn_after_reap_surfaces_first_error_without_a_reap ... ok
[INFO] [stdout] test session::tests::spawn_signature_takes_an_optional_command ... ok
[INFO] [stdout] test session::tests::tmux_reattach_ignores_start_dir_until_the_dead_session_is_reaped ... ok
[INFO] [stdout] test session::tests::viewer_argv_splits_falls_back_and_handles_single_token ... ok
[INFO] [stdout] test theme::tests::attention_stands_out_from_idle_and_hint ... ok
[INFO] [stdout] test theme::tests::focus_border_is_distinct_from_unfocused ... ok
[INFO] [stdout] test ui::palette::tests::empty_query_returns_all_palette_actions_in_order ... ok
[INFO] [stdout] test ui::palette::tests::fuzzy_query_matches_add_repo ... ok
[INFO] [stdout] test ui::palette::tests::fuzzy_query_ranks_best_match_first ... ok
[INFO] [stdout] test ui::palette::tests::nonsense_query_filters_everything_out ... ok
[INFO] [stdout] test ui::palette::tests::palette_excludes_nav_and_modal_actions ... ok
[INFO] [stdout] test ui::sidebar::tests::activity_span_attention_marker_is_bold ... ok
[INFO] [stdout] test ui::sidebar::tests::activity_span_attention_marker_is_distinct_from_plain_glyph ... ok
[INFO] [stdout] test ui::sidebar::tests::activity_span_plain_glyphs_are_unchanged ... ok
[INFO] [stdout] test ui::sidebar::tests::render_dims_archived_rows_when_shown ... ok
[INFO] [stdout] test ui::sidebar::tests::render_marks_a_missing_worktree_dir ... ok
[INFO] [stdout] test ui::sidebar::tests::render_repo_header_glyph_reflects_expansion ... ok
[INFO] [stdout] test session::tests::pty_pipeline_renders_command_output ... ok
[INFO] [stdout] test ui::sidebar::tests::sidebar_rows_expands_each_expanded_repo_independently ... ok
[INFO] [stdout] test ui::sidebar::tests::sidebar_rows_marks_empty_expanded_repo_and_hides_collapsed_one ... ok
[INFO] [stdout] test ui::statusbar::tests::every_scroll_hint_token_maps_to_a_scroll_binding ... ok
[INFO] [stdout] test ui::statusbar::tests::every_sidebar_hint_token_maps_to_a_primary_binding ... ok
[INFO] [stdout] test ui::statusbar::tests::statusbar_hides_attention_message_when_count_is_zero ... ok
[INFO] [stdout] test ui::statusbar::tests::statusbar_shows_attention_count_when_positive ... ok
[INFO] [stdout] test ui::tests::agent_cursor_shown_only_when_agent_focused ... ok
[INFO] [stdout] test ui::tests::agent_pane_size_reserves_a_row_for_the_tab_strip ... ok
[INFO] [stdout] test session::tests::scroll_up_reveals_history_and_bottom_snaps_back ... ok
[INFO] [stdout] test session::tests::rename_rekeys_session_preserving_entry_and_leaving_others ... ok
[INFO] [stdout] test ui::tests::help_overlay_is_derived_from_keymap_table ... ok
[INFO] [stdout] test ui::tests::renders_help_overlay ... ok
[INFO] [stdout] test ui::tests::renders_repo_name_and_keybind_hints ... ok
[INFO] [stdout] test ui::tests::renders_palette_overlay ... ok
[INFO] [stdout] test ui::tests::renders_status_line_when_set ... ok
[INFO] [stdout] test ui::tests::selection_reverses_the_selected_surface_cells ... ok
[INFO] [stdout] test ui::tests::tab_strip_highlights_the_active_tab ... ok
[INFO] [stdout] test vcs::tests::badge_dirty_only ... ok
[INFO] [stdout] test vcs::tests::badge_dirty_open_pr_passing ... ok
[INFO] [stdout] test ui::tests::renders_agent_pane_with_active_session_and_focus_without_panic ... ok
[INFO] [stdout] test vcs::tests::badge_empty_when_clean_and_no_pr ... ok
[INFO] [stdout] test vcs::tests::badge_open_pr_no_checks_omits_glyph ... ok
[INFO] [stdout] test vcs::tests::badge_merged_pr ... ok
[INFO] [stdout] test vcs::tests::is_dirty_detects_nonempty_porcelain ... ok
[INFO] [stdout] test vcs::tests::is_dirty_false_for_empty_or_blank ... ok
[INFO] [stdout] test vcs::tests::parse_empty_output_is_none ... ok
[INFO] [stdout] test vcs::tests::parse_legacy_status_context ... ok
[INFO] [stdout] test vcs::tests::parse_malformed_json_is_none ... ok
[INFO] [stdout] test vcs::tests::parse_missing_number_is_none ... ok
[INFO] [stdout] test vcs::tests::parse_open_pr_with_passing_checks ... ok
[INFO] [stdout] test vcs::tests::parse_pr_missing_rollup_is_none_checks ... ok
[INFO] [stdout] test vcs::tests::parse_pr_no_checks_is_none_checks ... ok
[INFO] [stdout] test vcs::tests::parse_pr_with_failing_check_wins ... ok
[INFO] [stdout] test vcs::tests::parse_pr_with_pending_check ... ok
[INFO] [stdout] test vcs::tests::parse_unknown_state_is_none ... ok
[INFO] [stdout] test vcs::tests::stateless_entry_does_not_yield_passing ... ok
[INFO] [stdout] test worktree::tests::add_new_branch_argv_empty_base_is_treated_as_unset ... ok
[INFO] [stdout] test worktree::tests::add_new_branch_argv_with_base_appends_it_as_final_discrete_arg ... ok
[INFO] [stdout] test worktree::tests::add_new_branch_argv_without_base_omits_it ... ok
[INFO] [stdout] test worktree::tests::copy_into_worktree_copies_a_file_with_its_contents ... ok
[INFO] [stdout] test worktree::tests::copy_into_worktree_creates_parent_dirs_for_a_nested_path ... ok
[INFO] [stdout] test ui::tests::tab_strip_renders_every_tab_title ... ok
[INFO] [stdout] test worktree::tests::copy_into_worktree_never_clobbers_an_existing_destination ... ok
[INFO] [stdout] test worktree::tests::copy_into_worktree_skips_missing_and_invalid_sources_without_panicking ... ok
[INFO] [stdout] test worktree::tests::parse_normal_detached_and_bare ... ok
[INFO] [stdout] test worktree::tests::slugify_collapses_trims_and_lowercases ... ok
[INFO] [stdout] test worktree::tests::slugify_example ... ok
[INFO] [stdout] test worktree::tests::parse_handles_final_block_without_trailing_newline ... ok
[INFO] [stdout] test worktree::tests::validate_rel_copy_path_accepts_simple_and_nested_relative_files ... ok
[INFO] [stdout] test worktree::tests::validate_rel_copy_path_rejects_a_directory_and_a_missing_source ... ok
[INFO] [stdout] test worktree::tests::validate_rel_copy_path_rejects_absolute_parent_and_empty ... ok
[INFO] [stdout] test worktree::tests::validate_rel_copy_path_rejects_a_symlink_resolving_outside_repo_root ... ok
[INFO] [stdout] test session::tests::spawn_after_reap_retries_after_a_reap_then_succeeds ... ok
[INFO] [stdout] test vcs::tests::dirty_on_real_temp_repo ... ok
[INFO] [stdout] test session::tests::spawn_after_reap_gives_up_after_the_bounded_retry_budget ... ok
[INFO] [stdout] test app::tests::refresh_on_plain_repo_yields_one_synthetic_worktree_and_no_git ... ok
[INFO] [stdout] test session::tests::idle_for_is_small_after_output_then_grows_when_quiet ... ok
[INFO] [stdout] test ui::sidebar::tests::render_shows_attention_marker_for_a_flagged_worktree ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 290 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.83s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/build/wtcc/e5778525364cd663/out/wtcc-e5778525364cd663)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test tests::notify_body_contains_the_branch_label ... ok
[INFO] [stdout] test tests::parse_args_help_flags ... ok
[INFO] [stdout] test tests::parse_args_no_args_is_run ... ok
[INFO] [stdout] test tests::parse_args_version_flags ... ok
[INFO] [stdout] test tests::parse_args_unknown_flag ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/agent_presets.rs (/opt/rustwide/target/debug/build/wtcc/390efd78418e71ae/out/agent_presets-390efd78418e71ae)
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test switch_agent_action_has_a_label ... ok
[INFO] [stdout] test registering_switch_agent_introduces_no_chord_collisions_in_primary ... ok
[INFO] [stdout] test primary_binds_a_key_to_switch_agent ... ok
[INFO] [stdout] test switch_agent_is_offered_in_the_palette ... ok
[INFO] [stdout] test a_recorded_choice_resolves_to_that_presets_cmd_at_spawn_time ... ok
[INFO] [stdout] test switch_agent_with_no_worktree_selected_is_rejected ... ok
[INFO] [stdout] test a_failed_save_rolls_the_choice_back_and_reports_it ... ok
[INFO] [stdout] test the_palette_switch_agent_command_opens_the_input_prompt ... ok
[INFO] [stderr]      Running tests/archive_worktree.rs (/opt/rustwide/target/debug/build/wtcc/bf156b8e7de8cca2/out/archive_worktree-bf156b8e7de8cca2)
[INFO] [stdout] test the_switch_agent_key_opens_the_switch_agent_input_prompt ... ok
[INFO] [stdout] test submitting_the_switch_agent_input_records_persists_and_restarts ... ok
[INFO] [stdout] test switching_to_an_unknown_preset_does_not_panic_and_falls_back ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 16 tests
[INFO] [stdout] test archive_actions_are_offered_in_the_palette_with_labels ... ok
[INFO] [stdout] test archive_keeps_the_worktree_on_disk_list_untouched ... ok
[INFO] [stdout] test archiving_the_selected_worktree_keeps_selection_within_bounds ... ok
[INFO] [stdout] test hit_test_maps_filtered_rows_to_real_worktree_indices ... ok
[INFO] [stdout] test primary_binds_x_to_toggle_archive_and_shift_x_to_show_archived ... ok
[INFO] [stdout] test archive_with_a_failing_save_rolls_the_marker_back_and_reports_it ... ok
[INFO] [stdout] test archive_then_unarchive_round_trips_and_persists_to_config ... ok
[INFO] [stdout] test archived_round_trips_and_empty_is_omitted_on_save ... ok
[INFO] [stdout] test archiving_the_selected_worktree_while_hidden_moves_selection_to_a_visible_neighbor ... ok
[INFO] [stdout] test legacy_repo_entry_without_archived_loads_with_empty_default ... ok
[INFO] [stdout] test registering_archive_keys_introduces_no_chord_collisions_in_primary ... ok
[INFO] [stdout] test show_archived_defaults_to_false ... ok
[INFO] [stdout] test sidebar_rows_includes_archived_when_shown_with_full_indices ... ok
[INFO] [stdout] test sidebar_rows_omits_archived_when_hidden_with_real_indices_preserved ... ok
[INFO] [stdout] test the_show_archived_key_toggles_the_show_archived_flag ... ok
[INFO] [stdout] test the_toggle_archive_key_archives_then_unarchives_the_selected_worktree ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/badge_severity.rs (/opt/rustwide/target/debug/build/wtcc/310d9d6cfb3ca909/out/badge_severity-310d9d6cfb3ca909)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test bad_outranks_dirty_and_pending ... ok
[INFO] [stdout] test ok_outranks_dirty ... ok
[INFO] [stdout] test dirty_only_is_dirty ... ok
[INFO] [stdout] test clean_no_pr_is_none ... ok
[INFO] [stdout] test closed_pr_is_bad ... ok
[INFO] [stdout] test pending_outranks_dirty ... ok
[INFO] [stdout] test open_failing_pr_is_bad ... ok
[INFO] [stdout] test open_passing_pr_is_ok ... ok
[INFO] [stdout] test severity_ranking_is_total_and_descending ... ok
[INFO] [stdout] test open_pending_pr_is_pending ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/copy_on_create.rs (/opt/rustwide/target/debug/build/wtcc/b5f3ed349abf5bb2/out/copy_on_create-b5f3ed349abf5bb2)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test add_worktree_copies_nested_path_creating_parent_dirs ... ok
[INFO] [stdout] test add_worktree_copies_on_the_existing_branch_path ... ok
[INFO] [stdout] test add_worktree_does_not_clobber_an_existing_destination ... ok
[INFO] [stdout] test add_worktree_copies_env_file_into_new_worktree ... ok
[INFO] [stdout] test add_worktree_skips_missing_source_without_error ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.22s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/keymap.rs (/opt/rustwide/target/debug/build/wtcc/f1b20283a1b0d8d8/out/keymap-f1b20283a1b0d8d8)
[INFO] [stdout] 
[INFO] [stdout] running 18 tests
[INFO] [stdout] test help_rows_group_multi_chord_aliases_with_slash ... ok
[INFO] [stdout] test in_palette_excludes_pure_nav_and_modal_actions ... ok
[INFO] [stdout] test dispatch_primary_binds_g_to_jump_attention ... ok
[INFO] [stdout] test every_binding_has_at_least_one_chord ... ok
[INFO] [stdout] test help_rows_emit_one_row_per_binding ... ok
[INFO] [stdout] test dispatch_primary_preserves_every_existing_binding ... ok
[INFO] [stdout] test jump_attention_is_offered_in_the_palette ... ok
[INFO] [stdout] test dispatch_primary_unbound_key_is_none ... ok
[INFO] [stdout] test palette_filter_empty_yields_exactly_the_palette_actions ... ok
[INFO] [stdout] test palette_filter_includes_jump_attention ... ok
[INFO] [stdout] test palette_filter_ranks_worktree_query_first ... ok
[INFO] [stdout] test no_duplicate_chords_in_agent ... ok
[INFO] [stdout] test palette_filter_nonsense_query_is_empty ... ok
[INFO] [stdout] test no_duplicate_chords_in_primary ... ok
[INFO] [stdout] test palette_and_help_share_one_label_per_action ... ok
[INFO] [stdout] test in_palette_includes_every_command_action ... ok
[INFO] [stdout] test dispatch_agent_reserves_only_ctrl_o_and_ctrl_q ... ok
[INFO] [stdout] test help_rows_render_single_chord_bindings_plainly ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/lifecycle_scripts.rs (/opt/rustwide/target/debug/build/wtcc/f44936739521200d/out/lifecycle_scripts-f44936739521200d)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test no_lifecycle_scripts_create_and_remove_unchanged ... ok
[INFO] [stdout] test failing_archive_does_not_block_removal ... ok
[INFO] [stdout] test add_worktree_status_reports_setup_only_when_configured ... ok
[INFO] [stdout] test archive_runs_in_worktree_dir_before_git_removal ... ok
[INFO] [stdout] test setup_runs_in_new_worktree_on_create ... ok
[INFO] [stdout] test hanging_archive_times_out_and_removal_proceeds ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 5.20s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/pr_actions.rs (/opt/rustwide/target/debug/build/wtcc/3da0cc6a66620d0b/out/pr_actions-3da0cc6a66620d0b)
[INFO] [stdout] 
[INFO] [stdout] running 29 tests
[INFO] [stdout] test branch_is_a_single_discrete_argv_element_even_with_shell_metacharacters ... ok
[INFO] [stdout] test config_default_merge_strategy_is_squash ... ok
[INFO] [stdout] test close_argv_is_pr_close_branch ... ok
[INFO] [stdout] test m_with_a_worktree_but_no_pr_sets_a_no_pr_status_and_opens_no_confirm ... ok
[INFO] [stdout] test mark_ready_argv_is_pr_ready_branch ... ok
[INFO] [stdout] test config_round_trips_a_non_default_merge_strategy ... ok
[INFO] [stdout] test confirming_close_dispatches_to_pr_close_branch_without_spawning_gh ... ok
[INFO] [stdout] test merge_argv_never_passes_delete_branch ... ok
[INFO] [stdout] test confirming_merge_dispatches_to_pr_merge_branch_without_spawning_gh ... ok
[INFO] [stdout] test merge_argv_uses_the_selected_strategy_flag ... ok
[INFO] [stdout] test legacy_config_without_merge_strategy_defaults_to_squash ... ok
[INFO] [stdout] test mark_ready_runs_immediately_with_no_confirm ... ok
[INFO] [stdout] test merge_strategy_default_is_squash ... ok
[INFO] [stdout] test n_aborts_the_merge_confirm ... ok
[INFO] [stdout] test palette_close_pr_opens_a_close_confirm ... ok
[INFO] [stdout] test open_in_browser_argv_is_pr_view_branch_web ... ok
[INFO] [stdout] test all_four_pr_actions_are_offered_in_the_palette ... ok
[INFO] [stdout] test pr_action_labels_match_the_acceptance_criteria ... ok
[INFO] [stdout] test m_opens_a_merge_confirm_naming_the_branch ... ok
[INFO] [stdout] test palette_lists_all_four_pr_actions ... ok
[INFO] [stdout] test palette_merge_pr_opens_a_merge_confirm ... ok
[INFO] [stdout] test primary_binds_o_to_open_pr_web ... ok
[INFO] [stdout] test pr_actions_with_no_worktree_set_status_and_open_no_overlay ... ok
[INFO] [stdout] test primary_binds_m_to_merge_pr ... ok
[INFO] [stdout] test registering_pr_keys_introduces_no_chord_collisions_in_primary ... ok
[INFO] [stdout] test open_in_browser_runs_immediately_with_no_confirm ... ok
[INFO] [stdout] test strategy_flag_maps_each_variant_to_its_gh_flag ... ok
[INFO] [stdout] test pr_actions_with_no_pr_set_a_no_pr_status_and_spawn_nothing ... ok
[INFO] [stdout] test render_confirm_shows_the_branch_for_merge_and_close_without_panicking ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 29 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/remove_worktree.rs (/opt/rustwide/target/debug/build/wtcc/054152aec6819fa4/out/remove_worktree-054152aec6819fa4)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test remove_worktree_succeeds_with_no_session_and_no_panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/rename_branch.rs (/opt/rustwide/target/debug/build/wtcc/11e396036aa646c5/out/rename_branch-11e396036aa646c5)
[INFO] [stdout] 
[INFO] [stdout] running 17 tests
[INFO] [stdout] test palette_rename_opens_the_rename_input_prompt ... ok
[INFO] [stdout] test rename_branch_argv_is_branch_dash_m_old_new ... ok
[INFO] [stdout] test rename_branch_argv_keeps_the_new_name_as_one_discrete_element ... ok
[INFO] [stdout] test rename_branch_empty_name_is_rejected ... ok
[INFO] [stdout] test rename_branch_on_a_bare_worktree_is_rejected ... ok
[INFO] [stdout] test rename_branch_is_offered_in_the_palette ... ok
[INFO] [stdout] test rename_branch_with_no_worktree_selected_is_rejected ... ok
[INFO] [stdout] test primary_binds_a_key_to_rename_branch ... ok
[INFO] [stdout] test rename_session_argv_is_rename_session_t_old_new ... ok
[INFO] [stdout] test registering_the_rename_key_introduces_no_chord_collisions_in_primary ... ok
[INFO] [stdout] test session_name_slugifies_the_new_branch ... ok
[INFO] [stdout] test rename_branch_action_has_a_label ... ok
[INFO] [stdout] test the_rename_key_opens_the_rename_input_prompt ... ok
[INFO] [stdout] test rename_branch_on_a_detached_worktree_is_rejected ... ok
[INFO] [stdout] test submitting_the_rename_input_performs_the_rename_and_closes_the_overlay ... ok
[INFO] [stdout] test rename_branch_errors_on_a_name_collision ... ok
[INFO] [stdout] test rename_branch_renames_in_place_leaving_the_worktree_dir_unmoved ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/repository_registration.rs (/opt/rustwide/target/debug/build/wtcc/f3df9b3124d9c027/out/repository_registration-f3df9b3124d9c027)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test register_invalid_path_sets_status_without_adding ... ok
[INFO] [stdout] test register_non_git_directory_registers_as_a_plain_repo ... ok
[INFO] [stdout] test register_empty_or_whitespace_sets_status_without_adding ... ok
[INFO] [stdout] test register_duplicate_path_does_not_add_twice ... ok
[INFO] [stdout] test register_adds_repo_and_persists_to_config ... ok
[INFO] [stderr]      Running tests/run_script.rs (/opt/rustwide/target/debug/build/wtcc/738d7ecaa61b6db8/out/run_script-738d7ecaa61b6db8)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test primary_binds_s_to_run_script ... ok
[INFO] [stdout] test registering_run_script_introduces_no_chord_collisions_in_primary ... ok
[INFO] [stdout] test run_script_is_offered_in_the_palette_with_a_label ... ok
[INFO] [stdout] test s_is_not_reserved_in_agent_focus ... ok
[INFO] [stdout] test s_in_sidebar_focus_with_no_run_sets_status_and_opens_no_tab ... ok
[INFO] [stdout] test s_in_agent_focus_does_not_open_a_run_tab ... ok
[INFO] [stdout] test s_in_sidebar_focus_opens_a_run_tab_when_configured ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/tabs.rs (/opt/rustwide/target/debug/build/wtcc/889d044db0db0ed0/out/tabs-889d044db0db0ed0)
[INFO] [stdout] 
[INFO] [stdout] running 19 tests
[INFO] [stdout] test add_shell_tab_appends_monotonic_session_names_and_focuses ... ok
[INFO] [stdout] test active_tab_reflects_the_active_index ... ok
[INFO] [stdout] test close_active_removes_shell_returns_session_and_adjusts_active ... ok
[INFO] [stdout] test new_seeds_a_single_agent_tab ... ok
[INFO] [stdout] test close_active_refuses_the_only_tab ... ok
[INFO] [stdout] test next_and_prev_are_noops_with_a_single_tab ... ok
[INFO] [stdout] test next_and_prev_wrap_across_three_tabs ... ok
[INFO] [stdout] test primary_binds_the_tab_management_chords ... ok
[INFO] [stdout] test next_id_stays_monotonic_after_a_close ... ok
[INFO] [stdout] test registering_tab_keys_introduces_no_chord_collisions_in_primary ... ok
[INFO] [stdout] test shell_tab_names_share_the_slug_with_the_agent_session ... ok
[INFO] [stdout] test close_active_in_the_middle_keeps_a_following_tab_active ... ok
[INFO] [stdout] test close_active_refuses_the_agent_tab ... ok
[INFO] [stdout] test tab_keys_are_not_reserved_in_agent_focus ... ok
[INFO] [stdout] test tab_actions_are_offered_in_the_palette_with_labels ... ok
[INFO] [stdout] test tab_keys_in_agent_focus_do_not_manage_tabs ... ok
[INFO] [stdout] test t_in_sidebar_focus_adds_a_shell_tab_to_the_current_worktree ... ok
[INFO] [stdout] test w_in_sidebar_focus_closes_the_active_shell_tab ... ok
[INFO] [stdout] test bracket_keys_cycle_the_active_tab_in_sidebar_focus ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/theme.rs (/opt/rustwide/target/debug/build/wtcc/36a6d58ff6bc4341/out/theme-36a6d58ff6bc4341)
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test default_activity_states_are_distinctly_colored ... ok
[INFO] [stdout] test default_pr_severity_colors_are_mutually_distinct ... ok
[INFO] [stdout] test default_attention_is_distinct_from_idle_and_hint ... ok
[INFO] [stdout] test theme_is_copy ... ok
[INFO] [stdout] test default_pr_severity_colors_match_documented_baseline ... ok
[INFO] [stdout] test default_dirty_is_a_real_color ... ok
[INFO] [stdout] test default_focus_border_is_distinct_from_unfocused_border ... ok
[INFO] [stdout] test default_status_and_hint_are_distinct ... ok
[INFO] [stdout] test default_accent_is_a_real_color ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/ui_theme.rs (/opt/rustwide/target/debug/build/wtcc/ef5c53e612acf391/out/ui_theme-ef5c53e612acf391)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test attention_marker_uses_attention_color ... ok
[INFO] [stdout] test statusbar_hints_use_hint_color ... ok
[INFO] [stdout] test statusbar_status_line_uses_status_color ... ok
[INFO] [stdout] test pr_badge_cell_uses_severity_color ... ok
[INFO] [stdout] test focused_sidebar_renders_border_focus_color ... ok
[INFO] [stdout] test switching_focus_to_agent_moves_the_colored_border ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/worktree.rs (/opt/rustwide/target/debug/build/wtcc/d3694fe1ac9188be/out/worktree-d3694fe1ac9188be)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test add_list_remove_worktree_flow ... ok
[INFO] [stdout] test stale_worktree_still_lists_and_can_be_pruned ... ok
[INFO] [stdout] test add_new_branch_without_base_branches_from_head ... ok
[INFO] [stdout] test add_existing_branch_checks_it_out_without_duplicate_error ... ok
[INFO] [stdout] test branch_exists_true_for_existing_false_otherwise ... ok
[INFO] [stdout] test add_new_branch_from_base_ref_lands_on_that_ref ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests wtcc
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "de1a8177bba0f6ab813181da2dc15816e7802cbd302f382b76229e190f4cb079", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "de1a8177bba0f6ab813181da2dc15816e7802cbd302f382b76229e190f4cb079", kill_on_drop: false }`
[INFO] [stdout] de1a8177bba0f6ab813181da2dc15816e7802cbd302f382b76229e190f4cb079
