[INFO] cloning repository https://github.com/o-k-a-y/vibecheck [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/o-k-a-y/vibecheck" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fo-k-a-y%2Fvibecheck", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fo-k-a-y%2Fvibecheck'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 2c4c13068b4a964a849b736ad1f73a2a9d935bd1 [INFO] testing o-k-a-y/vibecheck against 1.95.0 for beta-1.96-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fo-k-a-y%2Fvibecheck" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-0-tc1/source/.cargo/config.toml [INFO] started tweaking git repo https://github.com/o-k-a-y/vibecheck [INFO] finished tweaking git repo https://github.com/o-k-a-y/vibecheck [INFO] tweaked toml for git repo https://github.com/o-k-a-y/vibecheck written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/o-k-a-y/vibecheck 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 git repo https://github.com/o-k-a-y/vibecheck 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 tree-sitter-language v0.1.7 [INFO] [stderr] Downloaded notify-types v1.0.1 [INFO] [stderr] Downloaded instability v0.3.11 [INFO] [stderr] Downloaded linfa-logistic v0.8.1 [INFO] [stderr] Downloaded redox_syscall v0.7.1 [INFO] [stderr] Downloaded getrandom v0.4.1 [INFO] [stderr] Downloaded notify v7.0.0 [INFO] [stderr] Downloaded clap v4.5.60 [INFO] [stderr] Downloaded ndarray-stats v0.6.0 [INFO] [stderr] Downloaded argmin v0.11.0 [INFO] [stderr] Downloaded argmin-math v0.5.1 [INFO] [stderr] Downloaded sprs v0.11.2 [INFO] [stderr] Downloaded clap_builder v4.5.60 [INFO] [stderr] Downloaded redb v2.6.3 [INFO] [stderr] Downloaded linfa v0.8.1 [INFO] [stderr] Downloaded git2 v0.19.0 [INFO] [stderr] Downloaded tree-sitter v0.25.10 [INFO] [stderr] Downloaded rusqlite v0.31.0 [INFO] [stderr] Downloaded ndarray v0.16.1 [INFO] [stderr] Downloaded tree-sitter-go v0.23.4 [INFO] [stderr] Downloaded tree-sitter-javascript v0.23.1 [INFO] [stderr] Downloaded tree-sitter-rust v0.24.0 [INFO] [stderr] Downloaded tree-sitter-python v0.25.0 [INFO] [stderr] Downloaded tempfile v3.25.0 [INFO] [stderr] Downloaded cc v1.2.56 [INFO] [stderr] Downloaded noisy_float v0.2.1 [INFO] [stderr] Downloaded linfa-trees v0.8.1 [INFO] [stderr] Downloaded linfa-bayes v0.8.1 [INFO] [stderr] Downloaded rand_xoshiro v0.7.0 [INFO] [stderr] Downloaded ndarray-rand v0.15.0 [INFO] [stderr] Downloaded libc v0.2.182 [INFO] [stderr] Downloaded libz-sys v1.1.23 [INFO] [stderr] Downloaded libgit2-sys v0.17.0+1.8.1 [INFO] [stderr] Downloaded libsqlite3-sys v0.28.0 [INFO] [stderr] Downloaded streaming-iterator v0.1.9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] 5f264a3e9a06550c95e8dcf74a4fdd36dce0e77144e531849632ae053774d5f1 [INFO] running `Command { std: "docker" "start" "-a" "5f264a3e9a06550c95e8dcf74a4fdd36dce0e77144e531849632ae053774d5f1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5f264a3e9a06550c95e8dcf74a4fdd36dce0e77144e531849632ae053774d5f1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5f264a3e9a06550c95e8dcf74a4fdd36dce0e77144e531849632ae053774d5f1", kill_on_drop: false }` [INFO] [stdout] 5f264a3e9a06550c95e8dcf74a4fdd36dce0e77144e531849632ae053774d5f1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] cb4edbce68ad75073723b0c791b941d2d7c65cf157683ed7ba3ac9fa6b2f9170 [INFO] running `Command { std: "docker" "start" "-a" "cb4edbce68ad75073723b0c791b941d2d7c65cf157683ed7ba3ac9fa6b2f9170", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.182 [INFO] [stderr] Compiling quote v1.0.44 [INFO] [stderr] Compiling libm v0.2.16 [INFO] [stderr] Compiling tree-sitter-language v0.1.7 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling zerocopy v0.8.39 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling matrixmultiply v0.3.10 [INFO] [stderr] Compiling regex-syntax v0.8.9 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling winnow v0.7.14 [INFO] [stderr] Compiling toml_write v0.1.2 [INFO] [stderr] Compiling rayon v1.11.0 [INFO] [stderr] Compiling anyhow v1.0.102 [INFO] [stderr] Compiling bstr v1.12.1 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling redb v2.6.3 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Compiling streaming-iterator v0.1.9 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling linfa v0.8.1 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling linux-raw-sys v0.4.15 [INFO] [stderr] Compiling percent-encoding v2.3.2 [INFO] [stderr] Compiling instability v0.3.11 [INFO] [stderr] Compiling anstream v0.6.21 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling instant v0.1.13 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling dirs-sys v0.4.1 [INFO] [stderr] Compiling crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling cc v1.2.56 [INFO] [stderr] Compiling rand_core v0.9.5 [INFO] [stderr] Compiling dirs v5.0.1 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling num-complex v0.4.6 [INFO] [stderr] Compiling approx v0.5.1 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling crossbeam-deque v0.8.6 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling noisy_float v0.2.1 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling rand_xoshiro v0.7.0 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling inotify-sys v0.1.5 [INFO] [stderr] Compiling clap_lex v1.0.0 [INFO] [stderr] Compiling indoc v2.0.7 [INFO] [stderr] Compiling web-time v1.1.0 [INFO] [stderr] Compiling signal-hook-mio v0.2.5 [INFO] [stderr] Compiling inotify v0.10.2 [INFO] [stderr] Compiling clap_builder v4.5.60 [INFO] [stderr] Compiling unicode-truncate v1.1.0 [INFO] [stderr] Compiling compact_str v0.8.1 [INFO] [stderr] Compiling notify-types v1.0.1 [INFO] [stderr] Compiling filetime v0.2.27 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling lru v0.12.5 [INFO] [stderr] Compiling cassowary v0.3.0 [INFO] [stderr] Compiling unicode-width v0.2.0 [INFO] [stderr] Compiling colored v2.2.0 [INFO] [stderr] Compiling crossterm v0.28.1 [INFO] [stderr] Compiling notify v7.0.0 [INFO] [stderr] Compiling tree-sitter v0.25.10 [INFO] [stderr] Compiling tree-sitter-python v0.25.0 [INFO] [stderr] Compiling tree-sitter-javascript v0.23.1 [INFO] [stderr] Compiling tree-sitter-rust v0.24.0 [INFO] [stderr] Compiling tree-sitter-go v0.23.4 [INFO] [stderr] Compiling libz-sys v1.1.23 [INFO] [stderr] Compiling libgit2-sys v0.17.0+1.8.1 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling globset v0.4.18 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling rand_distr v0.4.3 [INFO] [stderr] Compiling ignore v0.4.25 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling strum_macros v0.26.4 [INFO] [stderr] Compiling clap_derive v4.5.55 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling clap v4.5.60 [INFO] [stderr] Compiling strum v0.26.3 [INFO] [stderr] Compiling ratatui v0.29.0 [INFO] [stderr] Compiling ndarray v0.16.1 [INFO] [stderr] Compiling icu_provider v2.1.1 [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 icu_normalizer v2.1.1 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling git2 v0.19.0 [INFO] [stderr] Compiling vibecheck-core v0.6.0 (/opt/rustwide/workdir/vibecheck-core) [INFO] [stderr] Compiling sprs v0.11.2 [INFO] [stderr] Compiling argmin-math v0.5.1 [INFO] [stderr] Compiling ndarray-stats v0.6.0 [INFO] [stderr] Compiling ndarray-rand v0.15.0 [INFO] [stderr] Compiling vibecheck-cli v0.6.0 (/opt/rustwide/workdir/vibecheck-cli) [INFO] [stderr] Compiling linfa-trees v0.8.1 [INFO] [stderr] Compiling linfa-bayes v0.8.1 [INFO] [stderr] Compiling argmin v0.11.0 [INFO] [stderr] Compiling linfa-logistic v0.8.1 [INFO] [stderr] Compiling vibecheck-ml v0.6.0 (/opt/rustwide/workdir/vibecheck-ml) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 22s [INFO] running `Command { std: "docker" "inspect" "cb4edbce68ad75073723b0c791b941d2d7c65cf157683ed7ba3ac9fa6b2f9170", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cb4edbce68ad75073723b0c791b941d2d7c65cf157683ed7ba3ac9fa6b2f9170", kill_on_drop: false }` [INFO] [stdout] cb4edbce68ad75073723b0c791b941d2d7c65cf157683ed7ba3ac9fa6b2f9170 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] 91f4210e8345843e0822a219ce0e439bab7871c3a0bbc71ba9295e2d5b321af4 [INFO] running `Command { std: "docker" "start" "-a" "91f4210e8345843e0822a219ce0e439bab7871c3a0bbc71ba9295e2d5b321af4", kill_on_drop: false }` [INFO] [stderr] Compiling getrandom v0.4.1 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling vibecheck-ml v0.6.0 (/opt/rustwide/workdir/vibecheck-ml) [INFO] [stderr] Compiling tempfile v3.25.0 [INFO] [stderr] Compiling vibecheck-core v0.6.0 (/opt/rustwide/workdir/vibecheck-core) [INFO] [stderr] Compiling vibecheck-cli v0.6.0 (/opt/rustwide/workdir/vibecheck-cli) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 13.06s [INFO] running `Command { std: "docker" "inspect" "91f4210e8345843e0822a219ce0e439bab7871c3a0bbc71ba9295e2d5b321af4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "91f4210e8345843e0822a219ce0e439bab7871c3a0bbc71ba9295e2d5b321af4", kill_on_drop: false }` [INFO] [stdout] 91f4210e8345843e0822a219ce0e439bab7871c3a0bbc71ba9295e2d5b321af4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] 6a84e202f3220bf124a43deefb327ea125f4e5666d973db6e90d720d4a77f04e [INFO] running `Command { std: "docker" "start" "-a" "6a84e202f3220bf124a43deefb327ea125f4e5666d973db6e90d720d4a77f04e", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.30s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/vibecheck-4ab6d4742f39d610) [INFO] [stdout] [INFO] [stdout] running 80 tests [INFO] [stdout] test commands::analyze::tests::collect_files_respects_ignore ... ok [INFO] [stdout] test commands::analyze::tests::format_report_text_contains_verdict ... ok [INFO] [stdout] test commands::analyze::tests::format_report_json_is_valid ... ok [INFO] [stdout] test commands::analyze::tests::parse_families_case_insensitive ... ok [INFO] [stdout] test commands::analyze::tests::parse_families_known ... ok [INFO] [stdout] test commands::analyze::tests::parse_format_pretty ... ok [INFO] [stdout] test commands::analyze::tests::parse_families_unknown_is_error ... ok [INFO] [stdout] test commands::analyze::tests::parse_format_text ... ok [INFO] [stdout] test commands::analyze::tests::collect_files_filters_by_extension ... ok [INFO] [stdout] test commands::analyze::tests::format_report_pretty_contains_verdict ... ok [INFO] [stdout] test commands::tui::tests::family_abbrev_all_families_return_nonempty ... ok [INFO] [stdout] test commands::tui::tests::family_color_all_families_return_a_color ... ok [INFO] [stdout] test commands::history::tests::format_date_leap_year ... ok [INFO] [stdout] test commands::history::tests::is_source_file_supported_extensions ... ok [INFO] [stdout] test commands::history::tests::is_source_file_unsupported ... ok [INFO] [stdout] test commands::analyze::tests::parse_format_unknown_is_error ... ok [INFO] [stdout] test commands::analyze::tests::collect_files_single_file ... ok [INFO] [stdout] test commands::history::tests::format_date_epoch ... ok [INFO] [stdout] test commands::tui::tests::flat_tree_dir_confidence_is_weighted_average ... ok [INFO] [stdout] test commands::tui::tests::flat_tree_dirs_appear_before_sibling_files ... ok [INFO] [stdout] test commands::tui::tests::flat_tree_dir_family_is_dominant_by_weighted_score ... ok [INFO] [stdout] test commands::tui::tests::flat_tree_files_sorted_alphabetically ... ok [INFO] [stdout] test commands::tui::tests::flat_tree_empty_reports_returns_empty ... ok [INFO] [stdout] test commands::tui::tests::flat_tree_single_file_at_root ... ok [INFO] [stdout] test commands::tui::tests::flat_tree_synthesises_directory_entry ... ok [INFO] [stdout] test commands::tui::tests::scroll_down_accumulates ... ok [INFO] [stdout] test commands::tui::tests::scroll_down_clamps_at_content_minus_pane ... ok [INFO] [stdout] test commands::tui::tests::scroll_down_increases_offset ... ok [INFO] [stdout] test commands::tui::tests::scroll_right_clamps_at_content_minus_pane ... ok [INFO] [stdout] test commands::tui::tests::name_to_family_all_known ... ok [INFO] [stdout] test commands::tui::tests::scroll_up_after_down_returns_to_origin ... ok [INFO] [stdout] test commands::tui::tests::scroll_up_clamps_at_zero ... ok [INFO] [stdout] test commands::tui::tests::move_down_increments_selected ... ok [INFO] [stdout] test commands::tui::tests::navigation_resets_scroll_offset ... ok [INFO] [stdout] test commands::tui::tests::move_up_clamps_at_zero ... ok [INFO] [stdout] test commands::tui::tests::move_up_decrements_selected ... ok [INFO] [stdout] test commands::tui::tests::move_down_skips_hidden_entries_correctly ... ok [INFO] [stdout] test commands::tui::tests::scroll_up_decreases_offset ... ok [INFO] [stdout] test commands::tui::tests::symbol_lines_class_kind_tag ... ok [INFO] [stdout] test commands::tui::tests::symbol_lines_empty_slice_returns_empty ... ok [INFO] [stdout] test commands::tui::tests::symbol_lines_function_kind_tag ... ok [INFO] [stdout] test commands::tui::tests::symbol_lines_half_confidence_has_8_blocks ... ok [INFO] [stdout] test commands::tui::tests::name_to_family_unknown_falls_back_to_human ... ok [INFO] [stdout] test commands::tui::tests::move_down_clamps_at_last_entry ... ok [INFO] [stdout] test commands::tui::tests::symbol_lines_method_kind_tag ... ok [INFO] [stdout] test commands::tui::tests::symbol_lines_full_confidence_fills_bar ... ok [INFO] [stdout] test commands::tui::tests::symbol_lines_multiple_count_in_header ... ok [INFO] [stdout] test commands::tui::tests::symbol_lines_name_called_name_is_unambiguous ... ok [INFO] [stdout] test commands::tui::tests::symbol_lines_name_fits_within_22_chars_unchanged ... ok [INFO] [stdout] test commands::tui::tests::symbol_lines_name_truncated_when_over_22_chars ... ok [INFO] [stdout] test commands::tui::tests::symbol_lines_header_shows_count ... ok [INFO] [stdout] test commands::tui::tests::symbol_lines_zero_confidence_has_no_bar ... ok [INFO] [stdout] test commands::analyze::tests::parse_format_json ... ok [INFO] [stdout] test commands::tui::tests::toggle_collapse_collapses_expanded_dir ... ok [INFO] [stdout] test commands::tui::tests::toggle_collapse_expands_collapsed_dir ... ok [INFO] [stdout] test commands::tui::tests::visible_collapsed_dir_hides_deeply_nested_entries ... ok [INFO] [stdout] test commands::tui::tests::visible_collapsed_dir_hides_direct_children ... ok [INFO] [stdout] test commands::tui::tests::symbol_lines_one_row_per_symbol ... ok [INFO] [stdout] test commands::tui::tests::toggle_collapse_on_file_is_noop ... ok [INFO] [stdout] test commands::tui::tests::visible_all_entries_shown_when_nothing_collapsed ... ok [INFO] [stdout] test commands::tui::tests::symbol_lines_unknown_kind_defaults_to_fn ... ok [INFO] [stdout] test commands::tui::tests::visible_sibling_dir_stays_visible_when_other_collapsed ... ok [INFO] [stdout] test commands::tui::tests::visible_empty_app_returns_empty ... ok [INFO] [stdout] test commands::watch::tests::chrono_now_is_valid_time_format ... ok [INFO] [stdout] test commands::watch::tests::supported_exts_includes_all_expected ... ok [INFO] [stdout] test commands::watch::tests::is_supported_known_extensions ... ok [INFO] [stdout] test output::tests::format_pretty_insufficient_data ... ok [INFO] [stdout] test commands::watch::tests::is_supported_rejects_unsupported ... ok [INFO] [stdout] test output::tests::format_pretty_shows_scores ... ok [INFO] [stdout] test commands::history::tests::format_date_known_date ... ok [INFO] [stdout] test tests::cli_parses_without_error ... ok [INFO] [stdout] test output::tests::format_pretty_with_file_path ... ok [INFO] [stdout] test output::tests::format_pretty_without_file_path ... ok [INFO] [stdout] test tests::cli_has_all_subcommands ... ok [INFO] [stdout] test tests::cli_version_is_set ... ok [INFO] [stdout] test commands::heuristics::tests::run_toml_does_not_panic ... ok [INFO] [stdout] test commands::heuristics::tests::run_table_does_not_panic ... ok [INFO] [stdout] test commands::heuristics::tests::all_heuristics_nonempty ... ok [INFO] [stdout] test commands::heuristics::tests::run_unknown_format_falls_back_to_table ... ok [INFO] [stdout] test output::tests::format_pretty_shows_signals_when_present ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 80 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s [INFO] [stdout] [INFO] [stderr] Running tests/bump_version.rs (/opt/rustwide/target/debug/deps/bump_version-1d349cf2867b505d) [INFO] [stdout] [INFO] [stdout] running 16 tests [INFO] [stdout] test invalid_level_exits_nonzero ... ok [INFO] [stdout] test no_arguments_exits_nonzero ... ok [INFO] [stdout] test missing_cargo_toml_exits_nonzero ... ok [INFO] [stdout] test minor_produces_double_digit_minor ... ok [INFO] [stdout] test major_promotes_from_zero_series ... ok [INFO] [stdout] test major_increments_major_and_resets_minor_and_patch ... ok [INFO] [stdout] test both_version_occurrences_updated ... ok [INFO] [stdout] test stdout_contains_commit_hint_with_new_version ... ok [INFO] [stdout] test minor_increments_minor_and_resets_patch ... ok [INFO] [stdout] test old_version_absent_after_bump ... ok [INFO] [stdout] test patch_increments_patch ... ok [INFO] [stdout] test stdout_contains_bump_level_label ... ok [INFO] [stdout] test cargo_toml_with_no_version_line_exits_nonzero ... ok [INFO] [stdout] test stdout_contains_old_to_new_arrow ... ok [INFO] [stdout] test patch_from_absolute_zero ... ok [INFO] [stdout] test unrelated_dep_version_strings_untouched ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.22s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vibecheck_core-0706336273372f9f) [INFO] [stdout] [INFO] [stdout] running 212 tests [INFO] [stdout] test analyzers::cst::go::tests::extract_top_level_functions ... ok [INFO] [stdout] test analyzers::cst::go::tests::extract_method_declaration ... ok [INFO] [stdout] test analyzers::cst::go::tests::extract_symbol_line_numbers ... ok [INFO] [stdout] test analyzers::cst::javascript::tests::extract_function_declaration ... ok [INFO] [stdout] test analyzers::cst::go::tests::godoc_coverage_metrics ... ok [INFO] [stdout] test analyzers::cst::javascript::tests::extract_symbol_line_numbers ... ok [INFO] [stdout] test analyzers::cst::javascript::tests::optional_chaining_metrics ... ok [INFO] [stdout] test analyzers::cst::javascript::tests::high_arrow_ratio_metrics ... ok [INFO] [stdout] test analyzers::cst::go::tests::err_nil_check_metrics ... ok [INFO] [stdout] test analyzers::cst::javascript::tests::extract_arrow_function_const ... ok [INFO] [stdout] test analyzers::cst::javascript::tests::async_await_metrics ... ok [INFO] [stdout] test analyzers::cst::go::tests::goroutine_metrics ... ok [INFO] [stdout] test analyzers::cst::javascript::tests::non_function_const_not_extracted ... ok [INFO] [stdout] test analyzers::cst::javascript::tests::then_chains_metrics ... ok [INFO] [stdout] test analyzers::cst::javascript::tests::extract_class_methods ... ok [INFO] [stdout] test analyzers::cst::python::tests::nested_functions_not_extracted ... ok [INFO] [stdout] test analyzers::cst::rust::tests::extract_symbol_line_numbers ... ok [INFO] [stdout] test analyzers::cst::python::tests::docstring_coverage_metrics ... ok [INFO] [stdout] test analyzers::tests::analyze_go_defaults_to_analyze ... ok [INFO] [stdout] test analyzers::cst::python::tests::extract_class_and_methods ... ok [INFO] [stdout] test analyzers::cst::rust::tests::sorted_imports_metrics ... ok [INFO] [stdout] test analyzers::cst::rust::tests::nested_functions_not_extracted ... ok [INFO] [stdout] test analyzers::cst::rust::tests::low_complexity_metrics ... ok [INFO] [stdout] test analyzers::cst::python::tests::type_annotation_metrics ... ok [INFO] [stdout] test analyzers::cst::python::tests::extract_module_level_functions ... ok [INFO] [stdout] test analyzers::cst::python::tests::fstring_metrics ... ok [INFO] [stdout] test analyzers::cst::rust::tests::doc_coverage_metrics ... ok [INFO] [stdout] test analyzers::tests::analyze_javascript_defaults_to_analyze ... ok [INFO] [stdout] test analyzers::cst::rust::tests::extract_free_functions ... ok [INFO] [stdout] test analyzers::cst::python::tests::extract_symbol_line_numbers ... ok [INFO] [stdout] test analyzers::tests::analyze_python_defaults_to_analyze ... ok [INFO] [stdout] test analyzers::tests::analyze_rust_defaults_to_analyze ... ok [INFO] [stdout] test analyzers::tests::analyze_with_language_dispatches_all_variants ... ok [INFO] [stdout] test analyzers::tests::analyze_with_language_dispatches_none_as_rust ... ok [INFO] [stdout] test analyzers::cst::rust::tests::avg_fn_length_computed ... ok [INFO] [stdout] test analyzers::tests::default_analyzers_are_nonempty ... ok [INFO] [stdout] test analyzers::cst::rust::tests::extract_methods_from_impl ... ok [INFO] [stdout] test analyzers::tests::default_cst_analyzers_are_nonempty ... ok [INFO] [stdout] test analyzers::text::ai_signals::tests::no_todo_in_large_file_is_claude ... ok [INFO] [stdout] test analyzers::text::ai_signals::tests::python_no_todo_is_claude ... ok [INFO] [stdout] test analyzers::text::ai_signals::tests::all_functions_documented_is_claude ... ok [INFO] [stdout] test analyzers::text::ai_signals::tests::short_source_no_signals ... ok [INFO] [stdout] test analyzers::text::code_structure::tests::all_lines_under_100_chars_is_gemini ... ok [INFO] [stdout] test analyzers::text::code_structure::tests::high_annotation_ratio_is_gpt ... ok [INFO] [stdout] test analyzers::text::code_structure::tests::go_short_lines_is_gemini ... ok [INFO] [stdout] test analyzers::text::code_structure::tests::python_short_lines_is_gemini ... ok [INFO] [stdout] test analyzers::text::ai_signals::tests::commented_out_code_is_human ... ok [INFO] [stdout] test analyzers::text::code_structure::tests::low_annotation_ratio_is_gemini ... ok [INFO] [stdout] test analyzers::text::code_structure::tests::javascript_short_lines_is_gemini ... ok [INFO] [stdout] test analyzers::text::ai_signals::tests::go_no_todo_is_claude ... ok [INFO] [stdout] test analyzers::text::code_structure::tests::python_sorted_imports_is_gpt ... ok [INFO] [stdout] test analyzers::text::comment_style::tests::five_doc_comments_is_claude ... ok [INFO] [stdout] test analyzers::text::comment_style::tests::go_high_comment_density_is_claude ... ok [INFO] [stdout] test analyzers::text::comment_style::tests::high_comment_density_is_claude ... ok [INFO] [stdout] test analyzers::text::comment_style::tests::teaching_voice_1_is_gpt ... ok [INFO] [stdout] test analyzers::text::comment_style::tests::javascript_high_comment_density_is_claude ... ok [INFO] [stdout] test analyzers::text::comment_style::tests::terse_markers_is_human ... ok [INFO] [stdout] test analyzers::text::comment_style::tests::python_high_comment_density_is_claude ... ok [INFO] [stdout] test analyzers::text::comment_style::tests::teaching_voice_3_plus_is_claude ... ok [INFO] [stdout] test analyzers::text::comment_style::tests::empty_source_no_signals ... ok [INFO] [stdout] test analyzers::text::ai_signals::tests::javascript_no_todo_is_claude ... ok [INFO] [stdout] test analyzers::text::error_handling::tests::go_fmt_errorf_wrap_is_claude ... ok [INFO] [stdout] test analyzers::text::ai_signals::tests::todo_present_suppresses_no_todo_signal ... ok [INFO] [stdout] test analyzers::text::code_structure::tests::sorted_imports_is_gpt ... ok [INFO] [stdout] test analyzers::text::error_handling::tests::one_to_three_unwraps_is_copilot ... ok [INFO] [stdout] test analyzers::text::error_handling::tests::go_error_returns_is_claude ... ok [INFO] [stdout] test analyzers::text::error_handling::tests::five_unwraps_is_human ... ok [INFO] [stdout] test analyzers::text::error_handling::tests::python_broad_except_is_human ... ok [INFO] [stdout] test analyzers::text::comment_style::tests::low_comment_density_is_human ... ok [INFO] [stdout] test analyzers::text::error_handling::tests::rust_unwrap_signal_not_emitted_for_python_file ... ok [INFO] [stdout] test analyzers::text::error_handling::tests::short_source_no_signals ... ok [INFO] [stdout] test analyzers::text::error_handling::tests::three_question_marks_is_claude ... ok [INFO] [stdout] test analyzers::text::error_handling::tests::two_expect_calls_is_claude ... ok [INFO] [stdout] test analyzers::text::error_handling::tests::two_panics_is_human ... ok [INFO] [stdout] test analyzers::text::error_handling::tests::zero_unwrap_in_large_file_is_claude ... ok [INFO] [stdout] test analyzers::text::idiom_usage::tests::five_iterator_methods_is_claude ... ok [INFO] [stdout] test analyzers::text::idiom_usage::tests::javascript_async_await_is_gemini ... ok [INFO] [stdout] test analyzers::text::idiom_usage::tests::go_defer_stmts_is_gemini ... ok [INFO] [stdout] test analyzers::text::error_handling::tests::javascript_try_catch_is_human ... ok [INFO] [stdout] test analyzers::text::idiom_usage::tests::javascript_const_declarations_is_copilot ... ok [INFO] [stdout] test analyzers::text::idiom_usage::tests::javascript_optional_chaining_is_claude ... ok [INFO] [stdout] test analyzers::text::idiom_usage::tests::go_interface_check_is_claude ... ok [INFO] [stdout] test analyzers::text::idiom_usage::tests::javascript_var_declarations_is_human ... ok [INFO] [stdout] test analyzers::text::idiom_usage::tests::javascript_destructuring_is_gemini ... ok [INFO] [stdout] test analyzers::text::idiom_usage::tests::go_goroutines_is_gpt ... ok [INFO] [stdout] test analyzers::text::idiom_usage::tests::impl_display_for_is_claude ... ok [INFO] [stdout] test analyzers::text::idiom_usage::tests::python_context_managers_is_claude ... ok [INFO] [stdout] test analyzers::text::idiom_usage::tests::javascript_arrow_functions_only_is_claude ... ok [INFO] [stdout] test analyzers::text::idiom_usage::tests::python_fstrings_is_claude ... ok [INFO] [stdout] test analyzers::text::idiom_usage::tests::javascript_regular_functions_only_is_human ... ok [INFO] [stdout] test analyzers::text::idiom_usage::tests::python_list_comprehensions_is_claude ... ok [INFO] [stdout] test analyzers::text::idiom_usage::tests::python_old_format_is_human ... ok [INFO] [stdout] test analyzers::text::idiom_usage::tests::rust_iterator_signal_not_emitted_for_python_file ... ok [INFO] [stdout] test analyzers::text::idiom_usage::tests::three_if_let_is_claude ... ok [INFO] [stdout] test analyzers::text::naming::tests::go_long_names_is_claude ... ok [INFO] [stdout] test analyzers::text::idiom_usage::tests::three_string_concatenations_is_human ... ok [INFO] [stdout] test analyzers::text::idiom_usage::tests::two_impl_from_is_claude ... ok [INFO] [stdout] test analyzers::text::idiom_usage::tests::python_type_annotated_functions_is_claude ... ok [INFO] [stdout] test cache::tests::default_path_ends_with_vibecheck ... ok [INFO] [stdout] test analyzers::text::naming::tests::five_vars_no_single_char_is_claude ... ok [INFO] [stdout] test analyzers::text::naming::tests::javascript_long_names_is_claude ... ok [INFO] [stdout] test analyzers::text::naming::tests::short_variable_names_is_human ... ok [INFO] [stdout] test cache::tests::in_memory_backend_respects_max_entries ... ok [INFO] [stdout] test analyzers::text::naming::tests::python_short_source_no_signals ... ok [INFO] [stdout] test analyzers::text::naming::tests::three_single_char_names_is_human ... ok [INFO] [stdout] test cache::tests::in_memory_backend_allows_update_when_full ... ok [INFO] [stdout] test cache::tests::in_memory_backend_round_trip ... ok [INFO] [stdout] test cache::tests::namespaces_isolate_data ... ok [INFO] [stdout] test cache::tests::resolve_path_falls_back_to_default ... ok [INFO] [stdout] test cache::tests::custom_backend_via_with_backend ... ok [INFO] [stdout] test analyzers::text::naming::tests::long_variable_names_is_claude ... ok [INFO] [stdout] test analyzers::text::naming::tests::python_long_names_is_claude ... ok [INFO] [stdout] test analyzers::text::naming::tests::short_source_no_signals ... ok [INFO] [stdout] test cache::tests::resolve_path_config_override_takes_priority ... ok [INFO] [stdout] test colors::tests::abbrev_nonempty_for_all_families ... ok [INFO] [stdout] test colors::tests::rgb_round_trips_to_svg ... ok [INFO] [stdout] test colors::tests::terminal_colors_all_families ... ok [INFO] [stdout] test colors::tests::svg_colors_all_families ... ok [INFO] [stdout] test heuristics::tests::configured_heuristics_override_applies ... ok [INFO] [stdout] test heuristics::tests::signal_id_constants_match_all_heuristics ... ok [INFO] [stdout] test ignore_rules::tests::allow_all_never_ignores ... ok [INFO] [stdout] test heuristics::tests::inert_heuristics_matches_defaults ... ok [INFO] [stdout] test ignore_rules::tests::cache_dir_absent_section_is_none ... ok [INFO] [stdout] test ignore_rules::tests::cache_dir_parsed_from_config ... ok [INFO] [stdout] test ignore_rules::tests::find_config_root_stops_at_git ... ok [INFO] [stdout] test heuristics::tests::no_family_exceeds_35_percent ... ok [INFO] [stdout] test heuristics::tests::all_heuristics_ids_are_unique ... ok [INFO] [stdout] test heuristics::tests::default_heuristics_returns_correct_weight ... ok [INFO] [stdout] test heuristics::tests::default_heuristics_unknown_id_returns_one ... ok [INFO] [stdout] test heuristics::tests::embedded_toml_parses_successfully ... ok [INFO] [stdout] test heuristics::tests::configured_heuristics_zero_disables ... ok [INFO] [stdout] test ignore_rules::tests::pattern_ignore_dir_delegates_to_is_ignored ... ok [INFO] [stdout] test ignore_rules::tests::ignore_config_from_file_error_on_bad_toml ... ok [INFO] [stdout] test ignore_rules::tests::ignore_config_from_file_valid ... ok [INFO] [stdout] test ignore_rules::tests::ignore_config_parses_patterns ... ok [INFO] [stdout] test ignore_rules::tests::ignore_config_load_defaults_when_no_file ... ok [INFO] [stdout] test merkle::tests::different_contents_produce_different_hashes ... ok [INFO] [stdout] test merkle::tests::empty_dir_hash_is_deterministic ... ok [INFO] [stdout] test ignore_rules::tests::cache_dir_none_when_not_configured ... ok [INFO] [stdout] test ignore_rules::tests::find_config_root_stops_at_vibecheck_file ... ok [INFO] [stdout] test merkle::tests::order_matters ... ok [INFO] [stdout] test output::tests::format_json_is_valid ... ok [INFO] [stdout] test merkle::tests::walk_and_hash_empty_dir_is_stable ... ok [INFO] [stdout] test output::tests::format_text_contains_verdict ... ok [INFO] [stdout] test output::tests::format_text_insufficient_data ... ok [INFO] [stdout] test output::tests::format_text_with_file_path ... ok [INFO] [stdout] test output::tests::format_text_with_signals ... ok [INFO] [stdout] test merkle::tests::walk_and_hash_children_sorted ... ok [INFO] [stdout] test output::tests::output_format_eq ... ok [INFO] [stdout] test pipeline::tests::aggregate_empty_signals_returns_zero_confidence ... ok [INFO] [stdout] test pipeline::tests::blend_half_averages_scores ... ok [INFO] [stdout] test merkle::tests::walk_and_hash_reflects_file_content ... ok [INFO] [stdout] test pipeline::tests::blend_preserves_normalization ... ok [INFO] [stdout] test merkle::tests::walk_and_hash_subdirectory_changes_propagate ... ok [INFO] [stdout] test pipeline::tests::blend_zero_returns_heuristic ... ok [INFO] [stdout] test pipeline::tests::blend_one_returns_ml ... ok [INFO] [stdout] test pipeline::tests::run_symbols_empty_for_unsupported_extension ... ok [INFO] [stdout] test merkle::tests::walk_and_hash_with_ignored_dir_does_not_affect_hash ... ok [INFO] [stdout] test ignore_rules::tests::pattern_ignore_matches_substring ... ok [INFO] [stdout] test pipeline::tests::with_model_scorer_is_called ... ok [INFO] [stdout] test pipeline::tests::without_scorer_behavior_unchanged ... ok [INFO] [stdout] test merkle::tests::walk_and_hash_with_ignores_matched_files ... ok [INFO] [stdout] test project_tools::tests::detects_agents_md ... ok [INFO] [stdout] test pipeline::tests::run_symbols_python_extracts_functions_and_methods ... ok [INFO] [stdout] test pipeline::tests::with_model_blend_clamped ... ok [INFO] [stdout] test pipeline::tests::run_symbols_returns_one_report_per_function ... ok [INFO] [stdout] test pipeline::tests::run_symbols_symbol_reports_have_attribution ... ok [INFO] [stdout] test project_tools::tests::detects_aider_config ... ok [INFO] [stdout] test project_tools::tests::detects_cursor_rules_dir ... ok [INFO] [stdout] test project_tools::tests::detects_copilot_instructions ... ok [INFO] [stdout] test project_tools::tests::detects_claude_md ... ok [INFO] [stdout] test report::tests::display_name_class_no_parens ... ok [INFO] [stdout] test report::tests::display_name_function_appends_parens ... ok [INFO] [stdout] test project_tools::tests::detects_cursorrules ... ok [INFO] [stdout] test report::tests::family_id_from_model_family_roundtrip ... ok [INFO] [stdout] test report::tests::display_name_truncates ... ok [INFO] [stdout] test report::tests::family_id_json_roundtrip ... ok [INFO] [stdout] test project_tools::tests::detects_gemini_md ... ok [INFO] [stdout] test report::tests::kind_label_class ... ok [INFO] [stdout] test project_tools::tests::empty_dir_detects_nothing ... ok [INFO] [stdout] test report::tests::family_id_to_model_family_known ... ok [INFO] [stdout] test report::tests::family_id_to_model_family_unknown ... ok [INFO] [stdout] test project_tools::tests::detects_multiple_tools ... ok [INFO] [stdout] test report::tests::kind_label_function_falls_back_to_fn ... ok [INFO] [stdout] test report::tests::kind_label_method ... ok [INFO] [stdout] test report::tests::model_family_display ... ok [INFO] [stdout] test report::tests::signal_new_roundtrip ... ok [INFO] [stdout] test project_tools::tests::detects_windsurfrules ... ok [INFO] [stdout] test report::tests::family_id_to_model_family_case_insensitive ... ok [INFO] [stdout] test tests::analyze_directory_ignores_non_source_files ... ok [INFO] [stdout] test tests::analyze_directory_with_ignores_pattern_matched_file ... ok [INFO] [stdout] test tests::analyze_directory_with_empty_dir_returns_empty ... ok [INFO] [stdout] test tests::analyze_directory_with_cache_ignores_pattern_matched_dir ... ok [INFO] [stdout] test tests::analyze_file_cache_hit_returns_consistent_result ... ok [INFO] [stdout] test tests::analyze_file_no_cache_works ... ok [INFO] [stdout] test tests::analyze_directory_public_wrapper_finds_rust_file ... ok [INFO] [stdout] test tests::analyze_directory_with_rust_file ... ok [INFO] [stdout] test tests::analyze_file_symbols_no_cache_works ... ok [INFO] [stdout] test tests::analyze_directory_recurses_into_subdirs ... ok [INFO] [stdout] test tests::analyze_file_symbols_works ... ok [INFO] [stdout] test tests::analyze_file_works ... ok [INFO] [stdout] test tests::analyze_string_returns_report ... ok [INFO] [stdout] test tests::analyze_directory_with_cache_second_run_uses_dir_cache ... ok [INFO] [stdout] test cache::tests::tiered_backend_promotes_cold_to_hot ... ok [INFO] [stdout] test cache::tests::redb_backend_round_trip ... ok [INFO] [stdout] test cache::tests::dir_cache_miss_returns_none ... ok [INFO] [stdout] test cache::tests::dir_cache_round_trip ... ok [INFO] [stdout] test cache::tests::file_cache_miss_returns_none ... ok [INFO] [stdout] test tests::analyze_file_symbols_cache_hit_returns_consistent_result ... ok [INFO] [stdout] test cache::tests::symbol_cache_miss_returns_none ... ok [INFO] [stdout] test cache::tests::symbol_cache_round_trip ... ok [INFO] [stdout] test cache::tests::file_cache_round_trip ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 212 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.61s [INFO] [stdout] [INFO] [stderr] Running tests/fixture_detection.rs (/opt/rustwide/target/debug/deps/fixture_detection-406f853c69e9977c) [INFO] [stdout] [INFO] [stdout] running 20 tests [INFO] [stdout] test gemini_rust ... ok [INFO] [stdout] test copilot_python ... ok [INFO] [stdout] test gpt_rust ... ok [INFO] [stdout] test gpt_javascript ... ok [INFO] [stdout] test copilot_rust ... ok [INFO] [stdout] test claude_go ... ok [INFO] [stdout] test claude_javascript ... ok [INFO] [stdout] test gpt_python ... ok [INFO] [stdout] test claude_python ... ok [INFO] [stdout] test gpt_go ... ok [INFO] [stdout] test gemini_javascript ... ok [INFO] [stdout] test copilot_go ... ok [INFO] [stdout] test claude_rust ... ok [INFO] [stdout] test copilot_javascript ... ok [INFO] [stdout] test gemini_python ... ok [INFO] [stdout] test human_go ... ok [INFO] [stdout] test human_javascript ... ok [INFO] [stdout] test human_python ... ok [INFO] [stderr] Running tests/no_ignored_tests.rs (/opt/rustwide/target/debug/deps/no_ignored_tests-d74a31fd4f0ffd3c) [INFO] [stdout] test human_rust ... ok [INFO] [stdout] test gemini_go ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stderr] Running tests/self_detection.rs (/opt/rustwide/target/debug/deps/self_detection-b617188de1fa84f0) [INFO] [stdout] test no_ignored_tests_in_codebase ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test human_looking_code_detected ... ok [INFO] [stdout] test analyze_string_produces_report ... ok [INFO] [stdout] test single_file_analysis_under_100ms ... FAILED [INFO] [stdout] test detects_own_source_as_ai_generated ... ok [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- single_file_analysis_under_100ms stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'single_file_analysis_under_100ms' (475) panicked at vibecheck-core/tests/self_detection.rs:146:5: [INFO] [stdout] analysis took 206ms, expected < 200ms [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x587fe2389f8a - std[e28293b1aa0f68bd]::backtrace_rs::backtrace::libunwind::trace [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x587fe2389f8a - std[e28293b1aa0f68bd]::backtrace_rs::backtrace::trace_unsynchronized:: [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x587fe2389f8a - std[e28293b1aa0f68bd]::sys::backtrace::_print_fmt [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/backtrace.rs:74:9 [INFO] [stdout] 3: 0x587fe2389f8a - <::print::DisplayBacktrace as core[c1f1a4ba060b9bfa]::fmt::Display>::fmt [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/backtrace.rs:44:26 [INFO] [stdout] 4: 0x587fe23a145a - ::fmt [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/fmt/rt.rs:152:76 [INFO] [stdout] 5: 0x587fe23a145a - core[c1f1a4ba060b9bfa]::fmt::write [INFO] [stdout] 6: 0x587fe238e922 - std[e28293b1aa0f68bd]::io::default_write_fmt::> [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x587fe238e922 - as std[e28293b1aa0f68bd]::io::Write>::write_fmt [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/io/mod.rs:1994:13 [INFO] [stdout] 8: 0x587fe236731f - ::print [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/backtrace.rs:47:9 [INFO] [stdout] 9: 0x587fe236731f - std[e28293b1aa0f68bd]::panicking::default_hook::{closure#0} [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:292:27 [INFO] [stdout] 10: 0x587fe23818c9 - std[e28293b1aa0f68bd]::panicking::default_hook [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:316:9 [INFO] [stdout] 11: 0x587fe1cd80fc - core[c1f1a4ba060b9bfa]::ops::function::Fn<(&'a std[e28293b1aa0f68bd]::panic::PanicHookInfo<'b>,), Output = ()> + core[c1f1a4ba060b9bfa]::marker::Sync + core[c1f1a4ba060b9bfa]::marker::Send> as core[c1f1a4ba060b9bfa]::ops::function::Fn<(&std[e28293b1aa0f68bd]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 12: 0x587fe1cd80fc - test[273d7611820c9051]::test_main_with_exit_callback::::{closure#0} [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x587fe2381a82 - core[c1f1a4ba060b9bfa]::ops::function::Fn<(&'a std[e28293b1aa0f68bd]::panic::PanicHookInfo<'b>,), Output = ()> + core[c1f1a4ba060b9bfa]::marker::Sync + core[c1f1a4ba060b9bfa]::marker::Send> as core[c1f1a4ba060b9bfa]::ops::function::Fn<(&std[e28293b1aa0f68bd]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 14: 0x587fe2381a82 - std[e28293b1aa0f68bd]::panicking::panic_with_hook [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:833:13 [INFO] [stdout] 15: 0x587fe23673d8 - std[e28293b1aa0f68bd]::panicking::panic_handler::{closure#0} [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:698:13 [INFO] [stdout] 16: 0x587fe235eb49 - std[e28293b1aa0f68bd]::sys::backtrace::__rust_end_short_backtrace:: [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/backtrace.rs:182:18 [INFO] [stdout] 17: 0x587fe23680ed - __rustc[b7974e8690430dd9]::rust_begin_unwind [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:689:5 [INFO] [stdout] 18: 0x587fe23a1dbc - core[c1f1a4ba060b9bfa]::panicking::panic_fmt [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x587fe1ccb4a0 - self_detection::single_file_analysis_under_100ms::hf547a80bac80329a [INFO] [stdout] at /opt/rustwide/workdir/vibecheck-core/tests/self_detection.rs:146:5 [INFO] [stdout] 20: 0x587fe1ccb4e7 - self_detection::single_file_analysis_under_100ms::{{closure}}::hce69fa332fc34eeb [INFO] [stdout] at /opt/rustwide/workdir/vibecheck-core/tests/self_detection.rs:138:38 [INFO] [stdout] 21: 0x587fe1ccbac6 - core::ops::function::FnOnce::call_once::h001350d47564c15e [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 22: 0x587fe1ccc1db - core[c1f1a4ba060b9bfa]::result::Result<(), alloc[fdfd2bd8633a6659]::string::String> as core[c1f1a4ba060b9bfa]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 23: 0x587fe1ccc1db - test[273d7611820c9051]::__rust_begin_short_backtrace::, fn() -> core[c1f1a4ba060b9bfa]::result::Result<(), alloc[fdfd2bd8633a6659]::string::String>> [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/test/src/lib.rs:663:18 [INFO] [stdout] 24: 0x587fe1cd8bcb - test[273d7611820c9051]::run_test_in_process::{closure#0} [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/test/src/lib.rs:686:74 [INFO] [stdout] 25: 0x587fe1cd8bcb - as core[c1f1a4ba060b9bfa]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 26: 0x587fe1cd8bcb - std[e28293b1aa0f68bd]::panicking::catch_unwind::do_call::, core[c1f1a4ba060b9bfa]::result::Result<(), alloc[fdfd2bd8633a6659]::string::String>> [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:581:40 [INFO] [stdout] 27: 0x587fe1cd8bcb - std[e28293b1aa0f68bd]::panicking::catch_unwind::, core[c1f1a4ba060b9bfa]::panic::unwind_safe::AssertUnwindSafe> [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:544:19 [INFO] [stdout] 28: 0x587fe1cd8bcb - std[e28293b1aa0f68bd]::panic::catch_unwind::, core[c1f1a4ba060b9bfa]::result::Result<(), alloc[fdfd2bd8633a6659]::string::String>> [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panic.rs:359:14 [INFO] [stdout] 29: 0x587fe1cd8bcb - test[273d7611820c9051]::run_test_in_process [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/test/src/lib.rs:686:27 [INFO] [stdout] 30: 0x587fe1cd8bcb - test[273d7611820c9051]::run_test::{closure#0} [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/test/src/lib.rs:607:43 [INFO] [stdout] 31: 0x587fe1cd42e4 - test[273d7611820c9051]::run_test::{closure#1} [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/test/src/lib.rs:637:41 [INFO] [stdout] 32: 0x587fe1cd42e4 - std[e28293b1aa0f68bd]::sys::backtrace::__rust_begin_short_backtrace:: [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/backtrace.rs:166:18 [INFO] [stdout] 33: 0x587fe1cdb7d2 - std[e28293b1aa0f68bd]::thread::lifecycle::spawn_unchecked::::{closure#1}::{closure#0} [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/thread/lifecycle.rs:91:13 [INFO] [stdout] 34: 0x587fe1cdb7d2 - ::{closure#1}::{closure#0}> as core[c1f1a4ba060b9bfa]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 35: 0x587fe1cdb7d2 - std[e28293b1aa0f68bd]::panicking::catch_unwind::do_call::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:581:40 [INFO] [stdout] 36: 0x587fe1cdb7d2 - std[e28293b1aa0f68bd]::panicking::catch_unwind::<(), core[c1f1a4ba060b9bfa]::panic::unwind_safe::AssertUnwindSafe::{closure#1}::{closure#0}>> [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:544:19 [INFO] [stdout] 37: 0x587fe1cdb7d2 - std[e28293b1aa0f68bd]::panic::catch_unwind::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panic.rs:359:14 [INFO] [stdout] 38: 0x587fe1cdb7d2 - std[e28293b1aa0f68bd]::thread::lifecycle::spawn_unchecked::::{closure#1} [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/thread/lifecycle.rs:89:26 [INFO] [stdout] 39: 0x587fe1cdb7d2 - ::{closure#1} as core[c1f1a4ba060b9bfa]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 40: 0x587fe23891cf - + core[c1f1a4ba060b9bfa]::marker::Send> as core[c1f1a4ba060b9bfa]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/alloc/src/boxed.rs:2240:9 [INFO] [stdout] 41: 0x587fe23891cf - ::new::thread_start [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/thread/unix.rs:118:17 [INFO] [stdout] 42: 0x71af16e53aa4 - [INFO] [stdout] 43: 0x71af16ee0a64 - clone [INFO] [stdout] 44: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] single_file_analysis_under_100ms [INFO] [stdout] [INFO] [stdout] test result: FAILED. 3 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.41s [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass `-p vibecheck-core --test self_detection` [INFO] running `Command { std: "docker" "inspect" "6a84e202f3220bf124a43deefb327ea125f4e5666d973db6e90d720d4a77f04e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6a84e202f3220bf124a43deefb327ea125f4e5666d973db6e90d720d4a77f04e", kill_on_drop: false }` [INFO] [stdout] 6a84e202f3220bf124a43deefb327ea125f4e5666d973db6e90d720d4a77f04e