[INFO] fetching crate gistui 0.25.0...
[INFO] testing gistui-0.25.0 against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate gistui 0.25.0 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate gistui 0.25.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate gistui 0.25.0
[INFO] tweaked toml for crates.io crate gistui 0.25.0 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate gistui 0.25.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 gistui 0.25.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:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 0843ec741a36f0736b102a8d658687367c1d8ca179059e0ebdf9f9040ac8c485
[INFO] running `Command { std: "docker" "start" "0843ec741a36f0736b102a8d658687367c1d8ca179059e0ebdf9f9040ac8c485", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0843ec741a36f0736b102a8d658687367c1d8ca179059e0ebdf9f9040ac8c485", 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" "0843ec741a36f0736b102a8d658687367c1d8ca179059e0ebdf9f9040ac8c485" "/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" "0843ec741a36f0736b102a8d658687367c1d8ca179059e0ebdf9f9040ac8c485", 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" "0843ec741a36f0736b102a8d658687367c1d8ca179059e0ebdf9f9040ac8c485" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling either v1.16.0
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]    Compiling cc v1.2.64
[INFO] [stderr]    Compiling memchr v2.8.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling strum_macros v0.28.0
[INFO] [stderr]    Compiling hybrid-array v0.4.12
[INFO] [stderr]    Compiling compact_str v0.9.1
[INFO] [stderr]    Compiling lru v0.18.0
[INFO] [stderr]    Compiling simd-adler32 v0.3.9
[INFO] [stderr]    Compiling critical-section v1.2.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling rustls-pki-types v1.14.1
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling mio v1.2.1
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling syn v3.0.2
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling miniz_oxide v0.9.1
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling crypto-common v0.2.2
[INFO] [stderr]    Compiling block-buffer v0.12.0
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling line-clipping v0.3.7
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling bytes v1.12.0
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling zlib-rs v0.6.4
[INFO] [stderr]    Compiling toml_parser v1.1.3+spec-1.1.0
[INFO] [stderr]    Compiling kasuari v0.4.12
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling bumpalo v3.20.3
[INFO] [stderr]    Compiling digest v0.11.3
[INFO] [stderr]    Compiling http v1.4.2
[INFO] [stderr]    Compiling toml_writer v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling base64 v0.23.1
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling strum v0.28.0
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling clap_builder v4.6.7
[INFO] [stderr]    Compiling zopfli v0.8.3
[INFO] [stderr]    Compiling webpki-roots v1.0.7
[INFO] [stderr]    Compiling filetime v0.2.29
[INFO] [stderr]    Compiling typed-path v0.12.3
[INFO] [stderr]    Compiling nohash-hasher v0.2.0
[INFO] [stderr]    Compiling unicode-truncate v2.0.1
[INFO] [stderr]    Compiling utf8-zero v0.8.1
[INFO] [stderr]    Compiling ratatui-core v0.1.2
[INFO] [stderr]    Compiling char_index v0.1.5
[INFO] [stderr]    Compiling if_chain v1.0.3
[INFO] [stderr]    Compiling toml v1.1.6+spec-1.1.0
[INFO] [stderr]    Compiling dirs v7.0.0
[INFO] [stderr]    Compiling toml_edit v0.25.15+spec-1.1.0
[INFO] [stderr]    Compiling sha2 v0.11.0
[INFO] [stderr]    Compiling sha1 v0.11.0
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling flate2 v1.1.10
[INFO] [stderr]    Compiling ratatui-widgets v0.3.2
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.2
[INFO] [stderr]    Compiling clap_derive v4.6.7
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling xattr v1.6.1
[INFO] [stderr]    Compiling ureq-proto v0.6.3
[INFO] [stderr]    Compiling tar v0.4.46
[INFO] [stderr]    Compiling zip v8.6.0
[INFO] [stderr]    Compiling ratatui-macros v0.7.2
[INFO] [stderr]    Compiling ratatui v0.30.2
[INFO] [stderr]    Compiling similar v3.2.0
[INFO] [stderr]    Compiling clap v4.6.7
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling synoptic v2.2.9
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling ureq v3.4.2
[INFO] [stderr]    Compiling gistui v0.25.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 2m 12s
[INFO] running `Command { std: "docker" "inspect" "0843ec741a36f0736b102a8d658687367c1d8ca179059e0ebdf9f9040ac8c485", 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" "0843ec741a36f0736b102a8d658687367c1d8ca179059e0ebdf9f9040ac8c485" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling xattr v1.6.1
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling tar v0.4.46
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.2
[INFO] [stderr]    Compiling ratatui v0.30.2
[INFO] [stderr]    Compiling gistui v0.25.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 36s
[INFO] running `Command { std: "docker" "inspect" "0843ec741a36f0736b102a8d658687367c1d8ca179059e0ebdf9f9040ac8c485", 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" "0843ec741a36f0736b102a8d658687367c1d8ca179059e0ebdf9f9040ac8c485" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.24s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/build/gistui/da173d64e5b42a46/out/gistui-da173d64e5b42a46)
[INFO] [stdout] 
[INFO] [stdout] running 952 tests
[INFO] [stdout] test actions::tests::clipboard_candidates_empty_for_unknown_os ... ok
[INFO] [stdout] test actions::tests::clipboard_candidates_pick_the_platform_tool ... ok
[INFO] [stdout] test actions::tests::gist_web_url_builds_canonical_gist_link ... ok
[INFO] [stdout] test actions::tests::download_writes_new_file_without_confirmation ... ok
[INFO] [stdout] test actions::tests::overwrite_confirmed_is_not_a_public_bool_field ... ok
[INFO] [stdout] test config::tests::config_path_falls_back_to_home_config_when_xdg_config_home_is_unset ... ok
[INFO] [stdout] test config::tests::display_path_with_home_falls_back_without_home ... ok
[INFO] [stdout] test actions::tests::open_url_command_picks_platform_opener ... ok
[INFO] [stdout] test config::tests::check_updates_defaults_to_true_when_absent ... ok
[INFO] [stdout] test config::tests::config_path_uses_xdg_config_home_when_set ... ok
[INFO] [stdout] test actions::tests::download_refuses_create_new_when_target_exists ... ok
[INFO] [stdout] test config::tests::display_path_with_home_keeps_paths_outside_home ... ok
[INFO] [stdout] test config::tests::display_path_matches_helper_with_real_home ... ok
[INFO] [stdout] test cache::tests::load_missing_file_is_none ... ok
[INFO] [stdout] test config::tests::display_path_with_home_is_tilde_for_home_root ... ok
[INFO] [stdout] test config::tests::display_path_with_home_uses_forward_slashes_in_suffix ... ok
[INFO] [stdout] test cache::tests::save_then_load_round_trips ... ok
[INFO] [stdout] test cache::tests::load_corrupt_file_is_none ... ok
[INFO] [stdout] test actions::tests::download_overwrites_existing_when_token_present ... ok
[INFO] [stdout] test actions::tests::open_browser_command_targets_gist_web_view ... ok
[INFO] [stdout] test config::tests::ignore_trailing_newline_round_trips ... ok
[INFO] [stdout] test config::tests::display_path_with_home_shortens_path_under_home ... ok
[INFO] [stdout] test config::tests::load_config_rejects_a_pin_with_no_name_to_default_to ... ok
[INFO] [stdout] test config::tests::config_path_falls_back_to_home_config_when_xdg_config_home_is_empty ... ok
[INFO] [stdout] test config::tests::load_config_defaults_a_missing_gist_filename_to_the_local_file_name ... ok
[INFO] [stdout] test config::tests::ignore_trailing_newline_defaults_to_true_when_absent ... ok
[INFO] [stdout] test config::tests::normalize_path_expands_home_prefix ... ok
[INFO] [stdout] test config::tests::normalize_path_joins_relative_path_to_current_dir ... ok
[INFO] [stdout] test config::tests::mouse_defaults_to_true_when_absent ... ok
[INFO] [stdout] test config::tests::missing_config_loads_default ... ok
[INFO] [stdout] test config::tests::mouse_round_trips ... ok
[INFO] [stdout] test config::tests::normalize_line_endings_defaults_to_true_when_absent ... ok
[INFO] [stdout] test config::tests::display_path_with_home_preserves_spaces ... ok
[INFO] [stdout] test config::tests::normalize_line_endings_round_trips ... ok
[INFO] [stdout] test config::tests::normalize_path_preserves_absolute_path ... ok
[INFO] [stdout] test config::tests::resolve_working_dir_rejects_a_file ... ok
[INFO] [stdout] test config::tests::resolve_working_dir_accepts_an_existing_directory ... ok
[INFO] [stdout] test config::tests::resolve_working_dir_rejects_a_missing_path ... ok
[INFO] [stdout] test config::tests::resolve_working_dir_defaults_to_current_dir_when_none ... ok
[INFO] [stdout] test config::tests::save_config_keeps_only_custom_values ... ok
[INFO] [stdout] test config::tests::save_config_omits_defaults_and_round_trips ... ok
[INFO] [stdout] test config::tests::save_config_writes_every_custom_value_in_a_stable_layout ... ok
[INFO] [stdout] test config::tests::save_config_edits_pins_in_place ... ok
[INFO] [stdout] test config::tests::save_config_keeps_a_copied_example_config_intact ... ok
[INFO] [stdout] test config::tests::saves_and_loads_pinned_mapping ... ok
[INFO] [stdout] test config::tests::save_config_removes_a_key_changed_back_to_its_default ... ok
[INFO] [stdout] test config_store::tests::an_unconfigured_store_refuses_to_touch_a_file ... ok
[INFO] [stdout] test config::tests::save_config_updates_a_value_in_place ... ok
[INFO] [stdout] test config::tests::save_config_keeps_crlf_line_endings ... ok
[INFO] [stdout] test config_store::tests::record_sync_never_creates_a_pin ... ok
[INFO] [stdout] test config_store::tests::pin_persists_the_pair_it_was_given ... ok
[INFO] [stdout] test config_store::tests::an_unreadable_config_surfaces_as_an_error ... ok
[INFO] [stdout] test config_store::tests::an_unwritable_config_path_surfaces_as_an_error ... ok
[INFO] [stdout] test config_store::tests::record_sync_finds_a_relative_pin_and_leaves_it_relative ... ok
[INFO] [stdout] test config_store::tests::pinning_an_existing_pair_preserves_its_recorded_sync_state ... ok
[INFO] [stdout] test config_store::tests::unpin_persists_the_removal_and_reports_it ... ok
[INFO] [stdout] test config_store::tests::pin_keeps_a_sibling_on_the_same_local_path ... ok
[INFO] [stdout] test config_store::tests::record_sync_stores_the_content_hash_and_direction ... ok
[INFO] [stdout] test config_store::tests::unpin_reports_a_key_the_stored_config_never_held ... ok
[INFO] [stdout] test config::tests::save_config_keeps_comments_unknown_keys_and_untouched_values ... ok
[INFO] [stdout] test config_store::tests::every_operation_reports_both_projected_fields ... ok
[INFO] [stdout] test config_store::tests::record_sync_without_a_direction_updates_the_hash_only ... ok
[INFO] [stdout] test config_store::tests::save_preferences_keeps_the_pins_and_load_reads_both ... ok
[INFO] [stdout] test diff::tests::lone_cr_line_ending_is_also_normalized ... ok
[INFO] [stdout] test diff::tests::diff_shows_insert_and_delete ... ok
[INFO] [stdout] test diff::tests::ignore_trailing_newline_still_shows_real_changes ... ok
[INFO] [stdout] test diff::tests::collapse_context_keeps_changes_and_nearby_context ... ok
[INFO] [stdout] test diff::tests::content_eq_ignores_line_ending_style ... ok
[INFO] [stdout] test diff::tests::crlf_vs_lf_only_difference_produces_no_diff ... ok
[INFO] [stdout] test diff::tests::collapse_context_with_large_radius_is_lossless ... ok
[INFO] [stdout] test diff::tests::trailing_newline_only_difference_is_a_phantom_when_strict ... ok
[INFO] [stdout] test diff::tests::collapse_context_separates_disjoint_hunks ... ok
[INFO] [stdout] test domain::json_tests::test_transform_json_noop ... ok
[INFO] [stdout] test diff::tests::content_eq_respects_trailing_newline_setting ... ok
[INFO] [stdout] test diff::tests::missing_newline_on_a_non_final_line_does_not_merge_into_the_next ... ok
[INFO] [stdout] test domain::json_tests::test_transform_json_invalid ... ok
[INFO] [stdout] test domain::json_tests::test_transform_json_pretty_and_sort ... ok
[INFO] [stdout] test diff::tests::ignore_trailing_newline_suppresses_the_phantom ... ok
[INFO] [stdout] test config_store::tests::unpin_spares_siblings_on_the_same_local_path ... ok
[INFO] [stdout] test domain::tests::non_previewable_reason_labels_images ... ok
[INFO] [stdout] test domain::tests::groups_files_by_gist_with_counts_and_order ... ok
[INFO] [stdout] test domain::tests::read_text_file_capped_reads_small_file ... ok
[INFO] [stdout] test domain::json_tests::test_transform_json_sort_only ... ok
[INFO] [stdout] test domain::tests::parse_rfc3339_to_unix_rejects_garbage ... ok
[INFO] [stdout] test domain::tests::humanize_age_buckets ... ok
[INFO] [stdout] test domain::json_tests::test_transform_json_pretty_only ... ok
[INFO] [stdout] test domain::tests::ensure_text_size_rejects_over_limit ... ok
[INFO] [stdout] test domain::tests::gist_file_fixture_is_identity_plus_default ... ok
[INFO] [stdout] test domain::tests::gist_file_ref_to_gist_file_matches_for_sync ... ok
[INFO] [stdout] test domain::tests::gist_file_for_sync_is_fixture_plus_raw_url ... ok
[INFO] [stdout] test domain::tests::git_blob_sha1_matches_git_hash_object ... ok
[INFO] [stdout] test domain::tests::gist_file_previewable_uses_mime_and_extension ... ok
[INFO] [stdout] test domain::tests::parse_rfc3339_to_unix_known_values ... ok
[INFO] [stdout] test domain::tests::empty_input_yields_no_groups ... ok
[INFO] [stdout] test domain::tests::raw_url_blob_sha_reads_and_replaces_the_sha_segment ... ok
[INFO] [stdout] test domain::tests::read_text_file_capped_rejects_oversized_by_metadata ... ok
[INFO] [stdout] test domain::tests::sha256_hex_matches_known_vector ... ok
[INFO] [stdout] test domain::tests::sync_status_icons ... ok
[INFO] [stdout] test gh::comments::tests::comments_page_plan_builds_single_page_request ... ok
[INFO] [stdout] test gh::comments::tests::last_page_is_ceiling_division ... ok
[INFO] [stdout] test gh::compact::tests::compact_in_dir_clones_resolves_the_branch_then_runs_the_plans ... ok
[INFO] [stdout] test gh::comments::tests::parse_link_rel_extracts_page_not_per_page ... ok
[INFO] [stdout] test gh::compact::tests::compact_in_dir_stops_at_the_first_failing_plan ... ok
[INFO] [stdout] test gh::compact::tests::gist_revision_count_command_uses_history_length_jq ... ok
[INFO] [stdout] test gh::forks::tests::apply_fork_of_ids_stamps_all_file_rows ... ok
[INFO] [stdout] test gh::compact::tests::parse_revision_count_reads_trimmed_integer ... ok
[INFO] [stdout] test gh::comments::tests::comments_probe_plan_uses_include_and_per_page_1 ... ok
[INFO] [stdout] test gh::comments::tests::comments_total_from_probe_uses_rel_last ... ok
[INFO] [stdout] test gh::comments::tests::parse_link_rel_none_when_no_link_header ... ok
[INFO] [stdout] test gh::compact::tests::compact_auth_hint_flags_git_auth_failures ... ok
[INFO] [stdout] test gh::compact::tests::compact_in_dir_bails_before_touching_history_when_the_branch_is_blank ... ok
[INFO] [stdout] test gh::compact::tests::current_branch_command_reads_head ... ok
[INFO] [stdout] test gh::compact::tests::compact_auth_hint_ignores_unrelated_errors ... ok
[INFO] [stdout] test gh::compact::tests::gist_clone_command_clones_over_https_into_dir ... ok
[INFO] [stdout] test gh::compact::tests::compact_git_plans_squash_to_one_commit_and_force_push ... ok
[INFO] [stdout] test gh::comments::tests::comments_total_from_probe_counts_body_when_single_page ... ok
[INFO] [stdout] test gh::comments::tests::parses_comment_counts_defaulting_to_zero ... ok
[INFO] [stdout] test gh::gists::tests::null_description_parses_as_empty_string ... ok
[INFO] [stdout] test gh::gists::tests::parses_gist_list_into_file_rows ... ok
[INFO] [stdout] test gh::forks::tests::collect_owned_fork_of_ids_with_surfaces_graphql_failure ... ok
[INFO] [stdout] test gh::mutations::tests::create_command_includes_public_and_description ... ok
[INFO] [stdout] test gh::mutations::tests::create_command_omits_desc_flag_when_description_empty ... ok
[INFO] [stdout] test gh::mutations::tests::delete_command_targets_gist_delete ... ok
[INFO] [stdout] test gh::gists::tests::fetch_gist_file_content_falls_back_to_raw_url ... ok
[INFO] [stdout] test gh::mutations::tests::create_command_defaults_to_secret ... ok
[INFO] [stdout] test gh::forks::tests::parses_forked_gist_ids_from_graphql ... ok
[INFO] [stdout] test gh::forks::tests::fork_flags_query_escapes_cursor_and_omits_after_on_first_page ... ok
[INFO] [stdout] test gh::mutations::tests::fork_gist_command_posts_forks_endpoint ... ok
[INFO] [stdout] test gh::mutations::tests::remove_file_command_removes_single_file ... ok
[INFO] [stdout] test gh::revisions::tests::build_gist_revision_raw_url_includes_owner_when_known ... ok
[INFO] [stdout] test gh::revisions::tests::fetch_revision_file_falls_back_when_revision_api_fails ... ok
[INFO] [stdout] test gh::mutations::tests::star_gist_command_puts_star_endpoint ... ok
[INFO] [stdout] test gh::mutations::tests::unstar_gist_command_deletes_star_endpoint ... ok
[INFO] [stdout] test gh::forks::tests::collect_gist_fork_counts_with_probes_zero_entries ... ok
[INFO] [stdout] test gh::gists::tests::fetch_gist_file_content_fetches_a_truncated_file_from_its_fresh_raw_url ... ok
[INFO] [stdout] test gh::mutations::tests::upload_add_command_adds_local_file_to_gist ... ok
[INFO] [stdout] test gh::forks::tests::fork_flags_page_reports_next_cursor_then_stops ... ok
[INFO] [stdout] test gh::mutations::tests::upload_command_replaces_specific_gist_file ... ok
[INFO] [stdout] test gh::gists::tests::parses_starred_gist_ids ... ok
[INFO] [stdout] test gh::gists::tests::a_raw_file_that_is_not_utf8_fails ... ok
[INFO] [stdout] test gh::gists::tests::fetch_gist_file_content_falls_back_when_the_record_lacks_the_file ... ok
[INFO] [stdout] test gh::forks::tests::collect_owned_fork_of_ids_with_maps_owned_forks ... ok
[INFO] [stdout] test gh::mutations::tests::edit_description_command_patches_via_rest_api ... ok
[INFO] [stdout] test gh::forks::tests::parses_fork_counts_from_forks_array ... ok
[INFO] [stdout] test gh::revisions::tests::restore_revision_command_patches_via_input_file ... ok
[INFO] [stdout] test gh::revisions::tests::restore_revision_json_wraps_file_content ... ok
[INFO] [stdout] test gh::revisions::tests::fetch_revision_file_reads_present_truncated_and_missing ... ok
[INFO] [stdout] test gh::stars::tests::build_stargazer_graphql_query_aliases_nodes ... ok
[INFO] [stdout] test gh::revisions::tests::parses_gist_commits_into_revisions ... ok
[INFO] [stdout] test local::tests::recursive_custom_skip_dirs_are_respected ... ok
[INFO] [stdout] test gh::stars::tests::parses_stargazer_counts_graphql_aliases ... ok
[INFO] [stdout] test lru::tests::evicts_least_recently_used_on_overflow ... ok
[INFO] [stdout] test lru::tests::get_marks_entry_most_recently_used ... ok
[INFO] [stdout] test local::tests::empty_dir_yields_no_candidates ... ok
[INFO] [stdout] test local::tests::recursive_discovery_deduplicates_flat_aliases_by_path_priority ... ok
[INFO] [stdout] test lru::tests::reinsert_updates_value_without_growing ... ok
[INFO] [stdout] test gh::gists::tests::fetch_gist_file_content_keeps_a_missing_final_newline ... ok
[INFO] [stdout] test lru::tests::remove_drops_entry_and_frees_a_slot ... ok
[INFO] [stdout] test local::tests::discovers_cwd_files_only ... ok
[INFO] [stdout] test local::tests::recursive_deduplication_prefers_the_shallowest_unpinned_alias ... ok
[INFO] [stdout] test gh::stars::tests::build_stargazer_graphql_query_escapes_quotes_and_backslashes ... ok
[INFO] [stdout] test local::tests::recursive_finds_nested_files ... ok
[INFO] [stdout] test local::tests::recursive_includes_hidden_paths_excludes_vcs_and_deduplicates_aliases ... ok
[INFO] [stdout] test merge::tests::ignored_empty_final_newline_has_no_hunk_and_eol_only_changes_are_labelled ... ok
[INFO] [stdout] test merge::tests::insertion_deletion_empty_and_eof_keep_exact_bytes ... ok
[INFO] [stdout] test local::tests::recursive_skips_denied_dirs ... ok
[INFO] [stdout] test pins::tests::an_absolute_stored_path_passes_through_unchanged ... ok
[INFO] [stdout] test pins::tests::a_mappings_key_round_trips_to_itself ... ok
[INFO] [stdout] test lru::tests::remove_where_drops_every_matching_entry ... ok
[INFO] [stdout] test local::tests::discovers_cwd_files_ignoring_an_outside_pinned_path ... ok
[INFO] [stdout] test pins::tests::differing_in_the_gist_filename_alone_is_a_different_pin ... ok
[INFO] [stdout] test pins::tests::a_relative_pin_is_one_pin_with_its_absolute_path ... ok
[INFO] [stdout] test pins::tests::position_reports_the_index_of_a_later_match ... ok
[INFO] [stdout] test ranking::tests::exact_filename_ranks_above_no_match ... ok
[INFO] [stdout] test pins::tests::remove_takes_the_first_of_two_exact_duplicates ... ok
[INFO] [stdout] test pins::tests::upsert_keeps_siblings_sharing_a_local_path ... ok
[INFO] [stdout] test pins::tests::upsert_of_an_existing_pin_leaves_it_completely_alone ... ok
[INFO] [stdout] test merge::tests::collapsed_later_hunk_splices_absolute_utf8_ranges ... ok
[INFO] [stdout] test sync_baseline::tests::a_full_baseline_compares_both_sides_by_hash ... ok
[INFO] [stdout] test sync_baseline::tests::a_full_baseline_ignores_timestamps ... ok
[INFO] [stdout] test sync_baseline::tests::a_full_baseline_reports_a_local_file_it_cannot_read ... ok
[INFO] [stdout] test pins::tests::a_relative_stored_path_joins_the_cwd ... ok
[INFO] [stdout] test ranking::tests::pinned_mapping_wins_over_filename_match ... ok
[INFO] [stdout] test pins::tests::remove_reports_no_match_without_touching_the_list ... ok
[INFO] [stdout] test merge::tests::policy_ignores_newlines_and_saved_side_cannot_be_undone ... ok
[INFO] [stdout] test ranking::tests::rank_local_files_prefers_exact_filename_match_to_the_gist ... ok
[INFO] [stdout] test sync_baseline::tests::a_matching_local_hash_overrules_the_timestamps ... ok
[INFO] [stdout] test pins::tests::remove_takes_only_the_named_pin_and_spares_its_siblings ... ok
[INFO] [stdout] test lru::tests::zero_capacity_is_clamped_to_one ... ok
[INFO] [stdout] test merge::tests::opposite_directions_keep_unselected_hunks_and_undo_both ... ok
[INFO] [stdout] test ranking::tests::rank_local_files_pin_outranks_filename ... ok
[INFO] [stdout] test ranking::tests::filename_tie_break_ascending_when_marks_are_equal ... ok
[INFO] [stdout] test pins::tests::is_pinned_needs_all_three_components_to_agree ... ok
[INFO] [stdout] test ranking::tests::mark_rank_is_explicit_not_discriminant_order ... ok
[INFO] [stdout] test sync_baseline::tests::without_a_full_baseline_the_newer_side_wins ... ok
[INFO] [stdout] test sync_content::tests::identical_honours_ignore_trailing_newline ... ok
[INFO] [stdout] test sync_content::tests::identical_with_normalization_off_ignores_only_a_final_line_ending ... ok
[INFO] [stdout] test sync_baseline::tests::a_differing_local_hash_keeps_the_timestamp_verdict ... ok
[INFO] [stdout] test pins::tests::position_still_needs_the_gist_file_to_agree ... ok
[INFO] [stdout] test sync_baseline::tests::after_sync_hashes_each_side_its_own_way ... ok
[INFO] [stdout] test sync_content::tests::line_ending_note_survives_collapsed_context ... ok
[INFO] [stdout] test sync_content::tests::line_ending_table ... ok
[INFO] [stdout] test sync_content::tests::outbound_and_to_disk_follow_the_setting ... ok
[INFO] [stdout] test sync_content::tests::preview_diff_flips_with_orientation ... ok
[INFO] [stdout] test tui::bg::tests::cancel_action_cancels_reads_but_not_gist_mutations ... ok
[INFO] [stdout] test tui::bg::tests::on_action_outcome_ignores_stale_generation ... ok
[INFO] [stdout] test tui::bg::tests::on_local_scan_ready_current_failure_keeps_candidates_and_reports_error ... ok
[INFO] [stdout] test tui::bg::tests::on_local_scan_ready_ignores_stale_generation ... ok
[INFO] [stdout] test temp_dir::tests::unique_paths_differ_across_calls ... ok
[INFO] [stdout] test tui::bg::tests::on_local_scan_ready_success_preserves_a_newer_status ... ok
[INFO] [stdout] test temp_dir::tests::with_temp_scratch_dir_creates_dir_and_cleans_up_on_success ... ok
[INFO] [stdout] test tui::bg::tests::on_local_scan_ready_applies_current_generation_and_clears_its_own_status_only ... ok
[INFO] [stdout] test temp_dir::tests::with_temp_scratch_dir_cleans_up_on_body_error ... ok
[INFO] [stdout] test temp_dir::tests::create_file_is_exclusive ... ok
[INFO] [stdout] test tui::bg::tests::on_update_check_ready_noop_when_channel_empty ... ok
[INFO] [stdout] test temp_dir::tests::scratch_dir_and_files_are_owner_only_on_unix ... ok
[INFO] [stdout] test tui::bg::tests::on_upload_watch_events_drains_until_terminal_event ... ok
[INFO] [stdout] test tui::bg::tests::on_local_scan_ready_current_disconnect_ends_the_spinner ... ok
[INFO] [stdout] test temp_dir::tests::scratch_dir_drop_cleans_up_after_move ... ok
[INFO] [stdout] test tui::bg::tests::mouse_capture_applies_to_stdout_matches_is_terminal ... ok
[INFO] [stdout] test tui::bg::tests::on_local_scan_ready_noop_when_no_scan_is_in_flight ... ok
[INFO] [stdout] test tui::bg::tests::on_local_scan_ready_stale_disconnect_is_ignored ... ok
[INFO] [stdout] test tui::bg::tests::returns_none_and_leaves_slot_when_empty ... ok
[INFO] [stdout] test tui::bg::tests::on_update_check_ready_up_to_date_clears_available_and_persists_empty ... ok
[INFO] [stdout] test tui::bg::tests::write_scratch_file_reports_a_write_failure_and_leaves_nothing_behind ... ok
[INFO] [stdout] test tui::diff_geometry::tests::horizontal_bounds_count_characters_and_wrapping_disables_right ... ok
[INFO] [stdout] test pins::tests::a_relative_pin_is_found_by_its_resolved_absolute_path ... ok
[INFO] [stdout] test sync_content::tests::write_download_returns_the_bytes_on_disk ... ok
[INFO] [stdout] test tui::bg::tests::returns_none_when_slot_already_empty ... ok
[INFO] [stdout] test tui::bg::tests::treats_disconnected_sender_like_empty ... ok
[INFO] [stdout] test tui::bg::tests::write_scratch_file_hands_back_a_path_inside_a_live_scratch_dir ... ok
[INFO] [stdout] test tui::diff_geometry::tests::navigation_uses_ten_rows_last_row_bounds_and_the_next_hunk ... ok
[INFO] [stdout] test sync_baseline::tests::toml_keeps_the_flat_keys ... ok
[INFO] [stdout] test tui::bg::tests::on_update_check_ready_newer_persists_and_sets_available ... ok
[INFO] [stdout] test tui::dispatch::tests::a_terminal_bearing_outcome_reaching_route_outcome_trips_the_assert - should panic ... FAILED
[INFO] [stdout] test tui::diff_geometry::tests::asymmetric_wrap_pads_the_shorter_side_and_preserves_source_and_hunk ... ok
[INFO] [stdout] test tui::bg::tests::on_update_check_ready_failed_is_silent ... ok
[INFO] [stdout] test tui::bg::tests::returns_value_and_clears_slot_when_received ... ok
[INFO] [stdout] test tui::diff_geometry::tests::dimensions_account_for_borders_gutter_odd_and_narrow_panes ... ok
[INFO] [stdout] test tui::diff_geometry::tests::tabs_and_hidden_context_are_displayed_on_both_sides ... ok
[INFO] [stdout] test tui::editor::tests::editor_setting_prefers_visual_then_editor_then_the_platform_default ... ok
[INFO] [stdout] test tui::dispatch::tests::fork_gist_routes_an_action_job_without_running_it ... ok
[INFO] [stdout] test tui::editor::tests::parse_editor_blank_is_none ... ok
[INFO] [stdout] test tui::dispatch::tests::a_failed_preview_refresh_keeps_the_cached_content ... ok
[INFO] [stdout] test tui::editor::tests::parse_editor_takes_an_existing_unquoted_path_whole ... ok
[INFO] [stdout] test tui::dispatch::tests::create_sends_normalized_bytes_only_when_normalization_rewrites_the_file ... ok
[INFO] [stdout] test tui::editor::tests::parse_editor_honours_quotes_and_keeps_backslashes ... ok
[INFO] [stdout] test tui::editor::tests::parse_editor_keeps_an_existing_wait_flag ... ok
[INFO] [stdout] test tui::editor::tests::parse_editor_matches_gui_editor_by_basename ... ok
[INFO] [stdout] test tui::editor::tests::resolve_on_path_leaves_paths_extensions_and_misses_alone ... ok
[INFO] [stdout] test tui::editor::tests::parse_editor_leaves_terminal_editors_untouched ... ok
[INFO] [stdout] test tui::editor::tests::parse_editor_injects_wait_for_gui_editors ... ok
[INFO] [stdout] test tui::editor::tests::resolve_on_path_finds_a_cmd_shim_by_pathext ... ok
[INFO] [stdout] test tui::gist_comments::tests::an_older_page_is_fetched_and_added ... ok
[INFO] [stdout] test tui::dispatch::tests::preview_content_routes_the_staged_gist_fetch_without_running_it ... ok
[INFO] [stdout] test tui::editor::tests::editor_is_gui_matches_known_gui_editors_and_rejects_terminal_ones ... ok
[INFO] [stdout] test tui::gist_comments::tests::no_older_page_means_no_fetch ... ok
[INFO] [stdout] test tui::gist_comments::tests::the_first_load_probes_then_fetches_the_newest_page ... ok
[INFO] [stdout] test tui::gist_content::tests::invalidation_can_target_one_file_or_a_whole_gist ... ok
[INFO] [stdout] test tui::gist_mutation::tests::a_failed_description_update_keeps_the_editor_and_text ... ok
[INFO] [stdout] test tui::gist_mutation::tests::compaction_counts_confirms_then_squashes_and_force_pushes ... ok
[INFO] [stdout] test tui::gist_mutation::tests::compact_runs_its_clone_rewrite_force_push_through_the_runner ... ok
[INFO] [stdout] test tui::gist_content::tests::lookup_hits_while_fetch_target_hydrates_the_request ... ok
[INFO] [stdout] test tui::gist_content::tests::refresh_keeps_last_known_good_until_insert ... ok
[INFO] [stdout] test tui::gist_mutation::tests::compaction_reports_a_failed_count_without_confirming ... ok
[INFO] [stdout] test tui::gist_mutation::tests::each_mutation_runs_its_gh_command_through_the_runner ... ok
[INFO] [stdout] test tui::gist_mutation::tests::create_from_a_non_utf8_file_name_says_why ... ok
[INFO] [stdout] test tui::gist_mutation::tests::on_apply_description_err_sets_status ... ok
[INFO] [stdout] test tui::gist_mutation::tests::on_create_gist_err_resets_screen ... ok
[INFO] [stdout] test tui::gist_mutation::tests::on_compact_gist_err_sets_status ... ok
[INFO] [stdout] test tui::gist_mutation::tests::on_create_gist_ok_returns_to_list_and_marks_stale ... ok
[INFO] [stdout] test tui::gist_mutation::tests::on_compact_gist_ok_marks_list_stale ... ok
[INFO] [stdout] test tui::gist_mutation::tests::on_delete_gist_ok_marks_list_stale ... ok
[INFO] [stdout] test tui::gist_mutation::tests::on_fork_gist_err_sets_status ... ok
[INFO] [stdout] test tui::gist_mutation::tests::on_delete_gist_err_sets_status ... ok
[INFO] [stdout] test tui::gist_mutation::tests::on_fork_gist_ok_marks_list_stale ... ok
[INFO] [stdout] test tui::gist_mutation::tests::on_remove_file_ok_drops_cache_and_marks_list_stale ... ok
[INFO] [stdout] test temp_dir::tests::concurrent_creates_of_one_kind_do_not_share_a_path ... ok
[INFO] [stdout] test tui::gist_mutation::tests::on_apply_description_ok_marks_list_stale ... ok
[INFO] [stdout] test tui::gist_mutation::tests::on_gist_star_toggle_ok_stars_and_marks_list_stale ... ok
[INFO] [stdout] test tui::gist_mutation::tests::on_remove_file_err_sets_status ... ok
[INFO] [stdout] test tui::dispatch::tests::upload_from_pin_push_records_pin_sync_and_returns_to_pins ... ok
[INFO] [stdout] test tui::gist_mutation::tests::push_of_an_unpinned_pair_touches_no_config ... ok
[INFO] [stdout] test tui::gist_mutation::tests::compaction_of_a_single_revision_gist_stops_at_the_count ... ok
[INFO] [stdout] test tui::gist_mutation::tests::on_upload_replace_err_sets_status ... ok
[INFO] [stdout] test tui::gist_mutation::tests::on_upload_replace_ok_invalidates_content_and_marks_list_stale ... ok
[INFO] [stdout] test tui::gist_mutation::tests::upload_stops_when_the_gist_changed_since_the_preview ... ok
[INFO] [stdout] test tui::gist_mutation::tests::push_of_a_pinned_pair_leaves_it_in_sync_and_lands_off_confirm_and_diff ... ok
[INFO] [stdout] test tui::gist_mutation::tests::success_leaves_and_failure_stays_where_the_user_confirmed ... ok
[INFO] [stdout] test tui::gist_refresh::tests::incomplete_enrichment_retains_cache_and_reports_at_end ... ok
[INFO] [stdout] test tui::gist_mutation::tests::on_gist_star_toggle_err_sets_status ... ok
[INFO] [stdout] test tui::gist_refresh::tests::stale_generation_is_ignored ... ok
[INFO] [stdout] test tui::gist_revision::tests::a_restore_preview_reports_a_historical_or_current_fetch_failure ... ok
[INFO] [stdout] test tui::gist_mutation::tests::upload_of_a_file_new_to_the_gist_adds_it ... ok
[INFO] [stdout] test tui::gist_revision::tests::a_missing_historical_file_stays_an_error_for_selected_versus_current ... ok
[INFO] [stdout] test tui::gist_revision::tests::a_failed_restore_stays_on_confirm_and_marks_no_refresh ... ok
[INFO] [stdout] test tui::gist_refresh::tests::partial_base_failure_retains_last_known_good_and_reports_once ... ok
[INFO] [stdout] test tui::gist_revision::tests::a_failed_revision_api_falls_back_to_the_canonical_raw_url ... ok
[INFO] [stdout] test tui::gist_revision::tests::an_absent_historical_file_reads_as_empty_on_either_adjacent_side ... ok
[INFO] [stdout] test tui::gist_revision::tests::a_successful_restore_patches_the_gist_and_refreshes_everything_it_invalidated ... ok
[INFO] [stdout] test tui::gist_revision::tests::a_successful_restore_starts_both_follow_ups_in_order ... ok
[INFO] [stdout] test tui::gist_revision::tests::both_sides_keep_their_raw_url_fallbacks ... ok
[INFO] [stdout] test tui::gist_revision::tests::fetch_history_clamps_an_out_of_range_cursor_and_clears_its_stale_hscroll ... ok
[INFO] [stdout] test tui::gist_revision::tests::a_superseded_diff_result_is_dropped ... ok
[INFO] [stdout] test tui::gist_revision::tests::adjacent_diff_fetches_the_child_then_its_parent_and_enters_diff ... ok
[INFO] [stdout] test tui::gist_mutation::tests::upload_success_from_a_diff_lands_behind_the_diff ... ok
[INFO] [stdout] test tui::gist_refresh::tests::enrichment_publishes_one_coherent_catalog_stage ... ok
[INFO] [stdout] test tui::gist_revision::tests::a_changed_restore_preview_enters_confirm_with_the_historical_content ... ok
[INFO] [stdout] test tui::gist_revision::tests::selected_versus_current_fetches_history_first_then_current_content ... ok
[INFO] [stdout] test tui::gist_revision::tests::revision_jobs_stage_their_kind_and_progress_label ... ok
[INFO] [stdout] test tui::gist_revision::tests::fetch_history_loads_entries_and_clears_the_error_state ... ok
[INFO] [stdout] test tui::gist_revision::tests::fetch_history_keeps_an_in_range_cursor ... ok
[INFO] [stdout] test tui::gist_revision::tests::fetch_history_parse_failure_becomes_the_screen_fetch_error ... ok
[INFO] [stdout] test tui::gist_revision::tests::only_a_restore_is_a_gist_mutation ... ok
[INFO] [stdout] test tui::gist_revision::tests::execute_restore_stages_its_kind_and_progress_label ... ok
[INFO] [stdout] test tui::gist_revision::tests::the_initial_revision_compares_against_empty_content ... ok
[INFO] [stdout] test tui::gist_revision::tests::fetch_history_for_another_gist_is_ignored ... ok
[INFO] [stdout] test tui::gist_revision::tests::an_identical_restore_preview_reports_that_nothing_needs_restoring ... ok
[INFO] [stdout] test tui::gist_revision::tests::the_restore_scratch_is_removed_after_every_completed_worker_path ... ok
[INFO] [stdout] test tui::highlight::tests::token_color_maps_known_kinds_and_ignores_others ... ok
[INFO] [stdout] test tui::gist_revision::tests::the_workflow_ignores_screen_changes_made_after_the_request ... ok
[INFO] [stdout] test tui::highlight::tests::unknown_extension_renders_plain ... ok
[INFO] [stdout] test tui::highlight::tests::light_theme_swaps_token_palette ... ok
[INFO] [stdout] test tui::keymap::docs_tests::every_key_readme_promises_is_bound ... ok
[INFO] [stdout] test tui::hunk_sync::tests::a_failed_preflight_keeps_both_buffers_and_creates_no_local_file ... ok
[INFO] [stdout] test tui::hunk_sync::tests::save_only_local_rechecks_remote_but_never_patches_it ... ok
[INFO] [stdout] test tui::keymap::tests::derived_footers_match_the_strings_they_replaced ... ok
[INFO] [stdout] test tui::keymap::tests::footer_ranks_are_unique_within_a_screen ... ok
[INFO] [stdout] test tui::hunk_sync::tests::saving_before_quit_applies_the_write_and_then_quits ... ok
[INFO] [stdout] test tui::keymap::tests::palette_codes_are_unique_within_a_screen ... ok
[INFO] [stdout] test tui::keymap::tests::screens_without_a_footer_derive_an_empty_one ... ok
[INFO] [stdout] test tui::keys::tests::a_background_task_ends_a_divider_drag ... ok
[INFO] [stdout] test tui::keys::tests::a_keystroke_ends_a_divider_drag ... ok
[INFO] [stdout] test tui::hunk_sync::tests::unselected_differences_do_not_advance_a_pins_baseline ... ok
[INFO] [stdout] test tui::keys::tests::an_overlay_never_leaves_a_divider_drag_running ... ok
[INFO] [stdout] test tui::keys::tests::close_button_click_confirm_cancel_clears_pending ... ok
[INFO] [stdout] test tui::keymap::docs_tests::every_bound_key_is_documented_in_help ... ok
[INFO] [stdout] test tui::keys::tests::close_button_click_create_description_cancels_not_types ... ok
[INFO] [stdout] test tui::hunk_sync::tests::changes_to_either_live_side_stop_before_any_write_and_keep_staging ... ok
[INFO] [stdout] test tui::keymap::tests::navigation_bindings_are_never_guarded ... ok
[INFO] [stdout] test tui::keymap::tests::for_screen_answers_for_every_variant ... ok
[INFO] [stdout] test tui::hunk_sync::tests::bidirectional_partial_save_retains_failed_side_and_retry_only_writes_it ... ok
[INFO] [stdout] test tui::keys::tests::esc_in_list_quits_on_second_press ... ok
[INFO] [stdout] test tui::keys::tests::q_in_list_quits_on_second_press ... ok
[INFO] [stdout] test tui::keys::tests::any_key_cancels_a_pending_quit ... ok
[INFO] [stdout] test tui::keys::tests::q_in_confirm_cancels_without_quitting ... ok
[INFO] [stdout] test tui::keys::tests::release_without_a_drag_is_a_no_op_on_any_screen ... ok
[INFO] [stdout] test tui::keys::tests::close_button_click_returns_from_help ... ok
[INFO] [stdout] test tui::keys::tests::double_click_uses_the_same_global_priority_as_click ... ok
[INFO] [stdout] test tui::keys::tests::top_bar_help_click_while_already_on_help_does_not_trap_keyboard_exit ... ok
[INFO] [stdout] test tui::keys::tests::right_click_opens_menu_palette ... ok
[INFO] [stdout] test tui::keys::tests::top_bar_pins_click_opens_pins_from_any_screen ... ok
[INFO] [stdout] test tui::keys::tests::scroll_up_moves_content_three_lines ... ok
[INFO] [stdout] test tui::keys::tests::y_copies_gist_url_on_list_gists_and_detail ... ok
[INFO] [stdout] test tui::keys::tests::shift_t_toggles_theme ... ok
[INFO] [stdout] test tui::keys::tests::right_click_interrupts_a_drag_even_when_palette_is_already_open ... ok
[INFO] [stdout] test tui::keys::tests::repo_link_click_opens_repo_url_regardless_of_which_screen_set_the_rect ... ok
[INFO] [stdout] test tui::keys::tests::scroll_down_moves_content_three_lines ... ok
[INFO] [stdout] test tui::list_cursor::tests::clamp_len_empty_and_shrink ... ok
[INFO] [stdout] test tui::list_cursor::tests::reset_and_select_clear_hscroll ... ok
[INFO] [stdout] test tui::list_cursor::tests::page_down_on_empty_list_is_noop ... ok
[INFO] [stdout] test tui::list_cursor::tests::page_down_up_use_step_and_reset_hscroll ... ok
[INFO] [stdout] test tui::list_ranking::tests::forked_filter_shows_only_forks ... ok
[INFO] [stdout] test tui::list_ranking::tests::empty_state_has_no_ranked_gists ... ok
[INFO] [stdout] test tui::list_ranking::tests::gist_ranking_follows_anchor_not_focus ... ok
[INFO] [stdout] test tui::list_ranking::tests::local_sort_name_orders_by_filename ... ok
[INFO] [stdout] test tui::list_ranking::tests::list_pane_snapshots_match_public_accessors ... ok
[INFO] [stdout] test tui::list_ranking::tests::no_local_selected_lists_all_gists_unranked ... ok
[INFO] [stdout] test tui::list_ranking::tests::ranking_helpers_terminate_in_either_anchor ... ok
[INFO] [stdout] test tui::list_ranking::tests::reverse_ranking_orders_locals_by_selected_gist ... ok
[INFO] [stdout] test tui::list_ranking::tests::selected_accessors_track_recomputed_lists_with_no_cache ... ok
[INFO] [stdout] test tui::list_ranking::tests::starred_filter_lists_only_starred_gists ... ok
[INFO] [stdout] test tui::local_scan::tests::apply_local_scan_clears_hscroll_when_an_explicit_target_changes_selection ... ok
[INFO] [stdout] test tui::keymap::tests::an_unclaimed_footer_key_reads_as_navigation ... ok
[INFO] [stdout] test tui::local_scan::tests::apply_local_scan_ignores_a_stale_generation ... ok
[INFO] [stdout] test tui::local_scan::tests::apply_local_scan_preserves_selection_and_hscroll_when_the_path_survives ... ok
[INFO] [stdout] test tui::list_ranking::tests::local_selection_changes_ranked_gists ... ok
[INFO] [stdout] test tui::local_scan::tests::apply_local_scan_clears_hscroll_when_selection_falls_back ... ok
[INFO] [stdout] test tui::local_scan::tests::clear_scan_status_only_clears_its_own_placeholder ... ok
[INFO] [stdout] test tui::highlight::tests::blank_line_stays_a_row ... ok
[INFO] [stdout] test tui::mouse::tests::resolve_pane_ignores_a_wide_divider_rect_covering_the_pane ... ok
[INFO] [stdout] test tui::mouse::tests::session_classifies_and_interrupts ... ok
[INFO] [stdout] test tui::highlight::tests::known_language_colours_keywords ... ok
[INFO] [stdout] test tui::list_ranking::tests::local_sort_recent_orders_by_mtime_desc_none_last ... ok
[INFO] [stdout] test tui::highlight::tests::memo_keys_on_theme_palette ... ok
[INFO] [stdout] test tui::mouse::tests::resolution_uses_fixed_priority ... ok
[INFO] [stdout] test tui::palette::tests::config_palette_items_are_always_enabled ... ok
[INFO] [stdout] test tui::palette::tests::command_palette_fuzzy_filter_narrows_items ... ok
[INFO] [stdout] test tui::palette::tests::detail_palette_items_enable_owned_actions_for_owned_previewable_gist ... ok
[INFO] [stdout] test tui::local_scan::tests::end_local_scan_ends_in_flight_only_for_the_current_generation ... ok
[INFO] [stdout] test tui::palette::tests::detail_palette_items_gate_fork_on_ownership ... ok
[INFO] [stdout] test tui::list_ranking::tests::sort_by_name_and_recent_reorders_gists ... ok
[INFO] [stdout] test tui::palette::tests::detail_palette_items_load_older_comments_requires_comments_focus ... ok
[INFO] [stdout] test tui::palette::tests::diff_palette_items_disable_sync_within_revision_diff_flow ... ok
[INFO] [stdout] test tui::palette::tests::diff_palette_items_enable_sync_in_a_sync_diff ... ok
[INFO] [stdout] test tui::palette::tests::diff_palette_items_disable_sync_when_identical ... ok
[INFO] [stdout] test tui::highlight::tests::memo_matches_uncached_and_does_not_corrupt_across_keys ... ok
[INFO] [stdout] test tui::palette::tests::ctrl_p_opens_command_palette ... ok
[INFO] [stdout] test tui::list_ranking::tests::gist_type_filter_limits_ranked_gists ... ok
[INFO] [stdout] test tui::palette::tests::detail_palette_items_disable_everything_without_a_gist ... ok
[INFO] [stdout] test tui::palette::tests::command_palette_includes_cross_screen_quit ... ok
[INFO] [stdout] test tui::palette::tests::fuzzy_match_subsequence ... ok
[INFO] [stdout] test tui::mouse::tests::palette_row_keeps_source_identity ... ok
[INFO] [stdout] test tui::palette::tests::fuzzy_match_empty_query_matches_all ... ok
[INFO] [stdout] test tui::palette::tests::gists_palette_items_disable_selection_actions_when_empty ... ok
[INFO] [stdout] test tui::palette::tests::gists_palette_items_enable_selection_actions_when_selected ... ok
[INFO] [stdout] test tui::palette::tests::help_palette_items_are_always_enabled ... ok
[INFO] [stdout] test tui::palette::tests::list_palette_items_pin_requires_ownership_or_an_existing_pin ... ok
[INFO] [stdout] test tui::palette::tests::preview_palette_items_are_always_enabled ... ok
[INFO] [stdout] test tui::palette::tests::revisions_palette_items_disable_everything_before_entries_load ... ok
[INFO] [stdout] test tui::palette::tests::revisions_palette_items_enable_cycle_target_file_before_entries_load ... ok
[INFO] [stdout] test tui::palette::tests::revisions_palette_items_gate_diff_and_restore_on_head_position ... ok
[INFO] [stdout] test tui::pin_sync::tests::apply_pin_change_projects_both_fields_and_dirties_the_cache ... ok
[INFO] [stdout] test tui::pin_sync::tests::apply_pin_sync_appends_a_failure_to_the_existing_status ... ok
[INFO] [stdout] test tui::pin_sync::tests::apply_pin_sync_applies_nothing_when_the_pair_was_not_pinned ... ok
[INFO] [stdout] test tui::pin_sync::tests::record_pin_sync_on_an_unpinned_pair_touches_nothing ... ok
[INFO] [stdout] test tui::render::chrome::tests::category_color_maps_every_category ... ok
[INFO] [stdout] test tui::pin_sync::tests::apply_pin_sync_reports_a_failure_on_its_own_when_nothing_was_said ... ok
[INFO] [stdout] test tui::pin_sync::tests::apply_unpin_does_not_claim_a_removal_that_did_not_happen ... ok
[INFO] [stdout] test tui::render::chrome::tests::footer_height_collapses_to_zero_when_empty_else_wraps ... ok
[INFO] [stdout] test tui::pin_sync::tests::pin_sync_status_is_missing_when_local_file_absent ... ok
[INFO] [stdout] test tui::render::chrome::tests::input_line_cursor_at_end_reverses_trailing_space ... ok
[INFO] [stdout] test tui::render::chrome::tests::input_line_reverses_the_char_under_the_cursor ... ok
[INFO] [stdout] test tui::render::chrome::tests::minimal_hint_shows_menu_and_palette_shortcuts ... ok
[INFO] [stdout] test tui::pin_sync::tests::pin_sync_status_reads_the_file_and_the_catalog_sha ... ok
[INFO] [stdout] test tui::render::chrome::tests::footer_with_status_prefers_status_else_colourised_hints ... ok
[INFO] [stdout] test tui::pin_sync::tests::apply_unpin_reports_the_pair_it_removed ... ok
[INFO] [stdout] test tui::render::chrome::tests::hint_line_colours_keys_by_action_category ... ok
[INFO] [stdout] test tui::render::chrome::tests::hint_line_leaves_an_unclaimed_key_on_the_navigation_accent ... ok
[INFO] [stdout] test tui::pin_sync::tests::apply_unpin_surfaces_a_failure_without_touching_the_pins ... ok
[INFO] [stdout] test tui::pin_sync::tests::pin_sync_status_reads_the_timestamps_without_a_baseline ... ok
[INFO] [stdout] test tui::render::chrome::tests::spinner_glyph_cycles_through_frames_and_wraps ... ok
[INFO] [stdout] test tui::render::chrome::tests::wrap_line_count_breaks_a_word_wider_than_the_line ... ok
[INFO] [stdout] test tui::pin_sync::tests::pin_mtimes_local_falls_back_to_disk_when_not_discovered ... ok
[INFO] [stdout] test tui::render::diff_view::tests::diff_view_leaves_context_plain_when_highlight_disabled ... ok
[INFO] [stdout] test tui::palette::tests::menu_palette_hides_disabled_actions ... ok
[INFO] [stdout] test tui::render::diff_view::tests::diff_view_skips_tabbed_context_lines ... ok
[INFO] [stdout] test tui::render::diff_view::tests::header_line_tints_local_yellow_and_gist_blue ... ok
[INFO] [stdout] test tui::render::labels::tests::file_list_scroll_keeps_cursor_visible ... ok
[INFO] [stdout] test tui::render::labels::tests::gist_group_row_badge_column_is_fixed_width ... ok
[INFO] [stdout] test tui::render::labels::tests::format_unix_utc_known_instants ... ok
[INFO] [stdout] test tui::render::diff_view::tests::diff_view_highlights_context_lines_for_known_language ... ok
[INFO] [stdout] test tui::render::labels::tests::count_label_plain_unless_filtered ... ok
[INFO] [stdout] test tui::render::labels::tests::gist_group_row_age_tracks_active_sort ... ok
[INFO] [stdout] test tui::render::labels::tests::gist_group_row_legacy_short_id_still_aligns ... ok
[INFO] [stdout] test tui::render::labels::tests::gist_group_row_shows_foreign_owner ... ok
[INFO] [stdout] test tui::list_cursor::tests::down_up_move_and_reset_hscroll ... ok
[INFO] [stdout] test tui::render::chrome::tests::palette_row_line_aligns_long_keys ... ok
[INFO] [stdout] test tui::render::labels::tests::gist_group_row_description_leads_and_id_is_abbreviated ... ok
[INFO] [stdout] test tui::render::labels::tests::gist_group_row_shows_fork_marker_only_when_present ... ok
[INFO] [stdout] test tui::render::labels::tests::gist_group_row_shows_comment_count_only_when_present ... ok
[INFO] [stdout] test tui::list_cursor::tests::left_right_clamp_hscroll ... ok
[INFO] [stdout] test tui::render::chrome::tests::wrap_line_count_is_responsive_to_width ... ok
[INFO] [stdout] test tui::render::labels::tests::gist_group_row_shows_star_marker_only_when_present ... ok
[INFO] [stdout] test tui::render::diff_view::tests::diff_view_inline_highlights_changed_words ... ok
[INFO] [stdout] test tui::render::labels::tests::gist_row_label_falls_back_to_filename_when_description_empty ... ok
[INFO] [stdout] test tui::render::labels::tests::gist_info_line_shows_counts_when_nonzero ... ok
[INFO] [stdout] test tui::render::chrome::tests::hint_line_preserves_every_character ... ok
[INFO] [stdout] test tui::render::diff_view::tests::diff_view_applies_vertical_and_horizontal_scroll ... ok
[INFO] [stdout] test tui::render::labels::tests::gist_row_label_switches_with_view ... ok
[INFO] [stdout] test tui::render::labels::tests::gist_time_label_normalises_rfc3339 ... ok
[INFO] [stdout] test tui::render::labels::tests::marked_row_text_uses_match_mark_pin_prefix ... ok
[INFO] [stdout] test tui::render::list_pane::tests::revisions_rows_clip_with_an_ellipsis_and_scroll_only_the_selection ... ok
[INFO] [stdout] test tui::render::list_pane::tests::render_list_pane_dims_the_border_of_an_unfocused_pane ... ok
[INFO] [stdout] test tui::render::list_pane::tests::render_list_pane_marks_a_clipped_row_with_an_ellipsis ... ok
[INFO] [stdout] test tui::render::list_pane::tests::list_hscroll_leaves_unselected_rows_readable_from_their_start ... ok
[INFO] [stdout] test tui::render::list_pane::tests::min_pane_cells_matches_the_highlight_symbol_it_budgets_for ... ok
[INFO] [stdout] test tui::render::list_pane::tests::render_list_pane_paints_the_empty_message_instead_of_rows ... ok
[INFO] [stdout] test tui::render::list_pane::tests::render_list_pane_records_its_hit_target_only_when_the_mouse_is_on ... ok
[INFO] [stdout] test tui::render::list_pane::tests::render_list_pane_applies_row_emphasis ... ok
[INFO] [stdout] test tui::render::list_pane::tests::visible_list_row_leaves_an_unscrolled_value_intact ... ok
[INFO] [stdout] test tui::render::list_pane::tests::render_list_pane_scrolls_only_the_selected_row ... ok
[INFO] [stdout] test tui::render::list_pane::tests::row_hscroll_moves_only_the_selected_row ... ok
[INFO] [stdout] test tui::render::tests::render_gist_detail_metadata_fits_at_eighty_columns ... ok
[INFO] [stdout] test tui::render::tests::render_diff_footer_keeps_whole_hints_including_leave_at_eighty_columns ... ok
[INFO] [stdout] test tui::render::tests::key_dense_screen_footers_keep_whole_hints_at_eighty_columns ... ok
[INFO] [stdout] test tui::render::tests::render_screen_vm_command_palette_no_matches_shows_empty_state ... ok
[INFO] [stdout] test tui::render::tests::render_help_body_rewraps_instead_of_clipping_at_eighty_columns ... ok
[INFO] [stdout] test tui::render::tests::render_screen_vm_all_screens_paint_at_eighty_columns ... ok
[INFO] [stdout] test tui::render::tests::render_screen_vm_confirm_paints_without_top_bar ... ok
[INFO] [stdout] test tui::render::tests::render_screen_vm_diff_does_not_panic ... ok
[INFO] [stdout] test tui::render::tests::render_screen_vm_gist_detail_does_not_panic ... ok
[INFO] [stdout] test tui::render::tests::render_screen_vm_config_paints_settings_panel ... ok
[INFO] [stdout] test tui::render::tests::render_screen_vm_help_does_not_panic ... ok
[INFO] [stdout] test tui::render::list_pane::tests::visible_list_row_marks_a_horizontal_offset_with_a_leading_ellipsis ... ok
[INFO] [stdout] test tui::render::tests::render_screen_vm_list_paints_top_bar ... ok
[INFO] [stdout] test tui::render::tests::render_screen_vm_gists_does_not_panic ... ok
[INFO] [stdout] test tui::render::tests::render_screen_vm_list_row_leaves_a_fitting_label_untouched ... ok
[INFO] [stdout] test tui::render::tests::render_comments_keep_hanging_indent_at_eighty_columns ... ok
[INFO] [stdout] test tui::render::tests::render_screen_vm_gists_row_marks_clipped_description ... ok
[INFO] [stdout] test tui::render::tests::render_screen_vm_confirm_input_grows_with_a_long_description ... ok
[INFO] [stdout] test tui::render::tests::render_screen_vm_pins_paints_empty_state_message ... ok
[INFO] [stdout] test tui::render::tests::render_screen_vm_list_row_does_not_split_a_wide_character ... ok
[INFO] [stdout] test tui::render::tests::render_screen_vm_pins_row_marks_clipped_path ... ok
[INFO] [stdout] test tui::render::tests::render_screen_vm_palette_paints_menu_title_over_background ... ok
[INFO] [stdout] test tui::render::tests::render_screen_vm_list_title_keeps_state_over_cwd ... ok
[INFO] [stdout] test tui::render::text_fit::tests::fit_hints_leaves_a_fitting_line_untouched ... ok
[INFO] [stdout] test tui::render::text_fit::tests::fit_title_clips_the_head_when_nothing_fits ... ok
[INFO] [stdout] test tui::render::tests::render_screen_vm_top_bar_does_not_cut_the_app_name_at_forty_columns ... ok
[INFO] [stdout] test tui::render::text_fit::tests::fit_hints_marks_a_leave_key_that_itself_cannot_fit ... ok
[INFO] [stdout] test tui::render::tests::render_screen_vm_top_bar_keeps_the_app_name_at_sixty_columns ... ok
[INFO] [stdout] test tui::render::tests::render_screen_vm_confirm_packs_keys_that_cannot_share_one_row ... ok
[INFO] [stdout] test tui::render::tests::render_screen_vm_top_bar_marks_a_shortcut_that_itself_cannot_fit ... ok
[INFO] [stdout] test tui::render::text_fit::tests::fit_title_drops_the_pane_name_to_keep_a_state_segment ... ok
[INFO] [stdout] test tui::render::text_fit::tests::fit_title_elides_the_context_when_part_of_it_fits ... ok
[INFO] [stdout] test tui::render::text_fit::tests::fit_title_keeps_the_pane_name_when_dropping_it_buys_no_state ... ok
[INFO] [stdout] test tui::render::text_fit::tests::fit_title_keeps_the_anchor_marker_at_every_width_the_head_fits ... ok
[INFO] [stdout] test tui::render::text_fit::tests::fit_title_joins_every_segment_when_it_fits ... ok
[INFO] [stdout] test tui::render::text_fit::tests::fit_title_prefers_a_whole_short_head_over_a_clipped_full_one ... ok
[INFO] [stdout] test tui::render::text_fit::tests::fit_title_without_a_short_head_is_unchanged ... ok
[INFO] [stdout] test tui::render::text_fit::tests::fit_top_bar_drops_the_name_when_the_shortcuts_need_the_row ... ok
[INFO] [stdout] test tui::render::tests::render_screen_vm_preview_does_not_panic ... ok
[INFO] [stdout] test tui::render::text_fit::tests::fit_top_bar_keeps_the_name_only_when_both_halves_fit ... ok
[INFO] [stdout] test tui::render::text_fit::tests::truncate_end_leaves_a_fitting_value_untouched ... ok
[INFO] [stdout] test tui::render::text_fit::tests::truncate_end_marks_a_clipped_value_with_an_ellipsis ... ok
[INFO] [stdout] test tui::render::tests::render_screen_vm_confirm_separates_the_question_from_its_keys ... ok
[INFO] [stdout] test tui::render::text_fit::tests::fit_title_drops_the_cwd_before_the_state_segments ... ok
[INFO] [stdout] test tui::render::text_fit::tests::fit_hints_drops_middle_items_to_keep_the_leave_key ... ok
[INFO] [stdout] test tui::render::text_fit::tests::fit_top_bar_drops_leading_shortcuts_when_they_cannot_all_fit ... ok
[INFO] [stdout] test tui::render::text_fit::tests::wrap_hanging_breaks_a_word_that_exceeds_the_width ... ok
[INFO] [stdout] test tui::render::text_fit::tests::wrap_hanging_continues_at_the_source_indent ... ok
[INFO] [stdout] test tui::render::text_fit::tests::fit_title_never_ends_in_a_dangling_separator ... ok
[INFO] [stdout] test tui::render::text_fit::tests::wrap_hanging_help_topics_fit_an_eighty_column_inner_width ... ok
[INFO] [stdout] test tui::render::text_fit::tests::fit_title_never_elides_a_state_segment ... ok
[INFO] [stdout] test tui::render::tests::render_screen_vm_list_row_marks_clipped_description ... ok
[INFO] [stdout] test tui::render::tests::render_screen_vm_revisions_does_not_panic ... ok
[INFO] [stdout] test tui::render::tests::render_screen_vm_list_title_drops_the_pane_name_when_narrow ... ok
[INFO] [stdout] test tui::screens::config::tests::config_adjust_theme_returns_persist_settings ... ok
[INFO] [stdout] test tui::screens::config::tests::config_toggles_show_full_diff ... ok
[INFO] [stdout] test tui::screens::confirm::tests::apply_upload_edit_event_discards_when_a_different_upload_is_now_pending ... ok
[INFO] [stdout] test tui::screens::confirm::tests::confirm_upload_e_returns_edit_upload ... ok
[INFO] [stdout] test tui::screens::confirm::tests::confirm_esc_returns_to_diff ... ok
[INFO] [stdout] test tui::render::text_fit::tests::wrap_hanging_leaves_a_fitting_line_untouched ... ok
[INFO] [stdout] test tui::screens::confirm::tests::confirm_screen_scrolls_diff ... ok
[INFO] [stdout] test tui::screens::config::tests::config_vm_rows_and_status ... ok
[INFO] [stdout] test tui::screens::confirm::tests::confirm_upload_e_is_blocked_while_watching ... ok
[INFO] [stdout] test tui::screens::confirm::tests::confirm_n_returns_to_diff ... ok
[INFO] [stdout] test tui::screens::confirm::tests::apply_upload_edit_event_content_changed_updates_diff_live ... ok
[INFO] [stdout] test tui::screens::confirm::tests::apply_upload_edit_event_discards_stale_event_after_cancel_reentry_same_identity ... ok
[INFO] [stdout] test tui::screens::confirm::tests::apply_upload_edit_event_read_error_stops_watching_and_sets_status ... ok
[INFO] [stdout] test tui::screens::confirm::tests::apply_upload_edit_event_editor_closed_stops_watching ... ok
[INFO] [stdout] test tui::screens::confirm::tests::create_confirm_s_and_p_choose_visibility ... ok
[INFO] [stdout] test tui::screens::confirm::tests::confirm_upload_y_returns_upload ... ok
[INFO] [stdout] test tui::screens::confirm::tests::confirm_upload_y_is_blocked_while_watching ... ok
[INFO] [stdout] test tui::screens::confirm::tests::confirm_vm_prompt_identity ... ok
[INFO] [stdout] test tui::screens::confirm::tests::confirm_upload_json_toggles ... ok
[INFO] [stdout] test tui::screens::confirm::tests::confirm_vm_shows_watching_indicator_for_upload ... ok
[INFO] [stdout] test tui::screens::confirm::tests::confirm_vm_compact_background ... ok
[INFO] [stdout] test tui::screens::confirm::tests::confirm_vm_shows_description_editor_for_create ... ok
[INFO] [stdout] test tui::screens::confirm::tests::n_starts_create_in_the_description_editor ... ok
[INFO] [stdout] test tui::screens::confirm::tests::on_compact_analyze_err_sets_status ... ok
[INFO] [stdout] test tui::screens::confirm::tests::on_compact_analyze_multi_revision_enters_confirm ... ok
[INFO] [stdout] test tui::screens::confirm::tests::delete_from_gist_detail_opened_via_gists_returns_to_gists ... ok
[INFO] [stdout] test tui::screens::confirm::tests::on_compact_analyze_single_revision_sets_status ... ok
[INFO] [stdout] test tui::screens::confirm::tests::confirm_vm_covers_each_pending_action ... ok
[INFO] [stdout] test tui::screens::confirm::tests::on_restore_revision_ready_err_sets_status ... ok
[INFO] [stdout] test tui::screens::confirm::tests::every_pending_action_has_a_question_and_a_resolving_key ... ok
[INFO] [stdout] test tui::screens::confirm::tests::confirm_vm_shows_only_a_status_set_while_confirm_is_up ... ok
[INFO] [stdout] test tui::screens::confirm::tests::confirm_vm_overwrite_download ... ok
[INFO] [stdout] test tui::screens::confirm::tests::create_confirm_prompt_shortens_home_path ... ok
[INFO] [stdout] test tui::screens::confirm::tests::create_description_edits_mid_string_with_cursor_keys ... ok
[INFO] [stdout] test tui::screens::confirm::tests::restore_revision_confirm_prompt_and_y_intent ... ok
[INFO] [stdout] test tui::screens::confirm::tests::upload_confirm_offers_json_toggles_only_for_json ... ok
[INFO] [stdout] test tui::screens::detail::tests::apply_initial_comments_ignored_when_gist_changed ... ok
[INFO] [stdout] test tui::screens::confirm::tests::confirm_y_returns_download ... ok
[INFO] [stdout] test tui::screens::confirm::tests::remove_file_confirm_y_requests_the_removal ... ok
[INFO] [stdout] test tui::screens::detail::tests::apply_older_comments_prepends_and_compensates_scroll ... ok
[INFO] [stdout] test tui::screens::confirm::tests::on_restore_revision_ready_ok_enters_confirm_when_different ... ok
[INFO] [stdout] test tui::screens::confirm::tests::on_restore_revision_ready_returns_skip_iteration_when_identical ... ok
[INFO] [stdout] test tui::screens::detail::tests::c_in_detail_requests_compaction_not_gist_manager ... ok
[INFO] [stdout] test tui::screens::confirm::tests::palette_blocked_during_confirm ... ok
[INFO] [stdout] test tui::screens::detail::tests::comment_lines_count_matches_view_model_thread_lines ... ok
[INFO] [stdout] test tui::screens::confirm::tests::delete_from_gist_detail_opened_via_pins_returns_to_pins ... ok
[INFO] [stdout] test tui::screens::confirm::tests::create_enter_advances_to_visibility_then_s_creates ... ok
[INFO] [stdout] test tui::screens::confirm::tests::delete_from_list_returns_to_list ... ok
[INFO] [stdout] test tui::screens::detail::tests::can_load_older_false_while_loading_more ... ok
[INFO] [stdout] test tui::screens::confirm::tests::on_restore_revision_ready_line_endings_only_follows_the_setting ... ok
[INFO] [stdout] test tui::screens::confirm::tests::delete_confirm_y_requests_the_delete ... ok
[INFO] [stdout] test tui::screens::detail::tests::compact_confirm_y_executes_and_n_returns_to_gist_detail ... ok
[INFO] [stdout] test tui::screens::detail::tests::context_gist_id_uses_detail_id_on_detail_screen ... ok
[INFO] [stdout] test tui::screens::detail::tests::detail_comments_focus_arrows_still_scroll_comments ... ok
[INFO] [stdout] test tui::screens::detail::tests::detail_description_edits_mid_string_with_cursor_keys ... ok
[INFO] [stdout] test tui::screens::detail::tests::apply_initial_comments_sets_window_and_requests_bottom_scroll ... ok
[INFO] [stdout] test tui::screens::detail::tests::detail_files_focus_arrows_move_cursor_and_clamp ... ok
[INFO] [stdout] test tui::screens::detail::tests::detail_number_key_out_of_range_is_ignored ... ok
[INFO] [stdout] test tui::screens::detail::tests::detail_scroll_saturates_at_zero ... ok
[INFO] [stdout] test tui::screens::detail::tests::detail_q_returns_to_gists ... ok
[INFO] [stdout] test tui::screens::detail::tests::ctrl_f_pages_gist_detail_files ... ok
[INFO] [stdout] test tui::screens::detail::tests::detail_focus_tab_tracks_focus ... ok
[INFO] [stdout] test tui::screens::detail::tests::detail_focus_and_cursor_default_to_files_and_zero ... ok
[INFO] [stdout] test tui::screens::detail::tests::detail_tab_to_comments_skips_fetch_when_already_loaded ... ok
[INFO] [stdout] test tui::screens::detail::tests::detail_c_triggers_compaction_and_records_origin ... ok
[INFO] [stdout] test tui::screens::detail::tests::detail_e_edits_description_with_prefill_and_enter_applies ... ok
[INFO] [stdout] test tui::screens::detail::tests::detail_enter_in_comments_focus_is_noop ... ok
[INFO] [stdout] test tui::screens::detail::tests::detail_enter_previews_cursor_file_including_tenth ... ok
[INFO] [stdout] test tui::screens::detail::tests::detail_esc_cancels_description_edit ... ok
[INFO] [stdout] test tui::screens::detail::tests::detail_number_key_requests_file_preview ... ok
[INFO] [stdout] test tui::screens::detail::tests::detail_x_requests_gist_delete_confirm ... ok
[INFO] [stdout] test tui::screens::detail::tests::gist_detail_blank_pane_click_focuses_files_without_activating ... ok
[INFO] [stdout] test tui::screens::detail::tests::detail_x_stages_whole_gist_delete ... ok
[INFO] [stdout] test tui::screens::detail::tests::foreign_detail_mutate_keys_are_silent_noop ... ok
[INFO] [stdout] test tui::screens::detail::tests::gist_detail_file_click_selects_and_double_previews ... ok
[INFO] [stdout] test tui::screens::detail::tests::gist_detail_tab_click_switches_focus ... ok
[INFO] [stdout] test tui::screens::detail::tests::wheel_step_gist_detail_files_moves_one ... ok
[INFO] [stdout] test tui::screens::detail::tests::on_comments_older_loaded_err_dispatches_to_detail ... ok
[INFO] [stdout] test tui::screens::detail::tests::stage_fetch_comments_skips_loaded_or_loading_and_marks_a_new_load ... ok
[INFO] [stdout] test tui::screens::detail::tests::detail_tab_toggles_focus ... ok
[INFO] [stdout] test tui::screens::detail::tests::stage_load_older_comments_skips_invalid_page_and_marks_valid_load ... ok
[INFO] [stdout] test tui::screens::detail::tests::gist_detail_vm_files_and_comments_states ... ok
[INFO] [stdout] test tui::screens::detail::tests::star_key_in_detail_returns_toggle_intent ... ok
[INFO] [stdout] test tui::screens::detail::tests::gist_detail_vm_missing_without_id ... ok
[INFO] [stdout] test tui::screens::detail::tests::fork_key_returns_fork_intent_for_foreign_gist_in_detail ... ok
[INFO] [stdout] test tui::screens::detail::tests::wheel_step_gist_detail_moves_three ... ok
[INFO] [stdout] test tui::screens::diff::tests::diff_footer_reflects_wrap_toggle ... ok
[INFO] [stdout] test tui::screens::diff::tests::diff_scroll_respects_bounds ... ok
[INFO] [stdout] test tui::screens::diff::tests::diff_vm_surfaces_upload_error_in_footer ... ok
[INFO] [stdout] test tui::screens::diff::tests::diff_vm_title_footer_and_body ... ok
[INFO] [stdout] test tui::screens::diff::tests::create_diff_title_shortens_home_path ... ok
[INFO] [stdout] test tui::screens::diff::tests::diff_hscroll_respects_bounds ... ok
[INFO] [stdout] test tui::screens::diff::tests::d_and_u_in_a_sync_diff_write_the_files_it_shows ... ok
[INFO] [stdout] test tui::screens::diff::tests::diff_context_toggle_flips_effective_radius ... ok
[INFO] [stdout] test tui::screens::detail::tests::m_key_loads_older_when_available ... ok
[INFO] [stdout] test tui::screens::diff::tests::diff_w_toggles_wrap_and_resets_hscroll ... ok
[INFO] [stdout] test tui::screens::detail::tests::m_key_noop_when_at_oldest_page ... ok
[INFO] [stdout] test tui::screens::diff::tests::on_revision_diff_err_sets_status ... ok
[INFO] [stdout] test tui::screens::diff::tests::enter_diff_sets_diff_screen ... ok
[INFO] [stdout] test tui::screens::diff::tests::on_revision_diff_ok_enters_diff ... ok
[INFO] [stdout] test tui::screens::diff::tests::page_up_saturates_at_top_in_diff ... ok
[INFO] [stdout] test tui::screens::diff::tests::hunk_selection_survives_context_wrap_and_scroll_is_bounded ... ok
[INFO] [stdout] test tui::screens::diff::tests::diff_view_title_shortens_single_home_path ... ok
[INFO] [stdout] test tui::screens::diff::tests::dirty_back_can_cancel_preview_save_or_discard ... ok
[INFO] [stdout] test tui::screens::diff::tests::staging_blocks_whole_file_actions_and_revision_writes ... ok
[INFO] [stdout] test tui::screens::diff::tests::palette_quit_preserves_staging_until_an_explicit_discard ... ok
[INFO] [stdout] test tui::screens::diff::tests::u_in_a_sync_diff_adds_a_gist_file_the_gist_lacks ... ok
[INFO] [stdout] test tui::screens::detail::tests::on_comments_initial_loaded_ok_dispatches_to_detail ... ok
[INFO] [stdout] test tui::screens::diff::tests::d_in_diff_requests_download_when_file_absent ... ok
[INFO] [stdout] test tui::screens::gists::tests::g_opens_gist_view_landing_on_the_selected_files_gist ... ok
[INFO] [stdout] test tui::screens::diff::tests::wrapped_rows_scroll_within_a_long_line_and_resize_keeps_the_selected_hunk ... ok
[INFO] [stdout] test tui::screens::diff::tests::d_in_diff_on_existing_requests_download ... ok
[INFO] [stdout] test tui::diff_geometry::tests::empty_geometry_and_large_positions_keep_u16_limits ... ok
[INFO] [stdout] test tui::screens::gists::tests::context_gist_id_uses_group_cursor_on_gists_screen ... ok
[INFO] [stdout] test tui::screens::gists::tests::fork_key_ignored_on_list_and_gist_manager ... ok
[INFO] [stdout] test tui::screens::gists::tests::gist_view_filter_narrows_then_esc_clears ... ok
[INFO] [stdout] test tui::screens::gists::tests::gist_view_left_right_scrolls_horizontally ... ok
[INFO] [stdout] test tui::screens::detail::tests::fork_key_blocked_for_owned_gist_in_detail ... ok
[INFO] [stdout] test tui::screens::diff::tests::download_source_is_the_saved_gist_not_staged ... ok
[INFO] [stdout] test tui::screens::diff::tests::d_in_diff_requests_download_when_file_exists ... ok
[INFO] [stdout] test tui::screens::gists::tests::gist_view_s_cycles_sort_updated_then_created ... ok
[INFO] [stdout] test tui::screens::gists::tests::gists_blank_pane_click_is_a_noop ... ok
[INFO] [stdout] test tui::screens::gists::tests::gists_filter_navigates_while_typing ... ok
[INFO] [stdout] test tui::screens::gists::tests::gists_click_selects_and_double_click_matches_enter ... ok
[INFO] [stdout] test tui::screens::gists::tests::gists_filter_empty_backspace_exits ... ok
[INFO] [stdout] test tui::screens::gists::tests::gists_page_keys_jump_selection ... ok
[INFO] [stdout] test tui::screens::gists::tests::gists_filter_tab_is_noop ... ok
[INFO] [stdout] test tui::screens::gists::tests::gist_view_q_returns_to_list ... ok
[INFO] [stdout] test tui::screens::gists::tests::gist_view_v_cycles_visibility_filter ... ok
[INFO] [stdout] test tui::screens::diff::tests::policy_change_recomputes_parked_diff_without_touching_bytes ... ok
[INFO] [stdout] test tui::screens::help::tests::config_topic_lists_every_settings_field ... ok
[INFO] [stdout] test tui::screens::help::tests::footer_help_rows_align_with_the_key_column ... ok
[INFO] [stdout] test tui::screens::gists::tests::o_in_gist_view_opens_browser ... ok
[INFO] [stdout] test tui::screens::help::tests::about_metadata_is_available_for_help ... ok
[INFO] [stdout] test tui::screens::help::tests::each_help_index_shortcut_opens_its_displayed_topic ... ok
[INFO] [stdout] test tui::screens::help::tests::help_index_click_selects_and_double_click_opens_topic ... ok
[INFO] [stdout] test tui::screens::diff::tests::first_frame_and_resize_reveal_the_selected_hunk_at_current_width ... ok
[INFO] [stdout] test tui::screens::help::tests::click_off_list_screen_is_noop ... ok
[INFO] [stdout] test tui::screens::help::tests::close_button_click_outside_is_noop ... ok
[INFO] [stdout] test tui::screens::diff::tests::staged_top_navigation_prompts_and_discard_continues_to_target ... ok
[INFO] [stdout] test tui::screens::gists::tests::gists_scroll_cap_is_the_painted_row ... ok
[INFO] [stdout] test tui::screens::help::tests::help_index_question_mark_exits_help ... ok
[INFO] [stdout] test tui::screens::help::tests::help_index_zero_key_opens_about_from_the_index_list ... ok
[INFO] [stdout] test tui::screens::help::tests::help_topic_view_number_switches_topic ... ok
[INFO] [stdout] test tui::screens::gists::tests::gists_vm_empty_and_rows ... ok
[INFO] [stdout] test tui::screens::gists::tests::enter_on_gist_opens_detail ... ok
[INFO] [stdout] test tui::screens::help::tests::help_topic_view_tab_opens_index_at_current_topic ... ok
[INFO] [stdout] test tui::screens::help::tests::q_in_help_closes_to_list ... ok
[INFO] [stdout] test tui::screens::help::tests::help_topic_view_zero_key_switches_to_about ... ok
[INFO] [stdout] test tui::screens::help::tests::help_topic_view_esc_returns_to_origin ... ok
[INFO] [stdout] test tui::screens::gists::tests::gists_vm_filter_miss_and_status_footer ... ok
[INFO] [stdout] test tui::screens::help::tests::help_vm_index_lists_topics ... ok
[INFO] [stdout] test tui::screens::help::tests::help_index_navigation_and_enter_open_every_topic ... ok
[INFO] [stdout] test tui::screens::list::tests::a_key_toggle_reverse_direction_resets_gist ... ok
[INFO] [stdout] test tui::screens::list::tests::anchor_defaults_to_local ... ok
[INFO] [stdout] test tui::screens::help::tests::question_mark_opens_contextual_help_from_pins ... ok
[INFO] [stdout] test tui::screens::list::tests::a_key_toggles_anchor_and_resets_ranked_pane ... ok
[INFO] [stdout] test tui::screens::list::tests::changing_local_selection_resets_gist_index ... ok
[INFO] [stdout] test tui::screens::list::tests::a_relative_pin_is_pinned_for_the_mark_and_p ... ok
[INFO] [stdout] test tui::screens::help::tests::help_index_esc_returns_to_origin ... ok
[INFO] [stdout] test tui::screens::list::tests::anchor_key_puts_the_marker_in_the_title_head ... ok
[INFO] [stdout] test tui::screens::list::tests::a_running_drag_ignores_the_row ... ok
[INFO] [stdout] test tui::screens::list::tests::apply_upload_edit_event_discards_when_context_is_stale ... ok
[INFO] [stdout] test tui::screens::list::tests::a_terminal_too_narrow_for_two_panes_has_no_grabbable_divider ... ok
[INFO] [stdout] test tui::screens::list::tests::back_to_list_clears_preview ... ok
[INFO] [stdout] test tui::screens::list::tests::clamp_split_percent_keeps_both_panes_readable ... ok
[INFO] [stdout] test tui::screens::list::tests::d_in_local_focus_is_noop ... ok
[INFO] [stdout] test tui::screens::list::tests::double_clicking_the_divider_restores_the_default_split ... ok
[INFO] [stdout] test tui::screens::list::tests::drag_without_grabbing_the_divider_changes_nothing ... ok
[INFO] [stdout] test tui::screens::list::tests::dragging_clamps_to_a_readable_pane_width ... ok
[INFO] [stdout] test tui::screens::list::tests::d_without_gists_is_noop ... ok
[INFO] [stdout] test tui::screens::help::tests::question_opens_contextual_help_from_list ... ok
[INFO] [stdout] test tui::screens::list::tests::confirm_upload_n_cancels_and_discards_the_draft ... ok
[INFO] [stdout] test tui::screens::list::tests::create_confirm_esc_cancels ... ok
[INFO] [stdout] test tui::screens::list::tests::dragging_the_divider_resizes_the_panes_and_release_ends_the_drag ... ok
[INFO] [stdout] test tui::screens::list::tests::click_in_pane_blank_focuses_without_selecting ... ok
[INFO] [stdout] test tui::screens::help::tests::wheel_step_help_body_moves_three ... ok
[INFO] [stdout] test tui::screens::list::tests::config_c_key_opens_settings_from_list ... ok
[INFO] [stdout] test tui::screens::list::tests::create_esc_while_editing_description_cancels ... ok
[INFO] [stdout] test tui::screens::list::tests::enter_blocks_diff_for_image_gist_file ... ok
[INFO] [stdout] test tui::screens::list::tests::d_in_gist_focus_returns_download_gist ... ok
[INFO] [stdout] test tui::screens::list::tests::enter_in_gist_focus_with_selection_returns_preview ... ok
[INFO] [stdout] test tui::screens::list::tests::enter_pairs_the_selected_local_file_whatever_the_gist_file_is_named ... ok
[INFO] [stdout] test tui::screens::list::tests::enter_with_nested_local_targets_its_directory ... ok
[INFO] [stdout] test tui::screens::list::tests::enter_with_no_gists_is_noop_in_local_focus ... ok
[INFO] [stdout] test tui::screens::list::tests::enter_with_no_local_but_gist_selected_returns_preview ... ok
[INFO] [stdout] test tui::screens::help::tests::wheel_step_help_index_moves_one ... ok
[INFO] [stdout] test tui::screens::list::tests::enter_without_gists_is_noop ... ok
[INFO] [stdout] test tui::screens::list::tests::esc_in_preview_returns_to_list_and_clears ... ok
[INFO] [stdout] test tui::screens::list::tests::esc_in_diff_returns_to_list ... ok
[INFO] [stdout] test tui::screens::list::tests::delete_confirm_n_returns_to_list ... ok
[INFO] [stdout] test tui::screens::list::tests::filter_backspace_deletes_last_char ... ok
[INFO] [stdout] test tui::screens::list::tests::digit_keys_jump_to_a_pane ... ok
[INFO] [stdout] test tui::screens::list::tests::enter_in_local_focus_previews_top_gist ... ok
[INFO] [stdout] test tui::screens::list::tests::filter_enter_keeps_query_esc_clears ... ok
[INFO] [stdout] test tui::screens::list::tests::filter_matches_description_case_insensitively ... ok
[INFO] [stdout] test tui::screens::list::tests::foreign_gist_blocks_pin ... ok
[INFO] [stdout] test tui::screens::list::tests::gist_title_segments_follow_the_same_order ... ok
[INFO] [stdout] test tui::screens::list::tests::list_double_click_opens_diff ... ok
[INFO] [stdout] test tui::screens::list::tests::g_with_no_gists_is_blocked ... ok
[INFO] [stdout] test tui::screens::list::tests::grabbing_the_divider_does_not_focus_or_select_a_pane ... ok
[INFO] [stdout] test tui::screens::list::tests::gist_hscroll_caps_at_painted_row ... ok
[INFO] [stdout] test tui::screens::list::tests::gist_hscroll_caps_include_star_prefix ... ok
[INFO] [stdout] test tui::screens::list::tests::gist_hscroll_follows_the_selected_row ... ok
[INFO] [stdout] test tui::screens::list::tests::list_click_selects_and_focuses_local_pane ... ok
[INFO] [stdout] test tui::screens::list::tests::identical_diff_disables_download_and_upload ... ok
[INFO] [stdout] test tui::screens::list::tests::left_right_scrolls_focused_gist_pane ... ok
[INFO] [stdout] test tui::screens::list::tests::list_click_selects_and_focuses_gist_pane ... ok
[INFO] [stdout] test tui::screens::list::tests::list_filter_ctrl_f_pages_without_typing_f ... ok
[INFO] [stdout] test tui::screens::list::tests::list_filter_enter_keeps_query_and_exits ... ok
[INFO] [stdout] test tui::screens::list::tests::list_vm_rows_include_pin_mark_and_star ... ok
[INFO] [stdout] test tui::screens::list::tests::list_vm_status_footer_and_filter_mode ... ok
[INFO] [stdout] test tui::screens::list::tests::local_down_clamps_to_filtered_count ... ok
[INFO] [stdout] test tui::screens::list::tests::local_filter_matches_filename_and_relative_path ... ok
[INFO] [stdout] test tui::screens::list::tests::list_filter_char_resets_focused_index ... ok
[INFO] [stdout] test tui::screens::list::tests::e_edits_local_with_file_selected ... ok
[INFO] [stdout] test tui::screens::list::tests::list_filter_esc_clears_focused_query ... ok
[INFO] [stdout] test tui::screens::list::tests::list_filter_empty_backspace_exits ... ok
[INFO] [stdout] test tui::screens::list::tests::e_without_local_is_noop ... ok
[INFO] [stdout] test tui::screens::list::tests::list_filter_focus_gist_routes_to_gist_query ... ok
[INFO] [stdout] test tui::screens::list::tests::moving_ranked_pane_does_not_reset_driver ... ok
[INFO] [stdout] test tui::screens::list::tests::list_screen_capital_s_syncs_selected_pair ... ok
[INFO] [stdout] test tui::screens::list::tests::moving_driver_pane_resets_ranked_pane ... ok
[INFO] [stdout] test tui::screens::list::tests::list_vm_carries_the_split_and_its_drag_state ... ok
[INFO] [stdout] test tui::screens::list::tests::list_filter_navigates_while_typing ... ok
[INFO] [stdout] test tui::screens::list::tests::moving_driver_pane_up_resets_ranked_pane ... ok
[INFO] [stdout] test tui::screens::list::tests::list_vm_empty_local_and_gist_messages ... ok
[INFO] [stdout] test tui::screens::list::tests::local_hscroll_caps_at_selected_row_not_the_longest ... ok
[INFO] [stdout] test tui::screens::list::tests::list_filter_tab_commits_and_switches_pane ... ok
[INFO] [stdout] test tui::screens::list::tests::list_page_keys_jump_local_selection ... ok
[INFO] [stdout] test tui::screens::list::tests::list_filter_routes_chars_to_focused_pane ... ok
[INFO] [stdout] test tui::screens::list::tests::n_without_local_is_noop ... ok
[INFO] [stdout] test tui::screens::list::tests::n_opens_create_confirm ... ok
[INFO] [stdout] test tui::screens::list::tests::p_without_local_or_gist_is_noop ... ok
[INFO] [stdout] test tui::screens::list::tests::palette_global_openers_do_not_replace_the_active_palette ... ok
[INFO] [stdout] test tui::screens::list::tests::local_title_puts_the_cwd_in_the_shrinkable_context ... ok
[INFO] [stdout] test tui::screens::list::tests::p_pins_unpinned_pair_then_unpins ... ok
[INFO] [stdout] test tui::screens::list::tests::q_in_diff_returns_to_list ... ok
[INFO] [stdout] test tui::screens::list::tests::percent_for_col_puts_the_divider_under_the_pointer ... ok
[INFO] [stdout] test tui::screens::list::tests::s_cycles_gist_sort_when_gist_pane_focused ... ok
[INFO] [stdout] test tui::screens::list::tests::lowercase_h_does_not_open_revision_history ... ok
[INFO] [stdout] test tui::screens::list::tests::s_cycles_local_sort_when_local_pane_focused ... ok
[INFO] [stdout] test tui::screens::list::tests::moving_gist_selection_resets_hscroll ... ok
[INFO] [stdout] test tui::screens::list::tests::o_on_main_list_is_noop_now_that_browser_moved_to_gist_view ... ok
[INFO] [stdout] test tui::screens::list::tests::open_config_does_not_write_config_file ... ok
[INFO] [stdout] test tui::screens::list::tests::render_puts_the_divider_where_the_percent_says ... ok
[INFO] [stdout] test tui::screens::list::tests::percent_for_col_lands_within_one_cell_on_widths_that_are_not_multiples_of_100 ... ok
[INFO] [stdout] test tui::screens::list::tests::scroll_down_clamps_at_list_end ... ok
[INFO] [stdout] test tui::screens::list::tests::semicolon_opens_menu_palette ... ok
[INFO] [stdout] test tui::screens::list::tests::scroll_up_moves_focused_list_by_one ... ok
[INFO] [stdout] test tui::screens::list::tests::slash_enters_filter_mode_and_typing_filters ... ok
[INFO] [stdout] test tui::screens::list::tests::scroll_down_moves_focused_list_by_one ... ok
[INFO] [stdout] test tui::screens::list::tests::star_key_returns_toggle_intent ... ok
[INFO] [stdout] test tui::screens::list::tests::the_grab_zone_is_widened_by_one_cell_on_each_side ... ok
[INFO] [stdout] test tui::screens::list::tests::tab_switches_focus ... ok
[INFO] [stdout] test tui::screens::list::tests::t_toggles_gist_view ... ok
[INFO] [stdout] test tui::screens::list::tests::u_adds_when_gist_lacks_filename ... ok
[INFO] [stdout] test tui::screens::list::tests::u_previews_when_gist_has_same_filename ... ok
[INFO] [stdout] test tui::screens::list::tests::space_without_gist_is_noop ... ok
[INFO] [stdout] test tui::screens::list::tests::space_blocks_preview_for_image_gist_file ... ok
[INFO] [stdout] test tui::screens::list::tests::space_on_selected_gist_returns_preview_content ... ok
[INFO] [stdout] test tui::screens::list::tests::split_cells_rounds_to_nearest_cell ... ok
[INFO] [stdout] test tui::screens::list::tests::x_on_a_gists_only_file_is_blocked ... ok
[INFO] [stdout] test tui::screens::list::tests::x_removes_selected_file_from_a_multifile_gist ... ok
[INFO] [stdout] test tui::screens::pins::tests::entering_pins_screen_resets_hscroll ... ok
[INFO] [stdout] test tui::screens::list::tests::x_without_gist_is_noop ... ok
[INFO] [stdout] test tui::screens::list::tests::vim_j_k_move_list_selection ... ok
[INFO] [stdout] test tui::screens::pins::tests::palette_esc_returns_to_origin ... ok
[INFO] [stdout] test tui::screens::list::tests::vim_h_scrolls_focused_row_left ... ok
[INFO] [stdout] test tui::screens::palette::tests::enabled_row_after_disabled_row_keeps_its_palette_index ... ok
[INFO] [stdout] test tui::screens::pins::tests::confirm_upload_n_cancels_to_diff_return_screen ... ok
[INFO] [stdout] test tui::screens::list::tests::u_without_selection_is_noop ... ok
[INFO] [stdout] test tui::screens::list::tests::v_cycles_gist_type_filter ... ok
[INFO] [stdout] test tui::screens::palette::tests::palette_vm_background_stays_blank_over_confirm ... ok
[INFO] [stdout] test tui::screens::pins::tests::pin_row_label_falls_back_to_filename_without_description ... ok
[INFO] [stdout] test tui::screens::pins::tests::pins_blank_pane_click_is_a_noop ... ok
[INFO] [stdout] test tui::screens::pins::tests::pins_filter_input_behaviors ... ok
[INFO] [stdout] test tui::screens::pins::tests::pin_row_label_leads_with_description_and_abbreviates_id ... ok
[INFO] [stdout] test tui::screens::pins::tests::pins_down_clamps_to_filtered_count ... ok
[INFO] [stdout] test tui::screens::pins::tests::pins_click_selects_and_double_click_matches_enter ... ok
[INFO] [stdout] test tui::screens::pins::tests::pin_row_label_shows_home_as_tilde ... ok
[INFO] [stdout] test tui::screens::palette::tests::palette_vm_items_and_title ... ok
[INFO] [stdout] test tui::screens::pins::tests::pins_hscroll_starts_at_zero ... ok
[INFO] [stdout] test tui::screens::pins::tests::pins_left_clamps_at_zero ... ok
[INFO] [stdout] test tui::screens::pins::tests::pins_screen_enter_emits_preview_pin_diff ... ok
[INFO] [stdout] test tui::screens::pins::tests::pins_vm_empty_states ... ok
[INFO] [stdout] test tui::screens::pins::tests::pins_hscroll_resets_when_selection_moves ... ok
[INFO] [stdout] test tui::screens::pins::tests::pins_key_clears_lingering_status_for_one_shot_display ... ok
[INFO] [stdout] test tui::screens::pins::tests::pins_screen_enter_is_blocked_for_non_previewable_pair ... ok
[INFO] [stdout] test tui::screens::preview::tests::on_preview_content_ok_caches_and_enters_preview ... ok
[INFO] [stdout] test tui::screens::preview::tests::page_keys_jump_by_ten ... ok
[INFO] [stdout] test tui::screens::preview::tests::on_preview_content_err_sets_status ... ok
[INFO] [stdout] test tui::screens::pins::tests::pins_screen_sync_keys_emit_outcomes ... ok
[INFO] [stdout] test tui::screens::preview::tests::preview_q_returns_to_launch_screen ... ok
[INFO] [stdout] test tui::screens::preview::tests::preview_scrolls_with_arrows ... ok
[INFO] [stdout] test tui::screens::preview::tests::preview_title_falls_back_to_id_without_description ... ok
[INFO] [stdout] test tui::screens::pins::tests::pins_right_scrolls_then_clamps_at_a_bound ... ok
[INFO] [stdout] test tui::screens::preview::tests::preview_title_uses_gist_description ... ok
[INFO] [stdout] test tui::screens::preview::tests::stage_preview_content_cache_hit_enters_preview_without_spawn_payload ... ok
[INFO] [stdout] test tui::screens::preview::tests::preview_w_toggles_line_wrapping ... ok
[INFO] [stdout] test tui::screens::preview::tests::stage_preview_content_miss_falls_back_to_raw_url_and_returns_title ... ok
[INFO] [stdout] test tui::screens::preview::tests::preview_key_clears_lingering_status_for_one_shot_display ... ok
[INFO] [stdout] test tui::screens::preview::tests::preview_y_copies_url_and_capital_y_copies_content ... ok
[INFO] [stdout] test tui::screens::preview::tests::preview_vm_title_and_status_footer ... ok
[INFO] [stdout] test tui::screens::pins::tests::selected_pin_index_maps_through_filter ... ok
[INFO] [stdout] test tui::screens::pins::tests::visible_pin_indices_filters_by_path_and_filename ... ok
[INFO] [stdout] test tui::screens::pins::tests::pins_vm_reads_cache_not_requiring_disk_for_status ... ok
[INFO] [stdout] test tui::screens::pins::tests::pins_scroll_cap_is_the_painted_row ... ok
[INFO] [stdout] test tui::screens::pins::tests::pins_page_keys_jump_selection ... ok
[INFO] [stdout] test tui::screens::revisions::tests::revision_version_label_is_built_from_an_explicit_now ... ok
[INFO] [stdout] test tui::screens::pins::tests::pins_vm_unknown_when_cache_missing ... ok
[INFO] [stdout] test tui::screens::preview::tests::top_bar_config_click_while_already_on_config_does_not_trap_keyboard_exit ... ok
[INFO] [stdout] test tui::screens::revisions::tests::revisions_blank_pane_click_is_a_noop ... ok
[INFO] [stdout] test tui::screens::revisions::tests::revisions_click_selects_and_double_click_matches_enter ... ok
[INFO] [stdout] test tui::screens::preview::tests::top_bar_help_click_opens_help_and_remembers_return_screen_from_any_screen ... ok
[INFO] [stdout] test tui::screens::revisions::tests::revisions_capital_f_on_single_file_gist_shows_status ... ok
[INFO] [stdout] test tui::screens::preview::tests::top_bar_gists_click_opens_gist_manager_from_any_screen ... ok
[INFO] [stdout] test tui::screens::revisions::tests::revisions_r_on_head_is_blocked ... ok
[INFO] [stdout] test tui::screens::revisions::tests::revisions_enter_triggers_incremental_diff ... ok
[INFO] [stdout] test tui::screens::revisions::tests::revisions_capital_d_on_current_shows_status ... ok
[INFO] [stdout] test tui::screens::revisions::tests::revisions_navigation_resets_hscroll_and_right_is_clamped ... ok
[INFO] [stdout] test tui::screens::revisions::tests::capital_h_from_gist_detail_opens_revisions_and_fetches ... ok
[INFO] [stdout] test tui::screens::preview::tests::top_bar_config_click_opens_settings_from_any_screen ... ok
[INFO] [stdout] test tui::screens::revisions::tests::revision_diff_omits_download_upload ... ok
[INFO] [stdout] test tui::screens::revisions::tests::capital_h_from_list_opens_revisions_for_selected_gist_file ... ok
[INFO] [stdout] test tui::screens::preview::tests::stage_refresh_preview_keeps_cache_and_returns_fetch_payload ... ok
[INFO] [stdout] test tui::settings::tests::cli_overrides_force_effective_values_off_without_changing_preferences ... ok
[INFO] [stdout] test tui::screens::revisions::tests::revisions_vm_loading_and_rows ... ok
[INFO] [stdout] test tui::screens::revisions::tests::revisions_capital_f_cycles_target_file ... ok
[INFO] [stdout] test tui::screens::tests::lookup_answers_for_every_variant ... ok
[INFO] [stdout] test tui::scroll::tests::empty_body_down_and_right_stay_at_zero ... ok
[INFO] [stdout] test tui::scroll::tests::page_down_and_page_up_clamp ... ok
[INFO] [stdout] test tui::settings::tests::numeric_adjustments_clamp_and_report_no_change_at_bounds ... ok
[INFO] [stdout] test tui::settings::tests::projection_updates_every_owned_field_and_preserves_the_rest ... ok
[INFO] [stdout] test tui::sync::tests::a_failed_fetch_reports_and_stays_put ... ok
[INFO] [stdout] test tui::scroll::tests::up_saturates_at_zero ... ok
[INFO] [stdout] test tui::screens::pins::tests::unpinning_the_last_row_moves_the_cursor_up ... ok
[INFO] [stdout] test tui::scroll::tests::horizontal_cap_is_longest_line ... ok
[INFO] [stdout] test tui::scroll::tests::left_saturates_at_zero ... ok
[INFO] [stdout] test tui::sync::tests::a_list_diff_writes_the_two_files_it_compares ... ok
[INFO] [stdout] test tui::scroll::tests::vertical_cap_is_last_line_index ... ok
[INFO] [stdout] test tui::sync::tests::a_line_ending_only_difference_follows_the_setting ... ok
[INFO] [stdout] test tui::sync::tests::a_download_from_a_list_diff_records_the_pins_baseline ... ok
[INFO] [stdout] test tui::settings::tests::only_mouse_adjustment_requests_external_effect ... ok
[INFO] [stdout] test tui::sync::tests::auto_of_a_pair_no_longer_pinned_says_so ... ok
[INFO] [stdout] test tui::sync::tests::auto_on_a_conflict_opens_the_diff ... ok
[INFO] [stdout] test tui::sync::tests::a_list_diff_without_a_local_selection_shows_the_file_d_would_overwrite ... ok
[INFO] [stdout] test tui::sync::tests::refresh_locals_failure_keeps_candidates_and_appends_to_the_existing_status ... ok
[INFO] [stdout] test tui::sync::tests::auto_reports_the_statuses_that_need_no_fetch ... ok
[INFO] [stdout] test tui::sync::tests::auto_of_an_identical_push_confirms_the_pin_without_uploading ... ok
[INFO] [stdout] test tui::tests::bg_task_generation_bumps_on_begin_and_invalidate ... ok
[INFO] [stdout] test tui::tests::gist_file_for_diff_falls_back_to_unknown_for_an_unloaded_gist ... ok
[INFO] [stdout] test tui::tests::gist_file_for_diff_fills_updated_at_from_loaded_gists ... ok
[INFO] [stdout] test tui::sync::tests::a_push_of_a_file_new_to_the_gist_opens_confirm_as_an_add ... ok
[INFO] [stdout] test tui::tests::gist_file_for_diff_finds_a_starred_gist_too ... ok
[INFO] [stdout] test tui::sync::tests::refresh_locals_preserves_nested_selection_in_recursive_mode ... ok
[INFO] [stdout] test tui::sync::tests::on_push_done_of_an_unpinned_pair_touches_no_config ... ok
[INFO] [stdout] test tui::tests::append_status_joins_onto_an_existing_status ... ok
[INFO] [stdout] test tui::tests::deferred_entry_returns_to_the_screen_captured_before_work_started ... ok
[INFO] [stdout] test tui::tests::deferred_replacement_keeps_the_current_screens_parent ... ok
[INFO] [stdout] test tui::tests::dropping_deferred_entry_does_not_touch_navigation ... ok
[INFO] [stdout] test tui::settings::tests::every_field_change_survives_save_and_reload ... ok
[INFO] [stdout] test tui::sync::tests::on_push_done_settles_the_pins_baseline_catalog_and_landing ... ok
[INFO] [stdout] test tui::sync::tests::d_over_an_existing_local_file_asks_before_overwriting ... ok
[INFO] [stdout] test tui::sync::tests::d_with_the_local_file_gone_writes_it_and_leaves_the_diff ... ok
[INFO] [stdout] test tui::text::tests::hscroll_max_among_picks_longest ... ok
[INFO] [stdout] test tui::sync::tests::a_pull_without_a_local_file_writes_it ... ok
[INFO] [stdout] test tui::text::tests::hscroll_str_skips_scalars ... ok
[INFO] [stdout] test tui::text_input::tests::apply_edit_classifies_keys ... ok
[INFO] [stdout] test tui::text_input::tests::backspace_at_start_is_noop ... ok
[INFO] [stdout] test tui::text_input::tests::cursor_movement_clamps_at_bounds ... ok
[INFO] [stdout] test tui::text_input::tests::delete_at_end_is_noop ... ok
[INFO] [stdout] test tui::tests::pane_hit_maps_rows_to_indices ... ok
[INFO] [stdout] test tui::tests::pane_hit_empty_list_selects_nothing ... ok
[INFO] [stdout] test tui::tests::pane_hit_respects_scroll_offset ... ok
[INFO] [stdout] test tui::tests::split_hit_grab_zone_is_bounded_by_the_panes_height ... ok
[INFO] [stdout] test tui::text::tests::text_len_counts_scalars_not_bytes ... ok
[INFO] [stdout] test tui::text_input::tests::edits_respect_multibyte_char_boundaries ... ok
[INFO] [stdout] test tui::text_input::tests::insert_at_cursor_after_moving_left ... ok
[INFO] [stdout] test tui::text_input::tests::backspace_removes_char_before_cursor ... ok
[INFO] [stdout] test tui::text_input::tests::set_places_cursor_at_end_and_clear_resets ... ok
[INFO] [stdout] test tui::tests::gist_filenames_dedupes_owned_gist_that_is_also_starred ... ok
[INFO] [stdout] test tui::text_input::tests::delete_removes_char_at_cursor ... ok
[INFO] [stdout] test tui::tests::help_topic_all_is_ordered_and_titled ... ok
[INFO] [stdout] test tui::tests::help_topic_for_screen_maps_key_dense_screens ... ok
[INFO] [stdout] test tui::tests::initial_state_enables_mouse_by_default ... ok
[INFO] [stdout] test tui::text::tests::hscroll_max_allows_last_char_first ... ok
[INFO] [stdout] test update_check::tests::should_check_respects_the_daily_interval ... ok
[INFO] [stdout] test tui::upload_draft::tests::content_preserves_crlf_when_normalization_disabled ... ok
[INFO] [stdout] test update_check::tests::update_hint_is_install_method_aware ... ok
[INFO] [stdout] test upgrade::tests::detect_install_method_recognizes_homebrew_cellar ... ok
[INFO] [stdout] test upgrade::tests::detect_install_method_recognizes_scoop_layout ... ok
[INFO] [stdout] test update_check::tests::state_round_trips_through_disk ... ok
[INFO] [stdout] test tui::sync::tests::each_intent_opens_its_screen_and_confirms_an_identical_pinned_pair ... ok
[INFO] [stdout] test tui::view_model::tests::chrome_carries_bg_task ... ok
[INFO] [stdout] test upgrade::tests::detect_install_method_recognizes_scoop_shim_on_path ... ok
[INFO] [stdout] test update_check::tests::check_classifies_outcomes_via_a_fake_client ... ok
[INFO] [stdout] test upgrade::tests::detect_install_method_treats_local_bin_as_standalone ... ok
[INFO] [stdout] test tui::upload_draft::tests::read_surfaces_an_unreadable_local_file ... ok
[INFO] [stdout] test tui::theme::tests::light_theme_keeps_focus_and_diff_header_colours_distinct ... ok
[INFO] [stdout] test tui::view_model::tests::key_dense_screens_expose_contextual_action_hints ... ok
[INFO] [stdout] test tui::upload_draft::tests::content_normalizes_crlf_by_default ... ok
[INFO] [stdout] test tui::upload_draft::tests::content_applies_json_toggles_to_json_files_only ... ok
[INFO] [stdout] test tui::upload_draft::tests::content_prefers_edited_content ... ok
[INFO] [stdout] test tui::upload_draft::tests::content_prefers_edited_content_for_json ... ok
[INFO] [stdout] test update_check::tests::is_newer_only_for_strictly_greater ... ok
[INFO] [stdout] test upgrade::tests::normalize_tag_accepts_v_prefix_whitespace_and_bare_versions ... ok
[INFO] [stdout] test upgrade::tests::parse_sha256_file_rejects_malformed_or_foreign_entries ... ok
[INFO] [stdout] test upgrade::tests::execute_plan_check_only_exits_when_update_available ... ok
[INFO] [stdout] test upgrade::tests::execute_plan_refuses_an_archive_whose_digest_does_not_match ... ok
[INFO] [stdout] test upgrade::tests::looks_managed_system_path_flags_common_locations ... ok
[INFO] [stdout] test upgrade::tests::execute_plan_fails_closed_without_a_checksum_asset ... ok
[INFO] [stdout] test upgrade::tests::execute_plan_refuses_a_checksum_for_another_archive ... ok
[INFO] [stdout] test upgrade::tests::extract_binary_reads_tar_gz_layout ... ok
[INFO] [stdout] test upgrade::tests::execute_plan_replaces_standalone_binary_on_unix ... ok
[INFO] [stdout] test upgrade::tests::verify_sha256_checks_digest ... ok
[INFO] [stdout] test upgrade::tests::release_asset_treats_v_prefixed_and_bare_versions_equally ... ok
[INFO] [stdout] test upgrade::tests::scoop_install_path_matches_apps_and_shims ... ok
[INFO] [stdout] test upgrade::tests::version_cmp_orders_semver_like_tags ... ok
[INFO] [stdout] test upgrade::tests::parse_latest_release_tag_reads_tag_name ... ok
[INFO] [stdout] test upgrade::tests::parse_sha256_file_accepts_binary_marker_and_lowercases ... ok
[INFO] [stdout] test upgrade::tests::parse_sha256_file_tolerates_crlf_and_two_field_format ... ok
[INFO] [stdout] test upgrade::tests::release_asset_matches_install_script_naming ... ok
[INFO] [stdout] test tui::gist_revision::tests::the_size_gate_applies_to_every_side_of_every_two_content_workflow ... ok
[INFO] [stdout] test tui::editor::tests::watch_reports_an_oversized_buffer_instead_of_reading_it ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- tui::dispatch::tests::a_terminal_bearing_outcome_reaching_route_outcome_trips_the_assert stdout ----
[INFO] [stdout] note: test did not panic as expected at src/tui/dispatch.rs:205:8
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     tui::dispatch::tests::a_terminal_bearing_outcome_reaching_route_outcome_trips_the_assert
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 951 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.62s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "0843ec741a36f0736b102a8d658687367c1d8ca179059e0ebdf9f9040ac8c485", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0843ec741a36f0736b102a8d658687367c1d8ca179059e0ebdf9f9040ac8c485", kill_on_drop: false }`
[INFO] [stdout] 0843ec741a36f0736b102a8d658687367c1d8ca179059e0ebdf9f9040ac8c485
