[INFO] fetching crate skillfile 1.5.0...
[INFO] testing skillfile-1.5.0 against 1.95.0 for beta-1.96-2
[INFO] extracting crate skillfile 1.5.0 into /workspace/builds/worker-6-tc1/source
[INFO] started tweaking crates.io crate skillfile 1.5.0
[INFO] finished tweaking crates.io crate skillfile 1.5.0
[INFO] tweaked toml for crates.io crate skillfile 1.5.0 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate skillfile 1.5.0 on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate skillfile 1.5.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.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded cliclack v0.5.4
[INFO] [stderr]   Downloaded utf8-width v0.1.8
[INFO] [stderr]   Downloaded cookie_store v0.22.1
[INFO] [stderr]   Downloaded html-escape v0.2.13
[INFO] [stderr]   Downloaded skillfile-core v1.5.0
[INFO] [stderr]   Downloaded unit-prefix v0.5.2
[INFO] [stderr]   Downloaded cookie v0.18.1
[INFO] [stderr]   Downloaded is_executable v1.0.5
[INFO] [stderr]   Downloaded fuzzy-matcher v0.3.7
[INFO] [stderr]   Downloaded clap_complete v4.6.0
[INFO] [stderr]   Downloaded indicatif v0.18.4
[INFO] [stderr]   Downloaded skillfile-sources v1.5.0
[INFO] [stderr]   Downloaded insta v1.47.2
[INFO] [stderr]   Downloaded inquire v0.9.4
[INFO] [stderr]   Downloaded similar v2.7.0
[INFO] [stderr]   Downloaded console v0.16.3
[INFO] [stderr]   Downloaded skillfile-deploy v1.5.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d5ed1446db2c4e2387400544861698fd2f04d941cb0dbcaad0f1b73c387a69f2
[INFO] running `Command { std: "docker" "start" "-a" "d5ed1446db2c4e2387400544861698fd2f04d941cb0dbcaad0f1b73c387a69f2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d5ed1446db2c4e2387400544861698fd2f04d941cb0dbcaad0f1b73c387a69f2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d5ed1446db2c4e2387400544861698fd2f04d941cb0dbcaad0f1b73c387a69f2", kill_on_drop: false }`
[INFO] [stdout] d5ed1446db2c4e2387400544861698fd2f04d941cb0dbcaad0f1b73c387a69f2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-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" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] cc8caed40048e26413e729010b7d98a3dd7b1dda1b6630eb8b3369f4b23f091e
[INFO] running `Command { std: "docker" "start" "-a" "cc8caed40048e26413e729010b7d98a3dd7b1dda1b6630eb8b3369f4b23f091e", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling unicode-width v0.2.0
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling simd-adler32 v0.3.8
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling anstyle-parse v0.2.7
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling portable-atomic v1.13.1
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling ureq-proto v0.6.0
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling utf8-zero v0.8.1
[INFO] [stderr]    Compiling clap_lex v1.0.0
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling instability v0.3.11
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling utf8-width v0.1.8
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling html-escape v0.2.13
[INFO] [stderr]    Compiling clap_builder v4.5.60
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling console v0.16.3
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling unit-prefix v0.5.2
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]    Compiling smawk v0.3.2
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling unicode-linebreak v0.1.5
[INFO] [stderr]    Compiling zeroize_derive v1.4.3
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling rustls-webpki v0.103.10
[INFO] [stderr]    Compiling webpki-roots v1.0.6
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling compact_str v0.8.1
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling unicode-truncate v1.1.0
[INFO] [stderr]    Compiling textwrap v0.16.2
[INFO] [stderr]    Compiling indicatif v0.18.4
[INFO] [stderr]    Compiling fuzzy-matcher v0.3.7
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling strum v0.26.3
[INFO] [stderr]    Compiling clap v4.5.60
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling is_executable v1.0.5
[INFO] [stderr]    Compiling dyn-clone v1.0.20
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling cassowary v0.3.0
[INFO] [stderr]    Compiling clap_complete v4.6.0
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling skillfile-core v1.5.0
[INFO] [stderr]    Compiling ratatui v0.29.0
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling tempfile v3.26.0
[INFO] [stderr]    Compiling inquire v0.9.4
[INFO] [stderr]    Compiling cliclack v0.5.4
[INFO] [stderr]    Compiling semver v1.0.28
[INFO] [stderr]    Compiling ureq v3.3.0
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling skillfile-sources v1.5.0
[INFO] [stderr]    Compiling skillfile-deploy v1.5.0
[INFO] [stderr]    Compiling skillfile v1.5.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 54s
[INFO] running `Command { std: "docker" "inspect" "cc8caed40048e26413e729010b7d98a3dd7b1dda1b6630eb8b3369f4b23f091e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cc8caed40048e26413e729010b7d98a3dd7b1dda1b6630eb8b3369f4b23f091e", kill_on_drop: false }`
[INFO] [stdout] cc8caed40048e26413e729010b7d98a3dd7b1dda1b6630eb8b3369f4b23f091e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-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" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ca524263daa39e0227318cab46112ef344f1b4864f74d20d2c5cf1fa25b79b50
[INFO] running `Command { std: "docker" "start" "-a" "ca524263daa39e0227318cab46112ef344f1b4864f74d20d2c5cf1fa25b79b50", kill_on_drop: false }`
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stderr]    Compiling skillfile-core v1.5.0
[INFO] [stderr]    Compiling insta v1.47.2
[INFO] [stderr]    Compiling skillfile-sources v1.5.0
[INFO] [stderr]    Compiling skillfile-deploy v1.5.0
[INFO] [stderr]    Compiling skillfile v1.5.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 22.73s
[INFO] running `Command { std: "docker" "inspect" "ca524263daa39e0227318cab46112ef344f1b4864f74d20d2c5cf1fa25b79b50", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ca524263daa39e0227318cab46112ef344f1b4864f74d20d2c5cf1fa25b79b50", kill_on_drop: false }`
[INFO] [stdout] ca524263daa39e0227318cab46112ef344f1b4864f74d20d2c5cf1fa25b79b50
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-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" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 6182435de110699e69896ed370139a80cd0094e53c5bd6b88141f2797dd77578
[INFO] running `Command { std: "docker" "start" "-a" "6182435de110699e69896ed370139a80cd0094e53c5bd6b88141f2797dd77578", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.28s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/skillfile-2b7fd13a338ca76b)
[INFO] [stdout] 
[INFO] [stdout] running 327 tests
[INFO] [stdout] test commands::add::tests::add_duplicate_name_errors ... ok
[INFO] [stdout] test commands::add::tests::add_appends_to_existing_content ... ok
[INFO] [stdout] test commands::add::tests::add_github_dir_entry ... ok
[INFO] [stdout] test commands::add::tests::add_github_entry_explicit_name_and_ref ... ok
[INFO] [stdout] test commands::add::tests::add_url_entry_explicit_name ... ok
[INFO] [stdout] test commands::add::tests::entry_from_github_default_ref ... ok
[INFO] [stdout] test commands::add::tests::entry_from_github_explicit_ref ... ok
[INFO] [stdout] test commands::add::tests::entry_from_url_explicit_name_overrides_inference ... ok
[INFO] [stdout] test commands::add::tests::entry_from_url_inferred_name ... ok
[INFO] [stdout] test commands::add::tests::add_github_entry_inferred_name ... ok
[INFO] [stdout] test commands::add::tests::add_url_entry ... ok
[INFO] [stdout] test commands::add::tests::format_line_github ... ok
[INFO] [stdout] test commands::add::tests::format_line_github_default_ref_omitted ... ok
[INFO] [stdout] test commands::add::tests::format_line_local ... ok
[INFO] [stdout] test commands::add::tests::format_line_local_inferred_name_omitted ... ok
[INFO] [stdout] test commands::add::tests::format_line_url ... ok
[INFO] [stdout] test commands::add::tests::no_manifest ... ok
[INFO] [stdout] test commands::add::tests::add_local_entry ... ok
[INFO] [stdout] test commands::add_tui::tests::a_toggles_all_when_filter_empty ... ok
[INFO] [stdout] test commands::add_tui::tests::backspace_removes_from_filter ... ok
[INFO] [stdout] test commands::add_tui::tests::a_types_into_filter_when_filter_has_text ... ok
[INFO] [stdout] test commands::add_tui::tests::app_new_empty_items ... ok
[INFO] [stdout] test commands::add_tui::tests::app_new_selection_empty ... ok
[INFO] [stdout] test commands::add_tui::tests::app_new_selects_first_item ... ok
[INFO] [stdout] test commands::add_tui::tests::clear_filter_restores_all ... ok
[INFO] [stdout] test commands::add_tui::tests::ctrl_c_cancels ... ok
[INFO] [stdout] test commands::add_tui::tests::display_label_no_slash ... ok
[INFO] [stdout] test commands::add_tui::tests::display_label_extracts_last_segment ... ok
[INFO] [stdout] test commands::add::tests::add_no_install_targets_prints_message ... ok
[INFO] [stdout] test commands::add::tests::add_local_entry_explicit_name ... ok
[INFO] [stdout] test commands::add_tui::tests::end_jumps_to_last ... ok
[INFO] [stdout] test commands::add_tui::tests::esc_cancels ... ok
[INFO] [stdout] test commands::add_tui::tests::enter_noop_when_nothing_selected ... ok
[INFO] [stdout] test commands::add_tui::tests::enter_confirms_when_selected ... ok
[INFO] [stdout] test commands::add_tui::tests::filter_case_insensitive ... ok
[INFO] [stdout] test commands::add_tui::tests::filter_multi_word ... ok
[INFO] [stdout] test commands::add_tui::tests::filter_narrows_results ... ok
[INFO] [stdout] test commands::add_tui::tests::github_url_for_file ... ok
[INFO] [stdout] test commands::add_tui::tests::github_url_root_path ... ok
[INFO] [stdout] test commands::add_tui::tests::github_url_with_ref ... ok
[INFO] [stdout] test commands::add_tui::tests::highlighted_path_empty_list ... ok
[INFO] [stdout] test commands::add_tui::tests::highlighted_path_returns_first ... ok
[INFO] [stdout] test commands::add_tui::tests::home_jumps_to_first ... ok
[INFO] [stdout] test commands::add_tui::tests::j_k_navigate_when_filter_empty ... ok
[INFO] [stdout] test commands::add_tui::tests::is_dir_entry_false_for_files ... ok
[INFO] [stdout] test commands::add_tui::tests::is_dir_entry_true_for_dirs ... ok
[INFO] [stdout] test commands::add_tui::tests::move_selection_down ... ok
[INFO] [stdout] test commands::add_tui::tests::move_selection_empty_list ... ok
[INFO] [stdout] test commands::add_tui::tests::move_selection_wraps_top_to_bottom ... ok
[INFO] [stdout] test commands::add_tui::tests::parent_hint_nested ... ok
[INFO] [stdout] test commands::add_tui::tests::parent_hint_with_slash ... ok
[INFO] [stdout] test commands::add_tui::tests::path_matches_substring ... ok
[INFO] [stdout] test commands::add_tui::tests::parent_hint_no_slash ... ok
[INFO] [stdout] test commands::add_tui::tests::move_selection_wraps_bottom_to_top ... ok
[INFO] [stdout] test commands::add_tui::tests::path_matches_empty_query ... ok
[INFO] [stdout] test commands::add_tui::tests::q_types_into_filter_when_filter_has_text ... ok
[INFO] [stdout] test commands::add_tui::tests::path_no_match ... ok
[INFO] [stdout] test commands::add_tui::tests::q_cancels_when_filter_empty ... ok
[INFO] [stdout] test commands::add_tui::tests::filter_no_match_clears_selection ... ok
[INFO] [stdout] test commands::add_tui::tests::g_jumps_to_top ... ok
[INFO] [stdout] test commands::add_tui::tests::github_url_for_dir ... ok
[INFO] [stdout] test commands::add_tui::tests::resolve_preview_path_dir ... ok
[INFO] [stdout] test commands::add_tui::tests::resolve_preview_path_file ... ok
[INFO] [stdout] test commands::add_tui::tests::resolve_preview_path_root ... ok
[INFO] [stdout] test commands::add_tui::tests::resolve_selections_empty_when_none_selected ... ok
[INFO] [stdout] test commands::add_tui::tests::resolve_selections_returns_correct_paths ... ok
[INFO] [stdout] test commands::add_tui::tests::scroll_does_not_underflow ... ok
[INFO] [stdout] test commands::add_tui::tests::scroll_persists_when_highlight_unchanged ... ok
[INFO] [stdout] test commands::add_tui::tests::scroll_resets_on_highlight_change ... ok
[INFO] [stdout] test commands::add_tui::tests::selections_persist_across_filter ... ok
[INFO] [stdout] test commands::add_tui::tests::shift_g_jumps_to_bottom ... ok
[INFO] [stdout] test commands::add_tui::tests::shift_tab_scrolls_preview_up ... ok
[INFO] [stdout] test commands::add_tui::tests::space_toggles_selection ... ok
[INFO] [stdout] test commands::add_tui::tests::tab_scrolls_preview_down ... ok
[INFO] [stdout] test commands::add_tui::tests::toggle_all_deselects_when_all_selected ... ok
[INFO] [stdout] test commands::add_tui::tests::toggle_all_only_affects_filtered ... ok
[INFO] [stdout] test commands::add_tui::tests::toggle_all_selects_all_filtered ... ok
[INFO] [stdout] test commands::add_tui::tests::toggle_selection_on_off ... ok
[INFO] [stdout] test commands::add_tui::tests::typing_updates_filter ... ok
[INFO] [stdout] test commands::diff::tests::cmd_diff_dispatches_to_dir_path_for_dir_entry ... ok
[INFO] [stdout] test commands::diff::tests::diff_clean_shows_clean ... ok
[INFO] [stdout] test commands::diff::tests::diff_dir_entry_clean ... ok
[INFO] [stdout] --- a/my-dir/file1.md (upstream sha=abc123def456)
[INFO] [stdout] +++ b/my-dir/file1.md (installed: claude-code (local))
[INFO] [stdout] @@ -1 +1 @@
[INFO] [stdout] -original line
[INFO] [stdout] +modified line
[INFO] [stdout] test commands::diff::tests::diff_dir_entry_modified ... ok
[INFO] [stdout] test commands::diff::tests::diff_dir_entry_not_cached ... ok
[INFO] [stdout] test commands::diff::tests::diff_dir_entry_not_installed ... ok
[INFO] [stdout] test commands::diff::tests::diff_entry_name_not_found ... ok
[INFO] [stdout] test commands::diff::tests::diff_local_entry_prints_message ... ok
[INFO] [stdout] --- a/test.md (upstream sha=abc123def456)
[INFO] [stdout] +++ b/test.md (installed: claude-code (local))
[INFO] [stdout] @@ -1 +1 @@
[INFO] [stdout] -original
[INFO] [stdout] +modified
[INFO] [stdout] test commands::diff::tests::diff_modified_produces_output ... ok
[INFO] [stdout] test commands::diff::tests::diff_no_manifest_errors ... ok
[INFO] [stdout] test commands::diff::tests::diff_not_cached_errors ... ok
[INFO] [stdout] test commands::diff::tests::diff_not_installed_errors ... ok
[INFO] [stdout] test commands::diff::tests::diff_not_locked_errors ... ok
[INFO] [stdout] test commands::format::tests::agents_before_skills ... ok
[INFO] [stdout] test commands::format::tests::agents_section_header_generated ... ok
[INFO] [stdout] test commands::format::tests::cmd_format_dry_run_does_not_write ... ok
[INFO] [stdout] test commands::format::tests::cmd_format_no_manifest ... ok
[INFO] [stdout] test commands::format::tests::cmd_format_rewrites_file ... ok
[INFO] [stdout] test commands::format::tests::entries_grouped_by_repo_with_blank_lines ... ok
[INFO] [stdout] test commands::format::tests::entry_adjacent_comment_preserved ... ok
[INFO] [stdout] test commands::format::tests::install_comment_generated ... ok
[INFO] [stdout] test commands::format::tests::no_install_section_when_no_targets ... ok
[INFO] [stdout] test commands::format::tests::section_comment_dropped ... ok
[INFO] [stdout] test commands::format::tests::section_format_hint_generated ... ok
[INFO] [stdout] test commands::format::tests::skills_section_header_generated ... ok
[INFO] [stdout] test commands::init::tests::gitignore_adds_blank_separator_after_content ... ok
[INFO] [stdout] test commands::init::tests::gitignore_appends_only_missing_entries ... ok
[INFO] [stdout] test commands::init::tests::gitignore_does_not_include_patches ... ok
[INFO] [stdout] test commands::init::tests::gitignore_from_empty ... ok
[INFO] [stdout] test commands::init::tests::gitignore_idempotent ... ok
[INFO] [stdout] test commands::init::tests::gitignore_no_blank_separator_after_trailing_blank_line ... ok
[INFO] [stdout] test commands::init::tests::hint_for_antigravity_adapter ... ok
[INFO] [stdout] test commands::init::tests::hint_for_full_adapter ... ok
[INFO] [stdout] test commands::init::tests::hint_for_skill_only_adapter ... ok
[INFO] [stdout] test commands::init::tests::hint_for_unknown_adapter ... ok
[INFO] [stdout] test commands::init::tests::install_lines_at_top ... ok
[INFO] [stdout] test commands::init::tests::multiple_adapters ... ok
[INFO] [stdout] test commands::init::tests::preserves_existing_entries ... ok
[INFO] [stdout] test commands::init::tests::replaces_existing_install_targets ... ok
[INFO] [stdout] test commands::init::tests::strips_leading_blanks_after_install_removal ... ok
[INFO] [stdout] test commands::init::tests::writes_install_lines ... ok
[INFO] [stdout] test commands::pin::tests::cmd_pin_dir_entry_dry_run ... ok
[INFO] [stdout] test commands::pin::tests::cmd_pin_dir_entry_happy_path ... ok
[INFO] [stdout] test commands::pin::tests::cmd_pin_dry_run_prints_would_pin_message ... ok
[INFO] [stdout] test commands::pin::tests::cmd_pin_entry_not_found_errors ... ok
[INFO] [stdout] test commands::pin::tests::cmd_pin_prints_nothing_to_pin_when_identical ... ok
[INFO] [stdout] test commands::pin::tests::cmd_pin_prints_pinned_message_when_edits_exist ... ok
[INFO] [stdout] test commands::pin::tests::cmd_unpin_entry_not_found_errors ... ok
[INFO] [stdout] test commands::pin::tests::cmd_unpin_not_pinned_is_ok ... ok
[INFO] [stdout] test commands::pin::tests::pin_captures_edits ... ok
[INFO] [stdout] test commands::pin::tests::pin_dir_entry_all_identical_returns_nothing_to_pin ... ok
[INFO] [stdout] test commands::pin::tests::pin_dir_entry_dry_run_writes_no_patches ... ok
[INFO] [stdout] test commands::pin::tests::pin_dir_entry_installed_not_found_errors ... ok
[INFO] [stdout] test commands::pin::tests::pin_dir_entry_not_cached_errors ... ok
[INFO] [stdout] test commands::pin::tests::pin_dir_entry_skips_meta_file ... ok
[INFO] [stdout] test commands::pin::tests::pin_dir_entry_writes_patch_only_for_modified_files ... ok
[INFO] [stdout] test commands::pin::tests::pin_dry_run_does_not_write_patch ... ok
[INFO] [stdout] test commands::pin::tests::pin_entry_errors_on_divergent_multi_target_edits ... ok
[INFO] [stdout] test commands::pin::tests::pin_entry_routes_to_pin_dir_entry_for_dir_entries ... ok
[INFO] [stdout] test commands::pin::tests::pin_entry_uses_second_target_when_first_is_clean ... ok
[INFO] [stdout] test commands::add_tui::tests::render_with_failed_preview ... ok
[INFO] [stdout] test commands::pin::tests::pin_local_entry_skipped ... ok
[INFO] [stdout] test commands::add_tui::tests::render_selected_items ... ok
[INFO] [stdout] test commands::add_tui::tests::render_empty_filter ... ok
[INFO] [stdout] test commands::add_tui::tests::render_initial_state ... ok
[INFO] [stdout] test commands::add_tui::tests::render_with_preview_scroll ... ok
[INFO] [stdout] test commands::add_tui::tests::render_with_loaded_preview ... ok
[INFO] [stdout] test commands::add_tui::tests::render_filtered_with_selections ... ok
[INFO] [stdout] test commands::pin::tests::pin_no_manifest_errors ... ok
[INFO] [stdout] test commands::remove::tests::no_manifest ... ok
[INFO] [stdout] test commands::pin::tests::pin_not_locked_errors ... ok
[INFO] [stdout] test commands::pin::tests::pin_not_cached_errors ... ok
[INFO] [stdout] test commands::pin::tests::pin_not_installed_errors ... ok
[INFO] [stdout] test commands::remove::tests::remove_github_entry_removes_line ... ok
[INFO] [stdout] test commands::remove::tests::remove_local_entry_no_cache_no_error ... ok
[INFO] [stdout] test commands::resolve::tests::cmd_resolve_no_name_no_abort_errors ... ok
[INFO] [stdout] test commands::pin::tests::pin_matches_upstream_nothing_to_pin ... ok
[INFO] [stdout] test commands::remove::tests::remove_clears_cache ... ok
[INFO] [stdout] test commands::resolve::tests::resolve_abort_no_conflict_noop ... ok
[INFO] [stdout] test commands::resolve::tests::resolve_no_conflict_errors ... ok
[INFO] [stdout] test commands::remove::tests::unknown_name_errors ... ok
[INFO] [stdout] test commands::remove::tests::remove_updates_lock ... ok
[INFO] [stdout] test commands::remove::tests::remove_local_entry_removes_line ... ok
[INFO] [stdout] test commands::remove::tests::remove_no_lock_entry_no_error ... ok
[INFO] [stdout] test commands::search::tests::entry_path_deeply_nested_skill_md ... ok
[INFO] [stdout] test commands::resolve::tests::resolve_no_manifest_errors ... ok
[INFO] [stdout] test commands::remove::tests::remove_preserves_comments_and_blanks ... ok
[INFO] [stdout] test commands::search::tests::entry_path_root_skill_md ... ok
[INFO] [stdout] test commands::search::tests::json_empty ... ok
[INFO] [stdout] test commands::search::tests::entry_path_regular_md_stays_as_is ... ok
[INFO] [stdout] test commands::search::tests::entry_path_root_skill_md_case_insensitive ... ok
[INFO] [stdout] test commands::search::tests::entry_path_non_skill_md_stays_as_is ... ok
[INFO] [stdout] test commands::search::tests::json_outputs_valid_json_with_registry ... ok
[INFO] [stdout] test commands::search::tests::prompt_result_canceled_returns_none ... ok
[INFO] [stdout] test commands::search::tests::prompt_result_ok_returns_some ... ok
[INFO] [stdout] test commands::search::tests::prompt_result_io_error_returns_err ... ok
[INFO] [stdout] test commands::search::tests::rank_contains_match ... ok
[INFO] [stdout] test commands::resolve::tests::three_way_merge_conflict ... ok
[INFO] [stdout] test commands::search::tests::rank_contains_matches_parent_dir ... ok
[INFO] [stdout] test commands::search::tests::rank_dot_entry_never_matches ... ok
[INFO] [stdout] test commands::search::tests::rank_exact_beats_contains ... ok
[INFO] [stdout] test commands::search::tests::rank_empty_entries_returns_empty ... ok
[INFO] [stdout] test commands::search::tests::rank_exact_case_insensitive ... ok
[INFO] [stdout] test commands::search::tests::rank_exact_dir_entry ... ok
[INFO] [stdout] test commands::search::tests::rank_exact_single_file ... ok
[INFO] [stdout] test commands::search::tests::rank_multi_skill_repo_finds_right_one ... ok
[INFO] [stdout] test commands::search::tests::table_empty_results ... ok
[INFO] [stdout] test commands::search::tests::rank_no_matches_returns_empty ... ok
[INFO] [stdout] test commands::resolve::tests::three_way_merge_clean_when_only_yours_changed ... ok
[INFO] [stdout] test commands::search::tests::table_multi_registry_shows_tags_and_label ... ok
[INFO] [stdout] test commands::search::tests::table_result_without_optional_fields ... ok
[INFO] [stdout] test commands::search::tests::table_shows_total_when_more ... ok
[INFO] [stdout] test commands::search::tests::table_single_registry_omits_registry_tag ... ok
[INFO] [stdout] test commands::search::tests::table_single_registry_shows_via_label ... ok
[INFO] [stdout] test commands::search_tui::tests::app_new_empty_items ... ok
[INFO] [stdout] test commands::search_tui::tests::app_new_selects_first_item ... ok
[INFO] [stdout] test commands::search_tui::tests::app_selected_returns_correct_item ... ok
[INFO] [stdout] test commands::search::tests::json_multi_registry_includes_all_tags ... ok
[INFO] [stdout] test commands::search_tui::tests::build_preview_handles_missing_fields ... ok
[INFO] [stdout] test commands::search_tui::tests::build_preview_includes_all_fields ... ok
[INFO] [stdout] test commands::resolve::tests::three_way_merge_clean ... ok
[INFO] [stdout] test commands::search_tui::tests::backspace_removes_from_filter ... ok
[INFO] [stdout] test commands::search_tui::tests::build_preview_includes_skill_content ... ok
[INFO] [stdout] test commands::search_tui::tests::build_preview_shows_loading_audits ... ok
[INFO] [stdout] test commands::search_tui::tests::build_preview_shows_loaded_audits ... ok
[INFO] [stdout] test commands::search_tui::tests::build_preview_no_skill_section_when_not_available ... ok
[INFO] [stdout] test commands::search_tui::tests::build_preview_shows_loading_skill_preview ... ok
[INFO] [stdout] test commands::search_tui::tests::clear_filter_restores_all ... ok
[INFO] [stdout] test commands::search_tui::tests::ctrl_c_cancels ... ok
[INFO] [stdout] test commands::search_tui::tests::build_preview_shows_failed_skill_preview ... ok
[INFO] [stdout] test commands::search::tests::prompt_result_interrupted_returns_none ... ok
[INFO] [stdout] test commands::search::tests::entry_path_nested_skill_md_becomes_dir ... ok
[INFO] [stdout] test commands::search_tui::tests::esc_cancels ... ok
[INFO] [stdout] test commands::search_tui::tests::filter_case_insensitive ... ok
[INFO] [stdout] test commands::search_tui::tests::enter_on_empty_does_not_confirm ... ok
[INFO] [stdout] test commands::search_tui::tests::enter_confirms_selection ... ok
[INFO] [stdout] test commands::search_tui::tests::filter_narrows_results ... ok
[INFO] [stdout] test commands::search_tui::tests::filter_by_registry_name ... ok
[INFO] [stdout] test commands::search_tui::tests::filter_multi_word ... ok
[INFO] [stdout] test commands::search_tui::tests::j_k_navigate_when_filter_empty ... ok
[INFO] [stdout] test commands::search_tui::tests::move_selection_down ... ok
[INFO] [stdout] test commands::search_tui::tests::move_selection_empty_list ... ok
[INFO] [stdout] test commands::search_tui::tests::move_selection_wraps_top_to_bottom ... ok
[INFO] [stdout] test commands::search_tui::tests::parse_skillssh_audits_extracts_pass_fail ... ok
[INFO] [stdout] test commands::search_tui::tests::parse_skillssh_audits_no_matches_returns_empty ... ok
[INFO] [stdout] test commands::search_tui::tests::q_cancels_when_filter_empty ... ok
[INFO] [stdout] test commands::search_tui::tests::filter_no_match_clears_selection ... ok
[INFO] [stdout] test commands::search_tui::tests::g_jumps_to_top ... ok
[INFO] [stdout] test commands::search_tui::tests::move_selection_wraps_bottom_to_top ... ok
[INFO] [stdout] test commands::search_tui::tests::parse_skillssh_audits_all_pass ... ok
[INFO] [stdout] test commands::search_tui::tests::q_types_into_filter_when_filter_has_text ... ok
[INFO] [stdout] test commands::search_tui::tests::render_empty_filter ... ok
[INFO] [stdout] test commands::search_tui::tests::render_with_loaded_audits ... ok
[INFO] [stdout] test commands::search_tui::tests::render_filtered ... ok
[INFO] [stdout] test commands::search_tui::tests::render_with_loaded_skill_preview ... ok
[INFO] [stdout] test commands::search_tui::tests::poll_skill_previews_drains_channel ... ok
[INFO] [stdout] test commands::search_tui::tests::render_total_exceeds_displayed ... ok
[INFO] [stdout] test commands::search_tui::tests::render_with_failed_audits ... ok
[INFO] [stdout] test commands::search_tui::tests::score_color_ranges ... ok
[INFO] [stdout] test commands::search_tui::tests::shift_g_jumps_to_bottom ... ok
[INFO] [stdout] test commands::search_tui::tests::skill_preview_loading_set_for_item_with_source_repo ... ok
[INFO] [stdout] test commands::search_tui::tests::skill_preview_not_cached_twice ... ok
[INFO] [stdout] test commands::search_tui::tests::skill_preview_spawns_fetch_for_all_registries ... ok
[INFO] [stdout] test commands::skill_preview::tests::content_lines_full_metadata ... ok
[INFO] [stdout] test commands::search_tui::tests::typing_updates_filter ... ok
[INFO] [stdout] test commands::skill_preview::tests::content_lines_body_only ... ok
[INFO] [stdout] test commands::skill_preview::tests::parse_frontmatter_continuation_with_colon ... ok
[INFO] [stdout] test commands::skill_preview::tests::parse_frontmatter_folded_scalar ... ok
[INFO] [stdout] test commands::skill_preview::tests::parse_frontmatter_empty_content ... ok
[INFO] [stdout] test commands::skill_preview::tests::content_lines_no_metadata_fallback ... ok
[INFO] [stdout] test commands::skill_preview::tests::content_lines_risk_with_icon ... ok
[INFO] [stdout] test commands::skill_preview::tests::parse_frontmatter_missing_fields ... ok
[INFO] [stdout] test commands::skill_preview::tests::parse_frontmatter_body_truncated_to_20_lines ... ok
[INFO] [stdout] test commands::skill_preview::tests::parse_frontmatter_literal_scalar ... ok
[INFO] [stdout] test commands::skill_preview::tests::parse_frontmatter_full ... ok
[INFO] [stdout] test commands::skill_preview::tests::parse_frontmatter_no_frontmatter ... ok
[INFO] [stdout] test commands::skill_preview::tests::style_code_fence_dark_gray ... ok
[INFO] [stdout] test commands::skill_preview::tests::style_h1_cyan_bold_stripped ... ok
[INFO] [stdout] test commands::skill_preview::tests::style_h2_blue_bold_stripped ... ok
[INFO] [stdout] test commands::skill_preview::tests::parse_frontmatter_only_whitespace ... ok
[INFO] [stdout] test commands::skill_preview::tests::style_h3_blue_bold_stripped ... ok
[INFO] [stdout] test commands::skill_preview::tests::content_lines_name_only ... ok
[INFO] [stdout] test commands::skill_preview::tests::parse_frontmatter_nested_yaml_ignored ... ok
[INFO] [stdout] test commands::skill_preview::tests::risk_icon_mapping ... ok
[INFO] [stdout] test commands::skill_preview::tests::risk_icon_case_insensitive ... ok
[INFO] [stdout] test commands::skill_preview::tests::style_hr_becomes_preview_hr ... ok
[INFO] [stdout] test commands::skill_preview::tests::style_list_bullet_gray_dot ... ok
[INFO] [stdout] test commands::skill_preview::tests::style_h4_blue_bold_stripped ... ok
[INFO] [stdout] test commands::skill_preview::tests::style_numbered_list ... ok
[INFO] [stdout] test commands::skill_preview::tests::style_indented_list_preserves_indent ... ok
[INFO] [stdout] test commands::skill_preview::tests::style_numbered_list_double_digit ... ok
[INFO] [stdout] test commands::skill_preview::tests::style_plain_text_unchanged ... ok
[INFO] [stdout] test commands::status::tests::dir_entry_missing_vendor_dir_not_modified ... ok
[INFO] [stdout] test commands::status::tests::github_entry_unlocked ... ok
[INFO] [stdout] test commands::status::tests::github_entry_locked_vendor_missing ... ok
[INFO] [stdout] test commands::status::tests::local_entry_always_not_modified ... ok
[INFO] [stdout] test commands::status::tests::dir_entry_clean_shows_not_modified ... ok
[INFO] [stdout] test commands::status::tests::local_entry_missing_path_formats_with_warning ... ok
[INFO] [stdout] test commands::status::tests::dir_entry_modified_shows_modified ... ok
[INFO] [stdout] test commands::status::tests::github_entry_locked_vendor_matches ... ok
[INFO] [stdout] test commands::status::tests::local_entry_existing_path_formats_as_local ... ok
[INFO] [stdout] test commands::search_tui::tests::render_initial_state ... ok
[INFO] [stdout] test commands::status::tests::dir_entry_pinned_not_modified ... ok
[INFO] [stdout] test commands::status::tests::local_entry_path_exists_shows_local ... ok
[INFO] [stdout] test commands::status::tests::modified_shows_for_changed_installed_file ... ok
[INFO] [stdout] test commands::status::tests::modified_detects_second_install_target_for_single_file_entry ... ok
[INFO] [stdout] test commands::status::tests::modified_not_shown_for_clean_entry ... ok
[INFO] [stdout] test commands::status::tests::local_entry_path_missing_shows_status_without_error ... ok
[INFO] [stdout] test commands::status::tests::modified_not_shown_when_not_installed ... ok
[INFO] [stdout] test commands::status::tests::modified_not_shown_without_vendor_cache ... ok
[INFO] [stdout] test commands::status::tests::modified_detects_second_install_target_for_directory_entry ... ok
[INFO] [stdout] test commands::status::tests::no_manifest ... ok
[INFO] [stdout] test commands::status::tests::pinned_entry_not_modified ... ok
[INFO] [stdout] test commands::status::tests::summary_shows_install_targets ... ok
[INFO] [stdout] test commands::validate::tests::different_scopes_not_duplicate ... ok
[INFO] [stdout] test commands::status::tests::summary_singular_skill ... ok
[INFO] [stdout] test commands::status::tests::summary_counts_skills_and_agents ... ok
[INFO] [stdout] test commands::validate::tests::duplicate_install_target_errors ... ok
[INFO] [stdout] test commands::validate::tests::duplicate_name_errors ... ok
[INFO] [stdout] test commands::validate::tests::multiple_errors_all_reported ... ok
[INFO] [stdout] test commands::validate::tests::missing_local_path_errors ... ok
[INFO] [stdout] test commands::validate::tests::no_manifest ... ok
[INFO] [stdout] test commands::validate::tests::no_orphans_when_lock_matches ... ok
[INFO] [stdout] test commands::status::tests::summary_shows_pinned_and_modified ... ok
[INFO] [stdout] test commands::validate::tests::valid_empty_manifest ... ok
[INFO] [stdout] test commands::validate::tests::unknown_platform_errors ... ok
[INFO] [stdout] test config::tests::config_path_ends_with_expected_components ... ok
[INFO] [stdout] test commands::validate::tests::valid_github_entry ... ok
[INFO] [stdout] test commands::validate::tests::valid_local_entry_existing_path ... ok
[INFO] [stdout] test commands::validate::tests::orphaned_lock_entry_errors ... ok
[INFO] [stdout] test commands::validate::tests::valid_with_known_install_target ... ok
[INFO] [stdout] test config::tests::read_config_token_from_file ... ok
[INFO] [stdout] test config::tests::github_token_skipped_when_empty ... ok
[INFO] [stdout] test config::tests::read_config_token_missing_file_returns_none ... ok
[INFO] [stdout] test config::tests::read_user_targets_from_ignores_invalid_scope ... ok
[INFO] [stdout] test config::tests::read_config_token_no_key_returns_none ... ok
[INFO] [stdout] test config::tests::read_user_targets_from_missing_file_returns_empty ... ok
[INFO] [stdout] test config::tests::read_user_targets_from_empty_file_returns_empty ... ok
[INFO] [stdout] test config::tests::resolve_targets_into_prefers_manifest_targets ... ok
[INFO] [stdout] test config::tests::read_user_targets_from_invalid_toml_returns_empty ... ok
[INFO] [stdout] test config::tests::read_user_targets_from_with_extra_fields_is_forward_compatible ... ok
[INFO] [stdout] test config::tests::read_user_targets_from_parses_toml ... ok
[INFO] [stdout] test config::tests::write_config_token_preserves_install_entries ... ok
[INFO] [stdout] test config::tests::write_produces_valid_toml ... ok
[INFO] [stdout] test config::tests::write_user_targets_to_preserves_existing_github_token ... ok
[INFO] [stdout] test config::tests::write_then_read_round_trips ... ok
[INFO] [stdout] test commands::search_tui::tests::registry_color_mapping ... ok
[INFO] [stdout] test config::tests::write_user_targets_to_creates_parent_dirs ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 327 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.28s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/skillfile-82e1f3d1f9748370)
[INFO] [stdout] 
[INFO] [stdout] running 31 tests
[INFO] [stdout] test update_check::tests::is_newer_detects_major_bump ... ok
[INFO] [stdout] test update_check::tests::cache_entry_serialization_round_trip ... ok
[INFO] [stdout] test update_check::tests::is_newer_detects_minor_bump ... ok
[INFO] [stdout] test update_check::tests::is_newer_detects_patch_bump ... ok
[INFO] [stdout] test update_check::tests::is_newer_handles_prerelease ... ok
[INFO] [stdout] test update_check::tests::is_newer_returns_false_on_invalid_semver ... ok
[INFO] [stdout] test update_check::tests::is_newer_returns_false_when_current_is_greater ... ok
[INFO] [stdout] test tests::long_about_lists_dynamic_supported_platforms ... ok
[INFO] [stdout] test update_check::tests::is_newer_returns_false_when_same ... ok
[INFO] [stdout] test update_check::tests::is_newer_strips_v_prefix ... ok
[INFO] [stdout] test update_check::tests::now_timestamp_is_parseable ... ok
[INFO] [stdout] test update_check::tests::parse_timestamp_invalid_returns_none ... ok
[INFO] [stdout] test update_check::tests::parse_timestamp_valid_unix ... ok
[INFO] [stdout] test update_check::tests::read_cache_from_returns_entry_when_fresh ... ok
[INFO] [stdout] test update_check::tests::read_cache_from_returns_none_on_invalid_timestamp ... ok
[INFO] [stdout] test update_check::tests::read_cache_from_returns_none_on_malformed_json ... ok
[INFO] [stdout] test update_check::tests::read_cache_from_returns_none_when_stale ... ok
[INFO] [stdout] test update_check::tests::read_cache_from_returns_none_when_file_missing ... ok
[INFO] [stdout] test tests::completions_bash ... ok
[INFO] [stdout] test tests::completions_fish ... ok
[INFO] [stdout] test update_check::tests::should_check_blocked_by_ci_true ... ok
[INFO] [stdout] test update_check::tests::cache_path_ends_with_expected_filename ... ok
[INFO] [stdout] test update_check::tests::timestamp_round_trip ... ok
[INFO] [stdout] test update_check::tests::should_check_blocked_by_no_update_notifier ... ok
[INFO] [stdout] test update_check::tests::should_check_not_blocked_by_empty_notifier_var ... ok
[INFO] [stdout] test update_check::tests::update_notice_display_contains_versions_and_url ... ok
[INFO] [stdout] test update_check::tests::update_notice_display_starts_with_new_version_message ... ok
[INFO] [stdout] test update_check::tests::write_cache_to_creates_parent_dirs ... ok
[INFO] [stdout] test tests::completions_zsh ... ok
[INFO] [stdout] test tests::completions_powershell ... ok
[INFO] [stdout] test update_check::tests::spawn_check_returns_receiver_without_panic ... ok
[INFO] [stderr]    Doc-tests skillfile
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 31 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.25s
[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" "6182435de110699e69896ed370139a80cd0094e53c5bd6b88141f2797dd77578", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6182435de110699e69896ed370139a80cd0094e53c5bd6b88141f2797dd77578", kill_on_drop: false }`
[INFO] [stdout] 6182435de110699e69896ed370139a80cd0094e53c5bd6b88141f2797dd77578
