[INFO] cloning repository https://github.com/freyr/claude-manager [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/freyr/claude-manager" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffreyr%2Fclaude-manager", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffreyr%2Fclaude-manager'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] bdae58a00acb1b363f61109ce3aced404750f73a [INFO] testing freyr/claude-manager against 1.99.0-beta.8+cargoflags=--release for beta-release-1.100-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffreyr%2Fclaude-manager" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-7-tc1/source/rust-toolchain.toml [INFO] started tweaking git repo https://github.com/freyr/claude-manager [INFO] finished tweaking git repo https://github.com/freyr/claude-manager [INFO] tweaked toml for git repo https://github.com/freyr/claude-manager written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/freyr/claude-manager on toolchain 1.99.0-beta.8 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/freyr/claude-manager 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.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded tui-textarea v0.7.0 [INFO] [stderr] Downloaded assert_cmd v2.1.2 [INFO] [stderr] Downloaded tui-tree-widget v0.23.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 019613d072b94611027bf6dafc99480cdea8e8fb7bf0fb3c4755da1e3368c59d [INFO] running `Command { std: "docker" "start" "019613d072b94611027bf6dafc99480cdea8e8fb7bf0fb3c4755da1e3368c59d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "019613d072b94611027bf6dafc99480cdea8e8fb7bf0fb3c4755da1e3368c59d", 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" "019613d072b94611027bf6dafc99480cdea8e8fb7bf0fb3c4755da1e3368c59d" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "019613d072b94611027bf6dafc99480cdea8e8fb7bf0fb3c4755da1e3368c59d", 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" "019613d072b94611027bf6dafc99480cdea8e8fb7bf0fb3c4755da1e3368c59d" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling unicode-ident v1.0.24 [INFO] [stderr] Compiling quote v1.0.44 [INFO] [stderr] Compiling libc v0.2.182 [INFO] [stderr] Compiling cfg-if v1.0.4 [INFO] [stderr] Compiling rustversion v1.0.22 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling ident_case v1.0.1 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling lock_api v0.4.14 [INFO] [stderr] Compiling instability v0.3.11 [INFO] [stderr] Compiling foldhash v0.1.5 [INFO] [stderr] Compiling itoa v1.0.17 [INFO] [stderr] Compiling linux-raw-sys v0.4.15 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling paste v1.0.15 [INFO] [stderr] Compiling allocator-api2 v0.2.21 [INFO] [stderr] Compiling ryu v1.0.23 [INFO] [stderr] Compiling unicode-segmentation v1.12.0 [INFO] [stderr] Compiling static_assertions v1.1.0 [INFO] [stderr] Compiling indoc v2.0.7 [INFO] [stderr] Compiling unicode-width v0.1.14 [INFO] [stderr] Compiling utf8parse v0.2.2 [INFO] [stderr] Compiling unicode-width v0.2.0 [INFO] [stderr] Compiling getrandom v0.4.1 [INFO] [stderr] Compiling anstyle-parse v0.2.7 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Compiling colorchoice v1.0.4 [INFO] [stderr] Compiling anstyle v1.0.13 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.2 [INFO] [stderr] Compiling cassowary v0.3.0 [INFO] [stderr] Compiling anstyle-query v1.1.5 [INFO] [stderr] Compiling hashbrown v0.15.5 [INFO] [stderr] Compiling zmij v1.0.21 [INFO] [stderr] Compiling anstream v0.6.21 [INFO] [stderr] Compiling toml_write v0.1.2 [INFO] [stderr] Compiling winnow v0.7.14 [INFO] [stderr] Compiling castaway v0.2.4 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling compact_str v0.8.1 [INFO] [stderr] Compiling anyhow v1.0.102 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling clap_lex v1.0.0 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling clap_builder v4.5.60 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling signal-hook-mio v0.2.5 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling lru v0.12.5 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling walkdir v2.5.0 [INFO] [stderr] Compiling crossterm v0.28.1 [INFO] [stderr] Compiling unicode-truncate v1.1.0 [INFO] [stderr] Compiling tempfile v3.26.0 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling strum_macros v0.26.4 [INFO] [stderr] Compiling clap_derive v4.5.55 [INFO] [stderr] Compiling strum v0.26.3 [INFO] [stderr] Compiling clap v4.5.60 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling ratatui v0.29.0 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling tui-textarea v0.7.0 [INFO] [stderr] Compiling tui-tree-widget v0.23.1 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling jigolo v0.4.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 53.40s [INFO] running `Command { std: "docker" "inspect" "019613d072b94611027bf6dafc99480cdea8e8fb7bf0fb3c4755da1e3368c59d", 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" "019613d072b94611027bf6dafc99480cdea8e8fb7bf0fb3c4755da1e3368c59d" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling predicates-core v1.0.10 [INFO] [stderr] Compiling normalize-line-endings v0.3.0 [INFO] [stderr] Compiling termtree v0.5.1 [INFO] [stderr] Compiling assert_cmd v2.1.2 [INFO] [stderr] Compiling difflib v0.4.0 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling predicates-tree v1.0.13 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling float-cmp v0.10.0 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling bstr v1.12.1 [INFO] [stderr] Compiling predicates v3.1.4 [INFO] [stderr] Compiling jigolo v0.4.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 33.75s [INFO] running `Command { std: "docker" "inspect" "019613d072b94611027bf6dafc99480cdea8e8fb7bf0fb3c4755da1e3368c59d", 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" "019613d072b94611027bf6dafc99480cdea8e8fb7bf0fb3c4755da1e3368c59d" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }` [INFO] [stderr] Finished `release` profile [optimized] target(s) in 0.13s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/release/deps/jigolo-84adc8c38e8f669a) [INFO] [stdout] [INFO] [stdout] running 220 tests [INFO] [stdout] test config::tests::load_config_from_empty_file_returns_default ... ok [INFO] [stdout] test compose::tests::single_selection_returns_content_without_separator ... ok [INFO] [stdout] test compose::tests::multiline_content_preserved ... ok [INFO] [stdout] test config::tests::default_config_has_all_none ... ok [INFO] [stdout] test compose::tests::preserves_selection_order ... ok [INFO] [stdout] test compose::tests::multiple_selections_joined_with_double_newline ... ok [INFO] [stdout] test compose::tests::out_of_bounds_index_ignored ... ok [INFO] [stdout] test config::tests::load_config_from_parses_all_fields ... ok [INFO] [stdout] test compose::tests::all_selected ... ok [INFO] [stdout] test compose::tests::empty_snippets_returns_empty ... ok [INFO] [stdout] test compose::tests::empty_selection_returns_empty_string ... ok [INFO] [stdout] test config::tests::load_config_from_parses_partial_config ... ok [INFO] [stdout] test config::tests::load_config_from_missing_file_returns_default ... ok [INFO] [stdout] test discovery::tests::broken_symlinks_are_silently_skipped ... ok [INFO] [stdout] test discovery::tests::finds_claude_md_in_nested_dirs ... ok [INFO] [stdout] test discovery::tests::custom_depth_overrides_default ... ok [INFO] [stdout] test discovery::tests::find_global_claude_file_returns_none_when_missing ... ok [INFO] [stdout] test discovery::tests::results_are_sorted ... ok [INFO] [stdout] test config::tests::config_path_in_returns_expected_path ... ok [INFO] [stdout] test discovery::tests::default_depth_limits_to_three_levels ... ok [INFO] [stdout] test discovery::tests::find_global_claude_file_returns_path_when_exists ... ok [INFO] [stdout] test config::tests::load_config_from_invalid_toml_returns_error ... ok [INFO] [stdout] test discovery::tests::skips_filtered_directories ... ok [INFO] [stdout] test discovery::tests::returns_empty_for_no_claude_files ... ok [INFO] [stdout] test library::tests::append_snippet_to_nonexistent_file_creates_it ... ok [INFO] [stdout] test library::tests::delete_snippet_from_single_item_library ... ok [INFO] [stdout] test library::tests::empty_library_serializes_cleanly ... ok [INFO] [stdout] test library::tests::delete_snippet_out_of_bounds_is_noop ... ok [INFO] [stdout] test library::tests::append_snippet_adds_to_existing_library ... ok [INFO] [stdout] test library::tests::library_path_resolves_from_home ... ok [INFO] [stdout] test library::tests::load_invalid_toml_returns_error ... ok [INFO] [stdout] test library::tests::load_missing_file_returns_default ... ok [INFO] [stdout] test library::tests::rename_snippet_changes_title ... ok [INFO] [stdout] test library::tests::rename_snippet_out_of_bounds_is_noop ... ok [INFO] [stdout] test library::tests::delete_snippet_removes_by_index ... ok [INFO] [stdout] test library::tests::round_trip_save_and_load ... ok [INFO] [stdout] test library::tests::save_creates_parent_directories ... ok [INFO] [stdout] test library::tests::snippet_without_source_deserializes_with_default ... ok [INFO] [stdout] test model::tests::source_root_display_singular_file ... ok [INFO] [stdout] test model::tests::source_root_display_shows_count_and_relative_paths ... ok [INFO] [stdout] test settings::tests::format_env ... ok [INFO] [stdout] test model::tests::verify_cli ... ok [INFO] [stdout] test settings::tests::discovers_project_settings ... ok [INFO] [stdout] test settings::tests::discovers_global_settings_when_present ... ok [INFO] [stdout] test settings::tests::format_hooks ... ok [INFO] [stdout] test settings::tests::format_mcp_servers ... ok [INFO] [stdout] test settings::tests::format_model_field ... ok [INFO] [stdout] test settings::tests::format_multiple_files_with_separators ... ok [INFO] [stdout] test settings::tests::line_map_maps_lines_to_correct_files ... ok [INFO] [stdout] test settings::tests::format_permissions_section ... ok [INFO] [stdout] test settings::tests::format_plugins ... ok [INFO] [stdout] test settings::tests::invalid_json_handled_gracefully ... ok [INFO] [stdout] test settings::tests::merge_hooks_concatenated ... ok [INFO] [stdout] test settings::tests::merge_env_last_writer_wins ... ok [INFO] [stdout] test settings::tests::merge_permissions_are_additive ... ok [INFO] [stdout] test settings::tests::merge_mcp_servers_by_key ... ok [INFO] [stdout] test settings::tests::merge_plugins_deduplicated ... ok [INFO] [stdout] test settings::tests::merge_scalars_last_writer_wins ... ok [INFO] [stdout] test settings::tests::missing_files_skipped ... ok [INFO] [stdout] test tui::app::tests::app_starts_in_normal_mode ... ok [INFO] [stdout] test settings::tests::merge_skips_invalid_json ... ok [INFO] [stdout] test tui::app::tests::build_tree_items_creates_correct_hierarchy ... ok [INFO] [stdout] test tui::app::tests::config_theme_dark_starts_in_dark_mode ... ok [INFO] [stdout] test tui::app::tests::config_theme_light_starts_in_light_mode ... ok [INFO] [stdout] test tui::app::tests::config_theme_none_defaults_to_dark ... ok [INFO] [stdout] test tui::app::tests::ctrl_c_exits_in_any_mode ... ok [INFO] [stdout] test tui::app::tests::first_file_is_selected_and_loaded_on_startup ... ok [INFO] [stdout] test tui::app::tests::help_line_shows_edit_key_in_content_pane ... ok [INFO] [stdout] test tui::app::tests::other_keys_do_not_exit ... ok [INFO] [stdout] test tui::app::tests::q_does_not_exit_in_title_input_mode ... ok [INFO] [stdout] test tui::app::tests::help_line_shows_save_cancel_in_edit_mode ... ok [INFO] [stdout] test tui::app::tests::q_does_not_exit_in_visual_select_mode ... ok [INFO] [stdout] test tui::app::tests::q_key_sets_exit ... ok [INFO] [stdout] test tui::app::tests::shift_t_ignored_in_title_input_mode ... ok [INFO] [stdout] test tui::app::tests::shift_t_ignored_in_edit_mode ... ok [INFO] [stdout] test tui::app::tests::shift_t_toggles_on_settings_screen ... ok [INFO] [stdout] test tui::compose::tests::esc_from_preview_pane_returns_to_files ... ok [INFO] [stdout] test tui::app::tests::shift_t_toggles_theme_in_normal_mode ... ok [INFO] [stdout] test tui::app::tests::status_message_cleared_on_keypress ... ok [INFO] [stdout] test tui::compose::tests::compose_dual_pane_renders_without_panic ... ok [INFO] [stdout] test tui::compose::tests::compose_state_preserved_across_tab_switch ... ok [INFO] [stdout] test tui::compose::tests::compose_empty_library_shows_message ... ok [INFO] [stdout] test tui::compose::tests::esc_returns_to_files_screen ... ok [INFO] [stdout] test tui::compose::tests::export_refuses_existing_file ... ok [INFO] [stdout] test tui::compose::tests::key_3_enters_compose_screen ... ok [INFO] [stdout] test tui::edit::tests::ctrl_c_exits_from_edit_mode ... ok [INFO] [stdout] test tui::compose::tests::tab_switches_pane_focus ... ok [INFO] [stdout] test tui::compose::tests::jk_scrolls_preview_when_focused ... ok [INFO] [stdout] test tui::compose::tests::w_enters_export_path_mode ... ok [INFO] [stdout] test tui::compose::tests::export_refuses_missing_parent ... ok [INFO] [stdout] test tui::compose::tests::jk_navigates_snippet_list ... ok [INFO] [stdout] test tui::compose::tests::selection_order_determines_compose_order ... ok [INFO] [stdout] test tui::compose::tests::export_writes_file_in_selection_order ... ok [INFO] [stdout] test tui::compose::tests::space_toggles_selection_and_appends ... ok [INFO] [stdout] test tui::edit::tests::ctrl_s_saves_file_to_disk ... ok [INFO] [stdout] test tui::edit::tests::e_in_content_pane_enters_edit_mode ... ok [INFO] [stdout] test tui::edit::tests::edit_mode_renders_without_panic ... ok [INFO] [stdout] test tui::edit::tests::edit_state_is_dirty_detects_changes ... ok [INFO] [stdout] test tui::edit::tests::edit_state_starts_as_none ... ok [INFO] [stdout] test tui::edit::tests::enter_edit_mode_for_nonexistent_file_stays_normal ... ok [INFO] [stdout] test tui::edit::tests::esc_on_clean_edit_returns_to_normal ... ok [INFO] [stdout] test tui::edit::tests::double_esc_discards_unsaved_changes ... ok [INFO] [stdout] test tui::compose::tests::w_shows_error_when_nothing_selected ... ok [INFO] [stdout] test tui::edit::tests::esc_on_dirty_edit_warns_does_not_exit ... ok [INFO] [stdout] test tui::edit::tests::e_in_file_list_does_not_enter_edit ... ok [INFO] [stdout] test tui::edit::tests::q_in_edit_mode_types_q_not_exit ... ok [INFO] [stdout] test tui::edit::tests::no_trailing_newline_preserved_after_edit_save_cycle ... ok [INFO] [stdout] test tui::edit::tests::typing_in_edit_mode_modifies_textarea ... ok [INFO] [stdout] test tui::edit::tests::typing_after_first_esc_resets_discard_flag ... ok [INFO] [stdout] test tui::edit::tests::trailing_newline_preserved_after_edit_save_cycle ... ok [INFO] [stdout] test tui::files::tests::cursor_moves_down_and_scrolls_when_past_viewport ... ok [INFO] [stdout] test tui::files::tests::content_state_selected_text_returns_none_without_anchor ... ok [INFO] [stdout] test tui::files::tests::cursor_does_not_go_below_zero ... ok [INFO] [stdout] test tui::files::tests::content_state_selected_text_extracts_lines ... ok [INFO] [stdout] test tui::files::tests::content_state_selection_range_returns_none_without_anchor ... ok [INFO] [stdout] test tui::files::tests::cursor_on_empty_line_is_visible ... ok [INFO] [stdout] test tui::files::tests::esc_in_visual_select_returns_to_normal ... ok [INFO] [stdout] test tui::files::tests::enter_in_file_list_is_noop ... ok [INFO] [stdout] test tui::files::tests::load_content_handles_missing_file ... ok [INFO] [stdout] test tui::files::tests::cursor_clamps_at_last_line ... ok [INFO] [stdout] test tui::files::tests::content_state_selection_range_sorts_anchor_and_cursor ... ok [INFO] [stdout] test tui::files::tests::loading_new_content_clears_visual_anchor ... ok [INFO] [stdout] test tui::files::tests::full_visual_select_to_save_flow ... ok [INFO] [stdout] test tui::files::tests::folder_selection_clears_content_pane ... ok [INFO] [stdout] test tui::files::tests::load_selected_content_loads_file ... ok [INFO] [stdout] test tui::files::tests::loading_new_content_resets_scroll_and_cursor ... ok [INFO] [stdout] test tui::files::tests::s_in_visual_select_enters_title_input ... ok [INFO] [stdout] test tui::files::tests::title_input_backspace_deletes_at_cursor ... ok [INFO] [stdout] test tui::files::tests::save_with_empty_title_shows_error ... ok [INFO] [stdout] test tui::files::tests::title_input_enter_saves_snippet_to_disk ... ok [INFO] [stdout] test tui::files::tests::title_input_chars_accumulate ... ok [INFO] [stdout] test tui::files::tests::title_input_esc_returns_to_visual_select ... ok [INFO] [stdout] test tui::files::tests::switching_files_does_not_leave_leftover_characters ... ok [INFO] [stdout] test tui::files::tests::v_in_file_list_does_not_enter_visual_select ... ok [INFO] [stdout] test tui::files::tests::tabs_are_expanded_to_spaces ... ok [INFO] [stdout] test tui::files::tests::v_in_content_pane_enters_visual_select ... ok [INFO] [stdout] test tui::files::tests::enter_on_root_node_is_noop ... ok [INFO] [stdout] test tui::files::tests::arrow_keys_ignored_when_content_pane_active ... ok [INFO] [stdout] test tui::files::tests::tab_toggles_pane ... ok [INFO] [stdout] test tui::files::tests::toggle_selected_on_root_toggles ... ok [INFO] [stdout] test tui::files::tests::left_arrow_to_parent_clears_content ... ok [INFO] [stdout] test tui::files::tests::left_on_folder_node_does_not_lose_selection ... ok [INFO] [stdout] test tui::library::tests::e_enters_edit_mode_for_snippet ... ok [INFO] [stdout] test tui::library::tests::delete_last_snippet_adjusts_selected ... ok [INFO] [stdout] test tui::compose::tests::composed_text_follows_selection_order ... ok [INFO] [stdout] test tui::compose::tests::esc_cancels_export_path ... ok [INFO] [stdout] test tui::compose::tests::q_quits_app ... ok [INFO] [stdout] test tui::library::tests::ctrl_s_saves_snippet_edit_to_library ... ok [INFO] [stdout] test tui::library::tests::enter_library_screen_loads_snippets ... ok [INFO] [stdout] test tui::library::tests::delete_on_empty_library_is_noop ... ok [INFO] [stdout] test tui::library::tests::esc_on_library_screen_returns_to_files ... ok [INFO] [stdout] test tui::library::tests::d_on_library_screen_deletes_snippet ... ok [INFO] [stdout] test tui::library::tests::e_on_empty_library_does_nothing ... ok [INFO] [stdout] test tui::settings::tests::cursor_down_skips_collapsed_lines ... ok [INFO] [stdout] test tui::library::tests::r_on_empty_library_does_nothing ... ok [INFO] [stdout] test tui::library::tests::rename_with_empty_title_shows_error ... ok [INFO] [stdout] test tui::library::tests::rename_esc_returns_to_normal_on_library_screen ... ok [INFO] [stdout] test tui::settings::tests::cursor_skips_sub_section_collapsed_lines ... ok [INFO] [stdout] test tui::library::tests::r_on_library_screen_enters_rename_with_current_title ... ok [INFO] [stdout] test tui::settings::tests::e_disabled_in_merged_view ... ok [INFO] [stdout] test tui::settings::tests::fold_sub_section_hides_only_its_children ... ok [INFO] [stdout] test tui::library::tests::q_on_library_screen_exits_app ... ok [INFO] [stdout] test tui::settings::tests::fold_top_level_hides_all_children ... ok [INFO] [stdout] test tui::settings::tests::e_on_settings_screen_enters_edit_for_settings_file ... ok [INFO] [stdout] test tui::library::tests::number_keys_switch_screens_from_library ... ok [INFO] [stdout] test tui::settings::tests::help_line_shows_edit_key_on_settings_screen ... ok [INFO] [stdout] test tui::settings::tests::e_on_blank_separator_in_settings_shows_error ... ok [INFO] [stdout] test tui::settings::tests::jk_on_settings_scrolls ... ok [INFO] [stdout] test tui::settings::tests::is_foldable_detects_lines_with_children ... ok [INFO] [stdout] test tui::library::tests::library_screen_loads_from_disk ... ok [INFO] [stdout] test tui::library::tests::rename_saves_new_title ... ok [INFO] [stdout] test tui::library::tests::jk_on_library_screen_navigates ... ok [INFO] [stdout] test tui::settings::tests::left_arrow_on_leaf_jumps_to_parent ... ok [INFO] [stdout] test tui::library::tests::esc_exits_snippet_edit_clears_index ... ok [INFO] [stdout] test tui::files::tests::jk_in_visual_select_moves_cursor ... ok [INFO] [stdout] test tui::settings::tests::help_bar_in_merged_omits_edit ... ok [INFO] [stdout] test tui::settings::tests::exiting_settings_edit_refreshes_formatted_view ... ok [INFO] [stdout] test tui::settings::tests::help_bar_shows_merge_key ... ok [INFO] [stdout] test tui::settings::tests::m_key_resets_cursor ... ok [INFO] [stdout] test tui::settings::tests::m_key_round_trip ... ok [INFO] [stdout] test tui::settings::tests::left_arrow_on_foldable_collapses ... ok [INFO] [stdout] test tui::settings::tests::m_key_toggles_merged_view ... ok [INFO] [stdout] test tui::settings::tests::left_on_collapsed_foldable_jumps_to_parent ... ok [INFO] [stdout] test tui::settings::tests::app_starts_on_files_screen ... ok [INFO] [stdout] test tui::settings::tests::cursor_up_skips_collapsed_lines ... ok [INFO] [stdout] test tui::settings::tests::parent_for_returns_nearest_ancestor ... ok [INFO] [stdout] test tui::settings::tests::pressing_1_returns_to_files ... ok [INFO] [stdout] test tui::files::tests::jk_can_land_on_folder_node ... ok [INFO] [stdout] test tui::settings::tests::nested_fold_parent_hides_expanded_children ... ok [INFO] [stdout] test tui::settings::tests::pressing_2_switches_to_settings ... ok [INFO] [stdout] test tui::settings::tests::q_on_settings_exits ... ok [INFO] [stdout] test tui::settings::tests::pressing_2_in_title_input_types_char_not_switch ... ok [INFO] [stdout] test tui::library::tests::snippet_edit_full_cycle ... ok [INFO] [stdout] test tui::settings::tests::rebuild_settings_clears_collapsed_state ... ok [INFO] [stdout] test tui::settings::tests::right_arrow_on_collapsed_sub_section_expands ... ok [INFO] [stdout] test tui::settings::tests::right_arrow_on_expanded_is_noop ... ok [INFO] [stdout] test tui::settings::tests::settings_file_at_cursor_resolves_path ... ok [INFO] [stdout] test tui::settings::tests::sub_header_indicator_toggles_on_fold ... ok [INFO] [stdout] test tui::settings::tests::top_header_indicator_toggles_on_fold ... ok [INFO] [stdout] test tui::settings::tests::visible_line_count_respects_collapsed ... ok [INFO] [stdout] test tui::text_input::tests::backspace_at_start_is_noop ... ok [INFO] [stdout] test tui::text_input::tests::backspace_deletes_before_cursor ... ok [INFO] [stdout] test tui::text_input::tests::char_inserts_at_cursor ... ok [INFO] [stdout] test tui::text_input::tests::clear_resets_everything ... ok [INFO] [stdout] test tui::text_input::tests::left_at_start_stays ... ok [INFO] [stdout] test tui::text_input::tests::default_is_empty ... ok [INFO] [stdout] test tui::text_input::tests::insert_in_middle ... ok [INFO] [stdout] test tui::text_input::tests::left_moves_cursor_back ... ok [INFO] [stdout] test tui::text_input::tests::right_at_end_stays ... ok [INFO] [stdout] test tui::text_input::tests::right_moves_cursor_forward ... ok [INFO] [stdout] test tui::text_input::tests::set_places_cursor_at_end ... ok [INFO] [stdout] test tui::text_input::tests::unhandled_key_returns_false ... ok [INFO] [stdout] test tui::theme::tests::dark_theme_is_dark_flag ... ok [INFO] [stdout] test tui::theme::tests::dark_theme_matches_original_hardcoded_values ... ok [INFO] [stdout] test tui::theme::tests::dark_theme_active_border_is_cyan ... ok [INFO] [stdout] test tui::theme::tests::light_theme_is_not_dark ... ok [INFO] [stdout] test tui::theme::tests::toggle_light_returns_dark ... ok [INFO] [stdout] test tui::theme::tests::double_toggle_returns_original ... ok [INFO] [stdout] test tui::theme::tests::light_theme_differs_from_dark ... ok [INFO] [stdout] test tui::theme::tests::toggle_dark_returns_light ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 220 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/release/deps/jigolo-93939285a80b7a53) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/cli.rs (/opt/rustwide/target/release/deps/cli-e4d9025821d6ee8b) [INFO] [stdout] [INFO] [stdout] running 8 tests [INFO] [stdout] test version_flag_succeeds ... ok [INFO] [stdout] test no_claude_files_prints_friendly_message ... ok [INFO] [stdout] test finds_claude_md_in_temp_dir ... ok [INFO] [stdout] test mixed_valid_and_invalid_paths_still_succeeds ... ok [INFO] [stdout] test file_path_argument_warns_and_fails ... ok [INFO] [stdout] test nonexistent_path_exits_with_code_1 ... ok [INFO] [stdout] test help_flag_succeeds ... ok [INFO] [stdout] test no_args_searches_current_directory ... ok [INFO] [stderr] Doc-tests jigolo [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "019613d072b94611027bf6dafc99480cdea8e8fb7bf0fb3c4755da1e3368c59d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "019613d072b94611027bf6dafc99480cdea8e8fb7bf0fb3c4755da1e3368c59d", kill_on_drop: false }` [INFO] [stdout] 019613d072b94611027bf6dafc99480cdea8e8fb7bf0fb3c4755da1e3368c59d