[INFO] fetching crate wonk 4.14.1...
[INFO] testing wonk-4.14.1 against try#33835004928d3bf65db4d4712e1330766263b0bd for pr-155739-1
[INFO] extracting crate wonk 4.14.1 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate wonk 4.14.1
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate wonk 4.14.1
[INFO] tweaked toml for crates.io crate wonk 4.14.1 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate wonk 4.14.1 on toolchain 33835004928d3bf65db4d4712e1330766263b0bd
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate wonk 4.14.1 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" "+33835004928d3bf65db4d4712e1330766263b0bd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e0007fe9eb60bc658ef2476b760f9566c09caf47f13dc30752597f8ad6b0f2ef
[INFO] running `Command { std: "docker" "start" "-a" "e0007fe9eb60bc658ef2476b760f9566c09caf47f13dc30752597f8ad6b0f2ef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e0007fe9eb60bc658ef2476b760f9566c09caf47f13dc30752597f8ad6b0f2ef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e0007fe9eb60bc658ef2476b760f9566c09caf47f13dc30752597f8ad6b0f2ef", kill_on_drop: false }`
[INFO] [stdout] e0007fe9eb60bc658ef2476b760f9566c09caf47f13dc30752597f8ad6b0f2ef
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+33835004928d3bf65db4d4712e1330766263b0bd" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 28eeb6a35a4f0a7db1ebbc1c16156b95fdf4eb4308a258c79d61a20929039ba2
[INFO] running `Command { std: "docker" "start" "-a" "28eeb6a35a4f0a7db1ebbc1c16156b95fdf4eb4308a258c79d61a20929039ba2", kill_on_drop: false }`
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling tree-sitter-language v0.1.7
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling libm v0.2.16
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling zerocopy v0.8.40
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling rawpointer v0.2.1
[INFO] [stderr]    Compiling approx v0.5.1
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling inotify-sys v0.1.5
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling doc-comment v0.3.4
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling ndarray v0.16.1
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling grep-matcher v0.1.8
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]    Compiling linfa v0.8.1
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling anstyle-parse v0.2.7
[INFO] [stderr]    Compiling encoding_rs_io v0.1.7
[INFO] [stderr]    Compiling libsqlite3-sys v0.36.0
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling noisy_float v0.2.1
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling memmap2 v0.9.10
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling sprs v0.11.2
[INFO] [stderr]    Compiling instant v0.1.13
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling termcolor v1.4.1
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling simd-adler32 v0.3.8
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling tree-sitter v0.26.6
[INFO] [stderr]    Compiling inotify v0.10.2
[INFO] [stderr]    Compiling ndarray-stats v0.6.0
[INFO] [stderr]    Compiling rustls-webpki v0.103.9
[INFO] [stderr]    Compiling notify-types v1.0.1
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling grep-searcher v0.1.16
[INFO] [stderr]    Compiling pgat v0.3.0
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling rand_distr v0.4.3
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling kdtree v0.7.0
[INFO] [stderr]    Compiling filetime v0.2.27
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling tree-sitter-python v0.23.6
[INFO] [stderr]    Compiling tree-sitter-c v0.23.4
[INFO] [stderr]    Compiling tree-sitter-c-sharp v0.23.1
[INFO] [stderr]    Compiling tree-sitter-typescript v0.23.2
[INFO] [stderr]    Compiling tree-sitter-ruby v0.23.1
[INFO] [stderr]    Compiling tree-sitter-java v0.23.5
[INFO] [stderr]    Compiling tree-sitter-rust v0.23.3
[INFO] [stderr]    Compiling tree-sitter-javascript v0.23.1
[INFO] [stderr]    Compiling tree-sitter-go v0.23.4
[INFO] [stderr]    Compiling tree-sitter-php v0.23.11
[INFO] [stderr]    Compiling tree-sitter-cpp v0.23.4
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling order-stat v0.1.3
[INFO] [stderr]    Compiling winnow v0.7.14
[INFO] [stderr]    Compiling clap_lex v1.0.0
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling tempfile v3.26.0
[INFO] [stderr]    Compiling clap_builder v4.5.60
[INFO] [stderr]    Compiling linfa-nn v0.8.1
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling ureq-proto v0.5.3
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling ndarray-rand v0.15.0
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling notify v7.0.0
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling space v0.19.0
[INFO] [stderr]    Compiling grep-printer v0.3.1
[INFO] [stderr]    Compiling grep-cli v0.1.12
[INFO] [stderr]    Compiling linfa-linalg v0.2.1
[INFO] [stderr]    Compiling grep-regex v0.1.14
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling webpki-roots v1.0.6
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling inotify v0.11.0
[INFO] [stderr]    Compiling notify-types v2.1.0
[INFO] [stderr]    Compiling hashlink v0.11.0
[INFO] [stderr]    Compiling rand_xoshiro v0.6.0
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling streaming-iterator v0.1.9
[INFO] [stderr]    Compiling utf-8 v0.7.6
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling ureq v3.2.0
[INFO] [stderr]    Compiling linfa-clustering v0.8.1
[INFO] [stderr]    Compiling bytemuck v1.25.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling notify v8.2.0
[INFO] [stderr]    Compiling grep v0.4.1
[INFO] [stderr]    Compiling rusqlite v0.38.0
[INFO] [stderr]    Compiling notify-debouncer-mini v0.5.0
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling clap v4.5.60
[INFO] [stderr]    Compiling ignore v0.4.25
[INFO] [stderr]    Compiling serde_toon2 v0.1.0
[INFO] [stderr]    Compiling fork v0.2.0
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling xxhash-rust v0.8.15
[INFO] [stderr]    Compiling wonk v4.14.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 32s
[INFO] running `Command { std: "docker" "inspect" "28eeb6a35a4f0a7db1ebbc1c16156b95fdf4eb4308a258c79d61a20929039ba2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "28eeb6a35a4f0a7db1ebbc1c16156b95fdf4eb4308a258c79d61a20929039ba2", kill_on_drop: false }`
[INFO] [stdout] 28eeb6a35a4f0a7db1ebbc1c16156b95fdf4eb4308a258c79d61a20929039ba2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f8165df290176970503ea81d67aa012de944348d92556dd07f80510c3eb3c6f8
[INFO] running `Command { std: "docker" "start" "-a" "f8165df290176970503ea81d67aa012de944348d92556dd07f80510c3eb3c6f8", kill_on_drop: false }`
[INFO] [stderr]    Compiling wonk v4.14.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 29.43s
[INFO] running `Command { std: "docker" "inspect" "f8165df290176970503ea81d67aa012de944348d92556dd07f80510c3eb3c6f8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f8165df290176970503ea81d67aa012de944348d92556dd07f80510c3eb3c6f8", kill_on_drop: false }`
[INFO] [stdout] f8165df290176970503ea81d67aa012de944348d92556dd07f80510c3eb3c6f8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 7108ba3b8bc280ca6c829e09b5b8fc40f99b3d31bc503b6945d70fdd84973067
[INFO] running `Command { std: "docker" "start" "-a" "7108ba3b8bc280ca6c829e09b5b8fc40f99b3d31bc503b6945d70fdd84973067", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.37s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/wonk-da8c7f34f614d37e)
[INFO] [stdout] 
[INFO] [stdout] running 1314 tests
[INFO] [stdout] test blast::tests::blast_options_default_values ... ok
[INFO] [stdout] test blast::tests::blast_risk_level_low ... ok
[INFO] [stdout] test blast::tests::blast_risk_level_medium ... ok
[INFO] [stdout] test blast::tests::blast_depth_cap ... ok
[INFO] [stdout] test blast::tests::blast_min_confidence_filter ... ok
[INFO] [stdout] test blast::tests::blast_empty_results ... ok
[INFO] [stdout] test blast::tests::clamp_depth_exceeds_cap ... ok
[INFO] [stdout] test blast::tests::clamp_depth_within_cap ... ok
[INFO] [stdout] test blast::tests::risk_level_for_count_mapping ... ok
[INFO] [stdout] test blast::tests::blast_downstream_basic ... ok
[INFO] [stdout] test blast::tests::severity_for_depth_mapping ... ok
[INFO] [stdout] test budget::tests::estimate_tokens_empty_string ... ok
[INFO] [stdout] test budget::tests::estimate_tokens_longer_string ... ok
[INFO] [stdout] test budget::tests::estimate_tokens_exact_multiple ... ok
[INFO] [stdout] test budget::tests::estimate_tokens_one_char ... ok
[INFO] [stdout] test budget::tests::estimate_tokens_short_string ... ok
[INFO] [stdout] test budget::tests::try_consume_accumulates_across_calls ... ok
[INFO] [stdout] test budget::tests::token_budget_new_has_full_remaining ... ok
[INFO] [stdout] test budget::tests::try_consume_empty_string_always_succeeds ... ok
[INFO] [stdout] test budget::tests::try_consume_rejects_when_text_exceeds_remaining ... ok
[INFO] [stdout] test budget::tests::try_consume_returns_false_when_budget_exhausted ... ok
[INFO] [stdout] test budget::tests::try_consume_returns_true_when_within_budget ... ok
[INFO] [stdout] test blast::tests::blast_cycle_terminates ... ok
[INFO] [stdout] test blast::tests::blast_depth_0_returns_empty ... ok
[INFO] [stdout] test blast::tests::blast_affected_files_dedup ... ok
[INFO] [stdout] test blast::tests::blast_test_file_exclusion ... ok
[INFO] [stdout] test callgraph::tests::callees_depth_0_returns_empty ... ok
[INFO] [stdout] test callgraph::tests::callees_empty ... ok
[INFO] [stdout] test callgraph::tests::callees_basic ... ok
[INFO] [stdout] test callgraph::tests::callees_callees_file_filter ... ok
[INFO] [stdout] test blast::tests::blast_severity_tiers ... ok
[INFO] [stdout] test blast::tests::blast_upstream_basic ... ok
[INFO] [stdout] test callgraph::tests::callees_depth_1_no_expand ... ok
[INFO] [stdout] test callgraph::tests::callees_file_filter ... ok
[INFO] [stdout] test callgraph::tests::callers_basic ... ok
[INFO] [stdout] test callgraph::tests::callees_transitive_depth_2 ... ok
[INFO] [stdout] test callgraph::tests::callees_with_min_confidence_filter ... ok
[INFO] [stdout] test callgraph::tests::callers_depth_0_returns_empty ... ok
[INFO] [stdout] test callgraph::tests::callers_callers_file_filter ... ok
[INFO] [stdout] test callgraph::tests::callers_empty ... ok
[INFO] [stdout] test callgraph::tests::callers_depth_1_no_expand ... ok
[INFO] [stdout] test callgraph::tests::callees_populates_source_file ... ok
[INFO] [stdout] test callgraph::tests::callers_reference_file_filter ... ok
[INFO] [stdout] test callgraph::tests::callees_result_has_confidence_field ... ok
[INFO] [stdout] test callgraph::tests::callers_result_has_confidence_field ... ok
[INFO] [stdout] test callgraph::tests::callpath_destination_file_filter ... ok
[INFO] [stdout] test callgraph::tests::callers_transitive_depth_2 ... ok
[INFO] [stdout] test callgraph::tests::callpath_basic ... ok
[INFO] [stdout] test callgraph::tests::callpath_no_path ... ok
[INFO] [stdout] test callgraph::tests::clamp_depth_exceeds_cap ... ok
[INFO] [stdout] test callgraph::tests::clamp_depth_within_cap ... ok
[INFO] [stdout] test callgraph::tests::callers_with_min_confidence_filter ... ok
[INFO] [stdout] test callgraph::tests::callpath_cycle_does_not_hang ... ok
[INFO] [stdout] test callgraph::tests::callpath_same_symbol ... ok
[INFO] [stdout] test callgraph::tests::callpath_nonexistent_from_file ... ok
[INFO] [stdout] test cli::tests::parse_ask_basic_query ... ok
[INFO] [stdout] test cli::tests::parse_ask_requires_query ... ok
[INFO] [stdout] test cli::tests::parse_ask_with_from_and_to ... ok
[INFO] [stdout] test cli::tests::parse_ask_with_global_budget ... ok
[INFO] [stdout] test cli::tests::parse_blast_basic ... ok
[INFO] [stdout] test callgraph::tests::callpath_with_from_file ... ok
[INFO] [stdout] test cli::tests::parse_blast_with_depth ... ok
[INFO] [stdout] test cli::tests::parse_blast_with_direction ... ok
[INFO] [stdout] test cli::tests::parse_blast_with_global_budget ... ok
[INFO] [stdout] test cli::tests::parse_blast_with_global_format ... ok
[INFO] [stdout] test cli::tests::parse_blast_with_include_tests ... ok
[INFO] [stdout] test callgraph::tests::callpath_direct ... ok
[INFO] [stdout] test cli::tests::parse_blast_with_min_confidence ... ok
[INFO] [stdout] test cli::tests::parse_callees_basic ... ok
[INFO] [stdout] test cli::tests::parse_callees_requires_name ... ok
[INFO] [stdout] test cli::tests::parse_blast_requires_symbol ... ok
[INFO] [stdout] test cli::tests::parse_callees_with_depth ... ok
[INFO] [stdout] test cli::tests::parse_callees_with_both_files ... ok
[INFO] [stdout] test cli::tests::parse_callees_with_min_confidence ... ok
[INFO] [stdout] test callgraph::tests::has_caller_id_data_false ... ok
[INFO] [stdout] test cli::tests::parse_callers_basic ... ok
[INFO] [stdout] test cli::tests::parse_callers_min_confidence_default_none ... ok
[INFO] [stdout] test cli::tests::parse_callees_with_reference_file ... ok
[INFO] [stdout] test callgraph::tests::cycle_detection ... ok
[INFO] [stdout] test callgraph::tests::has_caller_id_data_true ... ok
[INFO] [stdout] test callgraph::tests::callpath_shortest_path ... ok
[INFO] [stdout] test cli::tests::parse_callers_with_min_confidence ... ok
[INFO] [stdout] test cli::tests::parse_callers_with_global_json ... ok
[INFO] [stdout] test cli::tests::parse_callers_with_depth ... ok
[INFO] [stdout] test cli::tests::parse_callers_requires_name ... ok
[INFO] [stdout] test cli::tests::parse_callers_with_both_files ... ok
[INFO] [stdout] test cli::tests::parse_callers_with_reference_file ... ok
[INFO] [stdout] test cli::tests::parse_callpath_requires_both_args ... ok
[INFO] [stdout] test cli::tests::parse_callpath_basic ... ok
[INFO] [stdout] test callgraph::tests::multiple_definitions ... ok
[INFO] [stdout] test cli::tests::parse_callers_with_global_budget ... ok
[INFO] [stdout] test cli::tests::parse_changes_blast_and_flows ... ok
[INFO] [stdout] test cli::tests::parse_changes_blast_flag ... ok
[INFO] [stdout] test cli::tests::parse_callpath_with_format ... ok
[INFO] [stdout] test cli::tests::parse_changes_min_confidence ... ok
[INFO] [stdout] test cli::tests::parse_changes_scope_compare_with_base ... ok
[INFO] [stdout] test cli::tests::parse_changes_default ... ok
[INFO] [stdout] test cli::tests::parse_cluster_basic ... ok
[INFO] [stdout] test cli::tests::parse_changes_flows_flag ... ok
[INFO] [stdout] test cli::tests::parse_cluster_requires_path ... ok
[INFO] [stdout] test cli::tests::parse_changes_scope_all ... ok
[INFO] [stdout] test cli::tests::parse_cluster_with_global_budget ... ok
[INFO] [stdout] test cli::tests::parse_callpath_with_reference_file ... ok
[INFO] [stdout] test cli::tests::parse_changes_scope_staged ... ok
[INFO] [stdout] test cli::tests::parse_context_basic ... ok
[INFO] [stdout] test cli::tests::parse_callpath_with_both_files ... ok
[INFO] [stdout] test cli::tests::parse_callpath_with_min_confidence ... ok
[INFO] [stdout] test cli::tests::parse_cluster_with_top ... ok
[INFO] [stdout] test cli::tests::parse_context_with_global_budget ... ok
[INFO] [stdout] test cli::tests::parse_context_requires_name ... ok
[INFO] [stdout] test cli::tests::parse_flows_with_branching ... ok
[INFO] [stdout] test cli::tests::parse_flows_no_args ... ok
[INFO] [stdout] test cli::tests::parse_context_with_file ... ok
[INFO] [stdout] test cli::tests::parse_flows_with_global_budget ... ok
[INFO] [stdout] test cli::tests::parse_context_with_min_confidence ... ok
[INFO] [stdout] test cli::tests::parse_flows_with_from ... ok
[INFO] [stdout] test cli::tests::parse_context_with_global_format ... ok
[INFO] [stdout] test cli::tests::parse_flows_with_depth ... ok
[INFO] [stdout] test cli::tests::parse_context_with_kind ... ok
[INFO] [stdout] test cli::tests::parse_impact_requires_file ... ok
[INFO] [stdout] test cli::tests::parse_impact_basic ... ok
[INFO] [stdout] test cli::tests::parse_flows_with_entry ... ok
[INFO] [stdout] test cli::tests::parse_flows_with_global_format ... ok
[INFO] [stdout] test cli::tests::parse_show_basic ... ok
[INFO] [stdout] test cli::tests::parse_search_semantic_conflicts_with_raw ... ok
[INFO] [stdout] test cli::tests::parse_show_shallow_default_false ... ok
[INFO] [stdout] test cli::tests::parse_impact_with_global_json ... ok
[INFO] [stdout] test cli::tests::parse_flows_with_min_confidence ... ok
[INFO] [stdout] test cli::tests::parse_show_file_only_mode ... ok
[INFO] [stdout] test cli::tests::parse_impact_with_since ... ok
[INFO] [stdout] test cli::tests::parse_search_semantic_default_false ... ok
[INFO] [stdout] test cli::tests::parse_search_semantic_flag ... ok
[INFO] [stdout] test cli::tests::parse_show_with_file ... ok
[INFO] [stdout] test cli::tests::parse_show_with_exact ... ok
[INFO] [stdout] test cli::tests::parse_show_with_shallow ... ok
[INFO] [stdout] test cli::tests::parse_summary_requires_path ... ok
[INFO] [stdout] test cli::tests::parse_summary_with_detail ... ok
[INFO] [stdout] test cli::tests::parse_show_with_global_format ... ok
[INFO] [stdout] test cli::tests::parse_show_with_kind ... ok
[INFO] [stdout] test cli::tests::parse_summary_basic ... ok
[INFO] [stdout] test cli::tests::parse_summary_recursive ... ok
[INFO] [stdout] test cli::tests::parse_summary_with_depth ... ok
[INFO] [stdout] test cli::tests::parse_summary_recursive_conflicts_with_depth ... ok
[INFO] [stdout] test cluster::tests::cluster_empty_input ... ok
[INFO] [stdout] test cluster::tests::cluster_identical_embeddings ... ok
[INFO] [stdout] test cluster::tests::cluster_single_embedding ... ok
[INFO] [stdout] test cli::tests::parse_summary_with_global_format ... ok
[INFO] [stdout] test cluster::tests::cluster_two_embeddings ... ok
[INFO] [stdout] test cluster::tests::euclidean_distance_basic ... ok
[INFO] [stdout] test cluster::tests::euclidean_distance_same_point ... ok
[INFO] [stdout] test cli::tests::parse_summary_with_global_budget ... ok
[INFO] [stdout] test cluster::tests::resolve_cluster_members_skips_missing_symbols ... ok
[INFO] [stdout] test cluster::tests::resolve_cluster_members_populates_metadata ... ok
[INFO] [stdout] test cluster::tests::silhouette_score_perfect_clusters ... ok
[INFO] [stdout] test color::tests::clicolor_force_enables_color ... ok
[INFO] [stdout] test color::tests::clicolor_force_overrides_config_never ... ok
[INFO] [stdout] test color::tests::clicolor_zero_disables_color ... ok
[INFO] [stdout] test color::tests::config_always_enables_color ... ok
[INFO] [stdout] test color::tests::config_always_overrides_clicolor_zero ... ok
[INFO] [stdout] test color::tests::config_false_disables_color ... ok
[INFO] [stdout] test color::tests::config_never_disables_color ... ok
[INFO] [stdout] test color::tests::config_true_enables_color ... ok
[INFO] [stdout] test color::tests::no_color_env_disables_color ... ok
[INFO] [stdout] test color::tests::no_color_takes_precedence_over_clicolor_force ... ok
[INFO] [stdout] test cluster::tests::silhouette_score_single_point_per_cluster ... ok
[INFO] [stdout] test color::tests::tty_false_disables_color_in_auto_mode ... ok
[INFO] [stdout] test color::tests::tty_true_enables_color_in_auto_mode ... ok
[INFO] [stdout] test config::tests::defaults_applied_when_no_config_exists ... ok
[INFO] [stdout] test config::tests::all_config_fields_round_trip ... ok
[INFO] [stdout] test config::tests::empty_config_files_are_fine ... ok
[INFO] [stdout] test config::tests::ignore_patterns_from_config ... ok
[INFO] [stdout] test config::tests::global_config_overrides_defaults ... ok
[INFO] [stdout] test config::tests::legacy_idle_timeout_minutes_silently_ignored ... ok
[INFO] [stdout] test config::tests::llm_defaults_applied_when_no_config ... ok
[INFO] [stdout] test config::tests::llm_generate_url_override ... ok
[INFO] [stdout] test config::tests::llm_model_override_from_global ... ok
[INFO] [stdout] test config::tests::invalid_toml_produces_clear_error ... ok
[INFO] [stdout] test config::tests::llm_repo_overrides_global ... ok
[INFO] [stdout] test config::tests::no_global_dir_uses_only_defaults ... ok
[INFO] [stdout] test config::tests::partial_sections_only_override_specified_fields ... ok
[INFO] [stdout] test config::tests::repo_config_without_global ... ok
[INFO] [stdout] test config::tests::search_rrf_k_default_is_60 ... ok
[INFO] [stdout] test config::tests::repo_config_overrides_global ... ok
[INFO] [stdout] test config::tests::search_rrf_k_repo_overrides_global ... ok
[INFO] [stdout] test config::tests::three_layer_merge_works ... ok
[INFO] [stdout] test config::tests::search_rrf_k_override_from_global ... ok
[INFO] [stdout] test config::tests::unknown_keys_are_ignored ... ok
[INFO] [stdout] test config::tests::wrong_type_produces_error ... ok
[INFO] [stdout] test cluster::tests::cluster_two_groups ... ok
[INFO] [stdout] test context::tests::symbol_context_basic_definition ... ok
[INFO] [stdout] test context::tests::symbol_context_callers_and_callees ... ok
[INFO] [stdout] test context::tests::symbol_context_children_via_type_edges ... ok
[INFO] [stdout] test cluster::tests::cluster_three_groups ... ok
[INFO] [stdout] test context::tests::symbol_context_kind_filter ... ok
[INFO] [stdout] test cluster::tests::cluster_members_sorted_by_distance ... ok
[INFO] [stdout] test daemon::tests::test_check_stale_pid_keeps_alive ... ok
[INFO] [stdout] test daemon::tests::test_check_stale_pid_no_file ... ok
[INFO] [stdout] test context::tests::symbol_context_file_filter ... ok
[INFO] [stdout] test context::tests::symbol_context_importers ... ok
[INFO] [stdout] test daemon::tests::test_check_stale_pid_removes_dead ... ok
[INFO] [stdout] test context::tests::symbol_context_multiple_matches ... ok
[INFO] [stdout] test daemon::tests::test_coalesce_file_lists_deduplicates ... ok
[INFO] [stdout] test daemon::tests::test_coalesce_file_lists_single_batch ... ok
[INFO] [stdout] test daemon::tests::test_daemon_entry_serializable ... ok
[INFO] [stdout] test daemon::tests::test_daemon_info_default ... ok
[INFO] [stdout] test daemon::tests::test_daemon_info_embedding_fields_default ... ok
[INFO] [stdout] test daemon::tests::test_clear_status ... ok
[INFO] [stdout] test context::tests::symbol_context_no_match_returns_empty ... ok
[INFO] [stdout] test daemon::tests::test_discover_daemons_empty_dir ... ok
[INFO] [stdout] test daemon::tests::test_discover_daemons_invalid_pid_content ... ok
[INFO] [stdout] test daemon::tests::test_clear_status_empty_table_ok ... ok
[INFO] [stdout] test daemon::tests::test_discover_daemons_nonexistent_dir ... ok
[INFO] [stdout] test daemon::tests::test_clear_embedding_build_request ... ok
[INFO] [stdout] test daemon::tests::test_discover_daemons_stale_cleaned ... ok
[INFO] [stdout] test daemon::tests::test_discover_daemons_alive_process ... ok
[INFO] [stdout] test daemon::tests::test_format_duration_days ... ok
[INFO] [stdout] test daemon::tests::test_format_duration_hours ... ok
[INFO] [stdout] test daemon::tests::test_format_duration_minutes ... ok
[INFO] [stdout] test daemon::tests::test_format_duration_negative ... ok
[INFO] [stdout] test daemon::tests::test_format_duration_seconds ... ok
[INFO] [stdout] test daemon::tests::test_format_uptime_none ... ok
[INFO] [stdout] test daemon::tests::test_format_uptime_recent ... ok
[INFO] [stdout] test cluster::tests::cluster_respects_max_k ... ok
[INFO] [stdout] test daemon::tests::test_embedding_build_request_lifecycle ... ok
[INFO] [stdout] test daemon::tests::test_discover_daemons_with_meta_json ... ok
[INFO] [stdout] test daemon::tests::test_is_running_no_pid_file ... ok
[INFO] [stdout] test daemon::tests::test_is_running_with_current_process ... ok
[INFO] [stdout] test daemon::tests::test_is_running_with_dead_pid ... ok
[INFO] [stdout] test daemon::tests::test_is_running_with_invalid_pid ... ok
[INFO] [stdout] test daemon::tests::test_pid_file_content_format ... ok
[INFO] [stdout] test daemon::tests::test_pid_file_path ... ok
[INFO] [stdout] test daemon::tests::test_is_embedding_build_requested_after_clear ... ok
[INFO] [stdout] test daemon::tests::test_process_alive_current ... ok
[INFO] [stdout] test daemon::tests::test_process_alive_dead ... ok
[INFO] [stdout] test daemon::tests::test_discover_daemons_dedup_by_pid ... ok
[INFO] [stdout] test daemon::tests::test_discover_daemons_local_mode ... ok
[INFO] [stdout] test daemon::tests::test_is_embedding_build_requested_after_request ... ok
[INFO] [stdout] test daemon::tests::test_is_embedding_build_requested_false_by_default ... ok
[INFO] [stdout] test cluster::tests::cluster_representative_symbols ... ok
[INFO] [stdout] test daemon::tests::test_register_signal_handler ... ok
[INFO] [stdout] test daemon::tests::test_remove_pid ... ok
[INFO] [stdout] test daemon::tests::test_remove_pid_nonexistent_is_ok ... ok
[INFO] [stdout] test daemon::tests::test_read_all_status_empty ... ok
[INFO] [stdout] test daemon::tests::test_read_all_status_includes_embedding_build_requested ... ok
[INFO] [stdout] test daemon::tests::test_read_all_status_includes_embedding_fields ... ok
[INFO] [stdout] test daemon::tests::test_single_instance_enforcement ... ok
[INFO] [stdout] test daemon::tests::test_read_all_status_embedding_build_requested_not_set ... ok
[INFO] [stdout] test daemon::tests::test_read_all_status_populated ... ok
[INFO] [stdout] test daemon::tests::test_update_queue_depth ... ok
[INFO] [stdout] test daemon::tests::test_write_and_read_pid ... ok
[INFO] [stdout] test daemon::tests::test_read_status_missing_key ... ok
[INFO] [stdout] test daemon::tests::test_update_activity ... ok
[INFO] [stdout] test daemon::tests::test_request_embedding_build ... ok
[INFO] [stdout] test daemon::tests::test_write_pid_creates_directory ... ok
[INFO] [stdout] test daemon::tests::test_update_queue_depth_zero ... ok
[INFO] [stdout] test daemon::tests::test_startup_then_clear_lifecycle ... ok
[INFO] [stdout] test daemon::tests::test_write_and_read_status ... ok
[INFO] [stdout] test daemon::tests::test_write_heartbeat ... ok
[INFO] [stdout] test daemon::tests::test_write_error ... ok
[INFO] [stdout] test daemon::tests::test_write_startup_status ... ok
[INFO] [stdout] test daemon::tests::test_write_status_upsert ... ok
[INFO] [stdout] test daemon::tests::test_write_status_updates_timestamp ... ok
[INFO] [stdout] test daemon::tests::test_update_embedding_activity_writes_status ... ok
[INFO] [stdout] test db::tests::test_central_index_path ... ok
[INFO] [stdout] test db::tests::test_caller_id_index_exists ... ok
[INFO] [stdout] test db::tests::test_caller_id_nullable ... ok
[INFO] [stdout] test db::tests::test_busy_timeout_is_set ... ok
[INFO] [stdout] test db::tests::test_count_matching_symbols_fts_syntax_safe ... ok
[INFO] [stdout] test db::tests::test_confidence_default_is_0_5 ... ok
[INFO] [stdout] test db::tests::test_count_matching_symbols_found ... ok
[INFO] [stdout] test db::tests::test_caller_id_with_valid_fk ... ok
[INFO] [stdout] test db::tests::test_confidence_indexes_exist ... ok
[INFO] [stdout] test db::tests::test_count_matching_symbols_multiple ... ok
[INFO] [stdout] test db::tests::test_caller_id_on_delete_set_null ... ok
[INFO] [stdout] test db::tests::test_count_matching_symbols_none ... ok
[INFO] [stdout] test db::tests::test_embeddings_cascade_delete ... ok
[INFO] [stdout] test db::tests::test_count_matching_symbols_special_chars ... ok
[INFO] [stdout] test db::tests::test_embeddings_file_index_exists ... ok
[INFO] [stdout] test db::tests::test_embeddings_unique_symbol_id ... ok
[INFO] [stdout] test db::tests::test_embeddings_stale_default ... ok
[INFO] [stdout] test db::tests::test_ensure_caller_id_column_idempotent ... ok
[INFO] [stdout] test db::tests::test_ensure_confidence_column_migration ... ok
[INFO] [stdout] test db::tests::test_ensure_confidence_column_idempotent ... ok
[INFO] [stdout] test db::tests::test_ensure_caller_id_migration_on_v2_db ... ok
[INFO] [stdout] test db::tests::test_embeddings_table_columns ... ok
[INFO] [stdout] test db::tests::test_ensure_embeddings_table_idempotent ... ok
[INFO] [stdout] test db::tests::test_ensure_summaries_table_on_old_db ... ok
[INFO] [stdout] test db::tests::test_ensure_embeddings_table_on_v1_db ... ok
[INFO] [stdout] test db::tests::test_find_existing_index_central ... ok
[INFO] [stdout] test db::tests::test_find_existing_index_local ... ok
[INFO] [stdout] test db::tests::test_find_existing_index_none ... ok
[INFO] [stdout] test db::tests::test_ensure_summaries_table_idempotent ... ok
[INFO] [stdout] test db::tests::test_find_repo_root_fails ... ok
[INFO] [stdout] test db::tests::test_find_repo_root_git ... ok
[INFO] [stdout] test db::tests::test_find_repo_root_wonk ... ok
[INFO] [stdout] test db::tests::test_ensure_type_edges_table_migration ... ok
[INFO] [stdout] test db::tests::test_file_exists_in_index_found ... ok
[INFO] [stdout] test db::tests::test_ensure_type_edges_table_idempotent ... ok
[INFO] [stdout] test db::tests::test_find_existing_index_prefers_local ... ok
[INFO] [stdout] test db::tests::test_file_exists_in_index_not_found ... ok
[INFO] [stdout] test db::tests::test_local_index_path ... ok
[INFO] [stdout] test db::tests::test_file_imports_table_insert_and_query ... ok
[INFO] [stdout] test db::tests::test_index_path_for_central ... ok
[INFO] [stdout] test db::tests::test_index_path_for_local ... ok
[INFO] [stdout] test db::tests::test_fts5_triggers_delete ... ok
[INFO] [stdout] test db::tests::test_fts5_triggers_insert ... ok
[INFO] [stdout] test db::tests::test_open_creates_embeddings_table ... ok
[INFO] [stdout] test db::tests::test_fts5_triggers_update ... ok
[INFO] [stdout] test db::tests::test_open_creates_schema ... ok
[INFO] [stdout] test db::tests::test_repo_hash_deterministic ... ok
[INFO] [stdout] test db::tests::test_open_creates_summaries_table ... ok
[INFO] [stdout] test db::tests::test_schema_files_table ... ok
[INFO] [stdout] test db::tests::test_new_db_has_type_edges_table ... ok
[INFO] [stdout] test db::tests::test_new_db_has_confidence_column ... ok
[INFO] [stdout] test db::tests::test_schema_references_table ... ok
[INFO] [stdout] test db::tests::test_summaries_insert_and_query ... ok
[INFO] [stdout] test db::tests::test_new_db_has_caller_id_column ... ok
[INFO] [stdout] test db::tests::test_open_migrates_legacy_db_without_caller_id_or_confidence ... ok
[INFO] [stdout] test db::tests::test_summaries_upsert_on_path ... ok
[INFO] [stdout] test db::tests::test_write_and_read_meta ... ok
[INFO] [stdout] test embedding::tests::bytemuck_round_trip_preserves_values ... ok
[INFO] [stdout] test db::tests::test_schema_daemon_status_table ... ok
[INFO] [stdout] test db::tests::test_type_edges_cascade_delete ... ok
[INFO] [stdout] test embedding::tests::chunk_all_symbols_basic ... ok
[INFO] [stdout] test embedding::tests::chunk_all_symbols_rejects_absolute_path ... ok
[INFO] [stdout] test embedding::tests::chunk_all_symbols_multiple_symbols_same_file ... ok
[INFO] [stdout] test embedding::tests::chunk_all_symbols_rejects_path_traversal ... ok
[INFO] [stdout] test embedding::tests::chunk_all_symbols_skips_unreadable_files ... ok
[INFO] [stdout] test embedding::tests::chunk_file_fallback_basic ... ok
[INFO] [stdout] test embedding::tests::chunk_file_fallback_truncates_long_content ... ok
[INFO] [stdout] test embedding::tests::chunk_missing_symbols_all_embedded ... ok
[INFO] [stdout] test embedding::tests::chunk_missing_symbols_stale_gets_rechunked ... ok
[INFO] [stdout] test db::tests::test_open_idempotent ... ok
[INFO] [stdout] test db::tests::test_type_edges_bidirectional_indexes ... ok
[INFO] [stdout] test embedding::tests::chunk_symbol_no_imports ... ok
[INFO] [stdout] test embedding::tests::chunk_symbol_no_scope ... ok
[INFO] [stdout] test embedding::tests::chunk_symbol_no_scope_no_imports ... ok
[INFO] [stdout] test embedding::tests::chunk_symbol_truncates_long_source ... ok
[INFO] [stdout] test embedding::tests::chunk_symbol_full_format ... ok
[INFO] [stdout] test db::tests::test_type_edges_insert_and_query ... ok
[INFO] [stdout] test embedding::tests::chunk_symbols_for_files_nonexistent_file_skipped ... ok
[INFO] [stdout] test embedding::tests::chunk_symbols_for_files_empty_list_returns_empty ... ok
[INFO] [stdout] test embedding::tests::chunk_missing_symbols_some_embedded ... ok
[INFO] [stdout] test embedding::tests::chunk_missing_symbols_all_missing ... ok
[INFO] [stdout] test embedding::tests::chunk_symbols_for_files_targets_specific_files ... ok
[INFO] [stdout] test embedding::tests::classify_error_io_connection_refused_is_unreachable ... ok
[INFO] [stdout] test embedding::tests::classify_error_other_is_ollama_error ... ok
[INFO] [stdout] test embedding::tests::compute_line_offsets_basic ... ok
[INFO] [stdout] test embedding::tests::context_length_error_matches_server_message ... ok
[INFO] [stdout] test embedding::tests::context_length_error_rejects_invalid_response ... ok
[INFO] [stdout] test embedding::tests::context_length_error_rejects_unreachable ... ok
[INFO] [stdout] test embedding::tests::context_length_error_rejects_unrelated_ollama_error ... ok
[INFO] [stdout] test embedding::tests::default_client_uses_localhost ... ok
[INFO] [stdout] test embedding::tests::delete_embeddings_for_nonexistent_file_succeeds ... ok
[INFO] [stdout] test embedding::tests::delete_embeddings_for_file_removes_correct_rows ... ok
[INFO] [stdout] test embedding::tests::classify_error_connection_refused_is_unreachable ... ok
[INFO] [stdout] test embedding::tests::classify_error_timeout_is_unreachable ... ok
[INFO] [stdout] test embedding::tests::context_length_error_matches_client_preflight ... ok
[INFO] [stdout] test embedding::tests::embed_batch_empty_returns_empty_vec ... ok
[INFO] [stdout] test embedding::tests::classify_error_host_not_found_is_unreachable ... ok
[INFO] [stdout] test embedding::tests::embed_response_deserializes_correctly ... ok
[INFO] [stdout] test embedding::tests::embed_batch_rejects_oversized_input ... ok
[INFO] [stdout] test embedding::tests::embed_request_serializes_correctly ... ok
[INFO] [stdout] test embedding::tests::embed_batch_unreachable_returns_error ... ok
[INFO] [stdout] test embedding::tests::embed_single_unreachable_returns_error ... ok
[INFO] [stdout] test embedding::tests::embedding_stats_all_zero ... ok
[INFO] [stdout] test embedding::tests::embedding_completeness_partial ... ok
[INFO] [stdout] test embedding::tests::embedding_stats_counts_correctly ... ok
[INFO] [stdout] test embedding::tests::extract_error_detail_falls_back_on_missing_field ... ok
[INFO] [stdout] test embedding::tests::embedding_completeness_all_embedded ... ok
[INFO] [stdout] test embedding::tests::embedding_completeness_excludes_stale ... ok
[INFO] [stdout] test embedding::tests::extract_error_detail_falls_back_to_status ... ok
[INFO] [stdout] test embedding::tests::extract_error_detail_parses_json_error_field ... ok
[INFO] [stdout] test embedding::tests::embedding_completeness_no_symbols_no_embeddings ... ok
[INFO] [stdout] test embedding::tests::extract_line_range_beyond_end ... ok
[INFO] [stdout] test embedding::tests::extract_line_range_first_line ... ok
[INFO] [stdout] test db::tests::test_type_edges_unique_constraint ... ok
[INFO] [stdout] test embedding::tests::extract_line_range_indexed_single_line ... ok
[INFO] [stdout] test embedding::tests::extract_line_range_indexed_to_end ... ok
[INFO] [stdout] test embedding::tests::extract_line_range_single_line ... ok
[INFO] [stdout] test embedding::tests::extract_line_range_to_end_of_file ... ok
[INFO] [stdout] test embedding::tests::normalize_already_unit_vector ... ok
[INFO] [stdout] test embedding::tests::normalize_empty_vector ... ok
[INFO] [stdout] test embedding::tests::mark_embeddings_stale_sets_flag ... ok
[INFO] [stdout] test embedding::tests::normalize_produces_unit_norm ... ok
[INFO] [stdout] test embedding::tests::normalize_zero_vector_stays_zero ... ok
[INFO] [stdout] test embedding::tests::query_all_symbols_returns_all_rows ... ok
[INFO] [stdout] test embedding::tests::query_file_imports_empty_for_unknown_file ... ok
[INFO] [stdout] test embedding::tests::embedding_completeness_symbols_no_embeddings ... ok
[INFO] [stdout] test embedding::tests::query_file_imports_returns_imports_for_file ... ok
[INFO] [stdout] test embedding::tests::query_unembedded_symbols_all_embedded ... ok
[INFO] [stdout] test embedding::tests::query_unembedded_symbols_all_missing ... ok
[INFO] [stdout] test embedding::tests::query_unembedded_symbols_some_embedded ... ok
[INFO] [stdout] test embedding::tests::extract_line_range_multiple_lines ... ok
[INFO] [stdout] test embedding::tests::query_unembedded_symbols_stale_reembedded ... ok
[INFO] [stdout] test embedding::tests::store_embedding_replaces_on_same_symbol ... ok
[INFO] [stdout] test embedding::tests::health_check_returns_false_when_unreachable ... ok
[INFO] [stdout] test embedding::tests::load_all_embeddings_empty_db ... ok
[INFO] [stdout] test embedding::tests::store_embeddings_batch_inserts_all ... ok
[INFO] [stdout] test embedding::tests::store_embedding_round_trip ... ok
[INFO] [stdout] test embedding::tests::test_load_embeddings_for_files_filters_correctly ... ok
[INFO] [stdout] test embedding::tests::test_load_embeddings_for_path_prefix_empty_prefix_matches_all ... ok
[INFO] [stdout] test embedding::tests::test_load_embeddings_for_files_empty_set ... ok
[INFO] [stdout] test embedding::tests::test_load_embeddings_for_path_prefix_all_match ... ok
[INFO] [stdout] test embedding::tests::store_embeddings_batch_is_atomic ... ok
[INFO] [stdout] test embedding::tests::test_load_embeddings_for_path_prefix_excludes_stale ... ok
[INFO] [stdout] test embedding::tests::truncate_at_line_boundary_cuts_at_newline ... ok
[INFO] [stdout] test embedding::tests::test_load_embeddings_for_path_prefix_empty_result ... ok
[INFO] [stdout] test embedding::tests::with_base_url_preserves_clean_url ... ok
[INFO] [stdout] test embedding::tests::with_base_url_trims_trailing_slash ... ok
[INFO] [stdout] test embedding::tests::test_load_embeddings_for_path_prefix_filters_correctly ... ok
[INFO] [stdout] test embedding::tests::truncate_at_line_boundary_cuts_before_partial_line ... ok
[INFO] [stdout] test embedding::tests::truncate_at_line_boundary_no_newline_cuts_at_char ... ok
[INFO] [stdout] test embedding::tests::truncate_at_line_boundary_no_truncation_needed ... ok
[INFO] [stdout] test errors::tests::embedding_error_ollama_error_display ... ok
[INFO] [stdout] test errors::tests::embedding_error_ollama_unreachable_display ... ok
[INFO] [stdout] test errors::tests::embedding_error_storage_failed_display ... ok
[INFO] [stdout] test errors::tests::exit_code_embedding_error ... ok
[INFO] [stdout] test errors::tests::exit_code_general ... ok
[INFO] [stdout] test errors::tests::embedding_error_invalid_response_display ... ok
[INFO] [stdout] test errors::tests::exit_code_io ... ok
[INFO] [stdout] test errors::tests::embedding_error_no_embeddings_display ... ok
[INFO] [stdout] test errors::tests::exit_code_llm_error ... ok
[INFO] [stdout] test errors::tests::exit_code_usage ... ok
[INFO] [stdout] test errors::tests::hint_io_not_found ... ok
[INFO] [stdout] test errors::tests::db_error_display ... ok
[INFO] [stdout] test errors::tests::display_no_debug_formatting ... ok
[INFO] [stdout] test errors::tests::display_usage_error ... ok
[INFO] [stdout] test errors::tests::embedding_error_chunking_failed_display ... ok
[INFO] [stdout] test errors::tests::hint_io_permission ... ok
[INFO] [stdout] test errors::tests::hint_no_embeddings ... ok
[INFO] [stdout] test errors::tests::hint_no_index ... ok
[INFO] [stdout] test errors::tests::hint_ollama_unreachable ... ok
[INFO] [stdout] test errors::tests::hint_storage_failed ... ok
[INFO] [stdout] test errors::tests::llm_error_invalid_response_display ... ok
[INFO] [stdout] test errors::tests::llm_error_model_not_found_display ... ok
[INFO] [stdout] test errors::tests::llm_error_ollama_error_display ... ok
[INFO] [stdout] test errors::tests::llm_error_ollama_unreachable_display ... ok
[INFO] [stdout] test errors::tests::llm_error_query_failed_display ... ok
[INFO] [stdout] test errors::tests::search_error_display ... ok
[INFO] [stdout] test errors::tests::hint_none_for_other ... ok
[INFO] [stdout] test errors::tests::hint_search_failed ... ok
[INFO] [stdout] test errors::tests::hint_llm_ollama_unreachable ... ok
[INFO] [stdout] test errors::tests::hint_llm_query_failed ... ok
[INFO] [stdout] test errors::tests::hint_query_failed ... ok
[INFO] [stdout] test errors::tests::wonk_error_from_db_error ... ok
[INFO] [stdout] test errors::tests::hint_llm_model_not_found ... ok
[INFO] [stdout] test errors::tests::wonk_error_from_embedding_error ... ok
[INFO] [stdout] test errors::tests::wonk_error_from_io_error ... ok
[INFO] [stdout] test errors::tests::wonk_error_from_llm_error ... ok
[INFO] [stdout] test flows::tests::clamp_depth_at_boundary ... ok
[INFO] [stdout] test flows::tests::clamp_depth_exceeds_max ... ok
[INFO] [stdout] test flows::tests::clamp_depth_within_max ... ok
[INFO] [stdout] test errors::tests::wonk_error_from_search_error ... ok
[INFO] [stdout] test flows::tests::flow_options_default_values ... ok
[INFO] [stdout] test flows::tests::detect_entry_points_all_called ... ok
[INFO] [stdout] test flows::tests::detect_entry_points_basic ... ok
[INFO] [stdout] test flows::tests::trace_flow_branching_limit ... ok
[INFO] [stdout] test flows::tests::trace_flow_cycle_terminates ... ok
[INFO] [stdout] test flows::tests::trace_flow_basic ... ok
[INFO] [stdout] test flows::tests::detect_entry_points_multiple ... ok
[INFO] [stdout] test flows::tests::trace_flow_depth_cap ... ok
[INFO] [stdout] test flows::tests::trace_flow_single_step_excluded ... ok
[INFO] [stdout] test impact::tests::build_impact_results_excludes_self_match ... ok
[INFO] [stdout] test impact::tests::build_impact_results_includes_non_self ... ok
[INFO] [stdout] test impact::tests::analyze_impact_empty_embeddings_returns_empty ... ok
[INFO] [stdout] test flows::tests::trace_flow_nonexistent_entry ... ok
[INFO] [stdout] test flows::tests::trace_flow_min_confidence ... ok
[INFO] [stdout] test impact::tests::added_symbol_detected ... ok
[INFO] [stdout] test impact::tests::analyze_impact_unchanged_returns_empty ... ok
[INFO] [stdout] test impact::tests::detect_scoped_files_all ... ok
[INFO] [stdout] test flows::tests::detect_entry_points_from_file ... ok
[INFO] [stdout] test impact::tests::detect_changes_no_changes ... ok
[INFO] [stdout] test impact::tests::detect_changes_removed_symbol ... ok
[INFO] [stdout] test impact::tests::detect_scoped_files_compare_invalid_ref ... ok
[INFO] [stdout] test impact::tests::detect_changes_unstaged_modified ... ok
[INFO] [stdout] test impact::tests::detect_changes_staged_added_symbol ... ok
[INFO] [stdout] test impact::tests::filter_removed_symbols_excluded ... ok
[INFO] [stdout] test impact::tests::file_deleted_all_removed ... ok
[INFO] [stdout] test impact::tests::file_not_in_index_all_added ... ok
[INFO] [stdout] test impact::tests::detect_changes_compare_ref ... ok
[INFO] [stdout] test impact::tests::detect_scoped_files_compare ... ok
[INFO] [stdout] test impact::tests::detect_scoped_files_unstaged ... ok
[INFO] [stdout] test impact::tests::git_diff_invalid_commit_returns_error ... ok
[INFO] [stdout] test impact::tests::git_diff_rejects_empty_commit ... ok
[INFO] [stdout] test impact::tests::git_diff_rejects_flag_injection ... ok
[INFO] [stdout] test impact::tests::git_diff_rejects_special_characters ... ok
[INFO] [stdout] test impact::tests::map_hunks_full_overlap ... ok
[INFO] [stdout] test impact::tests::map_hunks_multiple_symbols ... ok
[INFO] [stdout] test impact::tests::map_hunks_no_duplicate_symbols ... ok
[INFO] [stdout] test impact::tests::detect_scoped_files_staged ... ok
[INFO] [stdout] test impact::tests::map_hunks_partial_overlap_start ... ok
[INFO] [stdout] test impact::tests::map_hunks_symbol_without_end_line ... ok
[INFO] [stdout] test impact::tests::map_hunks_no_overlap ... ok
[INFO] [stdout] test impact::tests::modified_symbol_detected ... ok
[INFO] [stdout] test impact::tests::parse_all_diff_hunks_deletion_only ... ok
[INFO] [stdout] test impact::tests::parse_all_diff_hunks_empty_input ... ok
[INFO] [stdout] test impact::tests::parse_all_diff_hunks_multiple_files ... ok
[INFO] [stdout] test impact::tests::parse_all_diff_hunks_single_file ... ok
[INFO] [stdout] test impact::tests::parse_current_symbols_from_disk ... ok
[INFO] [stdout] test impact::tests::parse_current_symbols_nonexistent_file ... ok
[INFO] [stdout] test impact::tests::get_diff_hunks_for_file_staged ... ok
[INFO] [stdout] test impact::tests::parse_current_symbols_rejects_path_traversal ... ok
[INFO] [stdout] test impact::tests::parse_current_symbols_rejects_absolute_path ... ok
[INFO] [stdout] test impact::tests::parse_diff_hunks_addition_at_end ... ok
[INFO] [stdout] test impact::tests::parse_diff_hunks_deletion_only_skipped ... ok
[INFO] [stdout] test impact::tests::parse_diff_hunks_empty_input ... ok
[INFO] [stdout] test impact::tests::parse_diff_hunks_multi_line_change ... ok
[INFO] [stdout] test impact::tests::parse_diff_hunks_multiple_hunks ... ok
[INFO] [stdout] test impact::tests::parse_diff_hunks_no_count_defaults_to_one ... ok
[INFO] [stdout] test impact::tests::parse_diff_hunks_single_line_change ... ok
[INFO] [stdout] test impact::tests::multiple_changes_detected ... ok
[INFO] [stdout] test impact::tests::get_diff_hunks_for_file_no_changes ... ok
[INFO] [stdout] test impact::tests::path_traversal_rejected ... ok
[INFO] [stdout] test impact::tests::validate_git_ref_accepts_valid_refs ... ok
[INFO] [stdout] test impact::tests::validate_git_ref_rejects_empty ... ok
[INFO] [stdout] test impact::tests::validate_git_ref_rejects_flag_injection ... ok
[INFO] [stdout] test impact::tests::get_diff_hunks_for_file_unstaged ... ok
[INFO] [stdout] test impact::tests::validate_git_ref_rejects_special_characters ... ok
[INFO] [stdout] test indexer::tests::c_call_reference ... ok
[INFO] [stdout] test indexer::tests::c_define_constant ... ok
[INFO] [stdout] test indexer::tests::c_function ... ok
[INFO] [stdout] test indexer::tests::c_include_reference ... ok
[INFO] [stdout] test indexer::tests::c_includes ... ok
[INFO] [stdout] test indexer::tests::confidence_cross_file_default_is_0_50 ... ok
[INFO] [stdout] test indexer::tests::confidence_import_kind_is_0_95 ... ok
[INFO] [stdout] test indexer::tests::confidence_name_in_imports_is_0_95 ... ok
[INFO] [stdout] test indexer::tests::confidence_same_file_definition_is_0_85 ... ok
[INFO] [stdout] test indexer::tests::confidence_same_scope_is_0_80 ... ok
[INFO] [stdout] test indexer::tests::c_struct_and_enum ... ok
[INFO] [stdout] test impact::tests::git_diff_parses_output ... ok
[INFO] [stdout] test indexer::tests::confidence_scope_only_match_is_0_80 ... ok
[INFO] [stdout] test indexer::tests::cpp_call_reference ... ok
[INFO] [stdout] test indexer::tests::cpp_class_with_method ... ok
[INFO] [stdout] test indexer::tests::cpp_include_reference ... ok
[INFO] [stdout] test indexer::tests::cpp_includes ... ok
[INFO] [stdout] test indexer::tests::cpp_struct_and_enum ... ok
[INFO] [stdout] test indexer::tests::cpp_type_edges_extends ... ok
[INFO] [stdout] test indexer::tests::csharp_class_and_methods ... ok
[INFO] [stdout] test indexer::tests::csharp_call_reference ... ok
[INFO] [stdout] test indexer::tests::csharp_const_and_field ... ok
[INFO] [stdout] test indexer::tests::csharp_enum ... ok
[INFO] [stdout] test indexer::tests::cpp_namespace ... ok
[INFO] [stdout] test indexer::tests::csharp_delegate ... ok
[INFO] [stdout] test indexer::tests::csharp_import_reference ... ok
[INFO] [stdout] test impact::tests::scoped_symbols_compared_correctly ... ok
[INFO] [stdout] test indexer::tests::csharp_interface ... ok
[INFO] [stdout] test impact::tests::removed_symbol_detected ... ok
[INFO] [stdout] test indexer::tests::csharp_namespace ... ok
[INFO] [stdout] test indexer::tests::csharp_property ... ok
[INFO] [stdout] test indexer::tests::debug_cpp_class_tree ... ignored
[INFO] [stdout] test indexer::tests::debug_cpp_namespace_tree ... ignored
[INFO] [stdout] test indexer::tests::debug_rust_trait_tree ... ignored
[INFO] [stdout] test indexer::tests::csharp_type_edges_extends ... ok
[INFO] [stdout] test indexer::tests::csharp_struct ... ok
[INFO] [stdout] test indexer::tests::detect_c ... ok
[INFO] [stdout] test indexer::tests::csharp_type_edges_implements ... ok
[INFO] [stdout] test indexer::tests::detect_c_header ... ok
[INFO] [stdout] test indexer::tests::detect_cpp_extensions ... ok
[INFO] [stdout] test indexer::tests::detect_csharp ... ok
[INFO] [stdout] test indexer::tests::detect_go ... ok
[INFO] [stdout] test indexer::tests::detect_javascript_js ... ok
[INFO] [stdout] test indexer::tests::detect_javascript_jsx ... ok
[INFO] [stdout] test indexer::tests::detect_no_extension_returns_none ... ok
[INFO] [stdout] test indexer::tests::detect_php ... ok
[INFO] [stdout] test indexer::tests::detect_python ... ok
[INFO] [stdout] test indexer::tests::detect_ruby ... ok
[INFO] [stdout] test indexer::tests::detect_java ... ok
[INFO] [stdout] test indexer::tests::detect_tsx ... ok
[INFO] [stdout] test indexer::tests::detect_typescript ... ok
[INFO] [stdout] test indexer::tests::detect_unsupported_returns_none ... ok
[INFO] [stdout] test indexer::tests::empty_source_yields_empty_imports ... ok
[INFO] [stdout] test indexer::tests::empty_source_yields_no_references ... ok
[INFO] [stdout] test indexer::tests::enclosing_c ... ok
[INFO] [stdout] test indexer::tests::enclosing_cpp ... ok
[INFO] [stdout] test indexer::tests::enclosing_csharp ... ok
[INFO] [stdout] test indexer::tests::enclosing_go ... ok
[INFO] [stdout] test indexer::tests::enclosing_file_scope_returns_none ... ok
[INFO] [stdout] test indexer::tests::enclosing_javascript ... ok
[INFO] [stdout] test indexer::tests::enclosing_java ... ok
[INFO] [stdout] test indexer::tests::enclosing_js_arrow_function ... ok
[INFO] [stdout] test indexer::tests::enclosing_nested_finds_innermost ... ok
[INFO] [stdout] test indexer::tests::enclosing_php ... ok
[INFO] [stdout] test indexer::tests::enclosing_python ... ok
[INFO] [stdout] test indexer::tests::enclosing_ruby ... ok
[INFO] [stdout] test indexer::tests::enclosing_rust ... ok
[INFO] [stdout] test indexer::tests::enclosing_tsx ... ok
[INFO] [stdout] test indexer::tests::enclosing_type_ref_has_no_caller ... ok
[INFO] [stdout] test indexer::tests::enclosing_typescript ... ok
[INFO] [stdout] test indexer::tests::go_call_reference ... ok
[INFO] [stdout] test indexer::tests::go_const_and_var ... ok
[INFO] [stdout] test indexer::tests::go_function_and_struct ... ok
[INFO] [stdout] test indexer::tests::go_import_reference ... ok
[INFO] [stdout] test indexer::tests::go_imports ... ok
[INFO] [stdout] test indexer::tests::go_interface ... ok
[INFO] [stdout] test indexer::tests::go_method_with_receiver ... ok
[INFO] [stdout] test indexer::tests::go_type_reference ... ok
[INFO] [stdout] test indexer::tests::empty_source_yields_no_symbols ... ok
[INFO] [stdout] test indexer::tests::java_call_reference ... ok
[INFO] [stdout] test indexer::tests::go_exports ... ok
[INFO] [stdout] test indexer::tests::java_class_and_methods ... ok
[INFO] [stdout] test indexer::tests::java_final_field ... ok
[INFO] [stdout] test indexer::tests::java_enum ... ok
[INFO] [stdout] test indexer::tests::java_imports ... ok
[INFO] [stdout] test indexer::tests::java_interface ... ok
[INFO] [stdout] test indexer::tests::java_type_edges_extends ... ok
[INFO] [stdout] test indexer::tests::java_type_edges_implements ... ok
[INFO] [stdout] test indexer::tests::js_arrow_function_const ... ok
[INFO] [stdout] test indexer::tests::js_call_reference ... ok
[INFO] [stdout] test indexer::tests::js_class_with_methods ... ok
[INFO] [stdout] test indexer::tests::js_const_variable ... ok
[INFO] [stdout] test indexer::tests::js_function_declaration ... ok
[INFO] [stdout] test indexer::tests::js_import_reference ... ok
[INFO] [stdout] test indexer::tests::js_imports_and_exports ... ok
[INFO] [stdout] test indexer::tests::js_type_edges_extends ... ok
[INFO] [stdout] test indexer::tests::parse_c_file ... ok
[INFO] [stdout] test indexer::tests::parse_cpp_file ... ok
[INFO] [stdout] test indexer::tests::parse_csharp_file ... ok
[INFO] [stdout] test indexer::tests::detect_rust ... ok
[INFO] [stdout] test indexer::tests::java_type_reference ... ok
[INFO] [stdout] test indexer::tests::parse_javascript_file ... ok
[INFO] [stdout] test indexer::tests::parse_go_file ... ok
[INFO] [stdout] test indexer::tests::parse_java_file ... ok
[INFO] [stdout] test indexer::tests::parse_missing_file_returns_none ... ok
[INFO] [stdout] test indexer::tests::parse_php_file ... ok
[INFO] [stdout] test indexer::tests::parse_ruby_file ... ok
[INFO] [stdout] test indexer::tests::parse_python_file ... ok
[INFO] [stdout] test indexer::tests::parse_rust_file ... ok
[INFO] [stdout] test indexer::tests::parse_typescript_file ... ok
[INFO] [stdout] test indexer::tests::parse_tsx_file ... ok
[INFO] [stdout] test indexer::tests::parse_unsupported_returns_none ... ok
[INFO] [stdout] test indexer::tests::parser_loads_all_grammars ... ok
[INFO] [stdout] test indexer::tests::php_call_reference ... ok
[INFO] [stdout] test indexer::tests::php_function_and_class ... ok
[INFO] [stdout] test indexer::tests::php_interface_and_trait ... ok
[INFO] [stdout] test indexer::tests::php_type_edges_extends ... ok
[INFO] [stdout] test indexer::tests::php_type_edges_implements ... ok
[INFO] [stdout] test indexer::tests::php_type_reference ... ok
[INFO] [stdout] test indexer::tests::preprocess_expands_symbols_inside_cfg_macros ... ok
[INFO] [stdout] test indexer::tests::preprocess_handles_nested_braces ... ok
[INFO] [stdout] test indexer::tests::preprocess_no_op_without_macros ... ok
[INFO] [stdout] test indexer::tests::preprocess_preserves_line_numbers ... ok
[INFO] [stdout] test indexer::tests::preprocess_strips_cfg_macro_wrapper ... ok
[INFO] [stdout] test indexer::tests::python_call_reference ... ok
[INFO] [stdout] test indexer::tests::python_class_annotated_fields ... ok
[INFO] [stdout] test indexer::tests::python_import_aliased ... ok
[INFO] [stdout] test indexer::tests::python_import_from_multiple_names ... ok
[INFO] [stdout] test indexer::tests::python_function_and_class ... ok
[INFO] [stdout] test indexer::tests::python_import_reference ... ok
[INFO] [stdout] test indexer::tests::python_imports ... ok
[INFO] [stdout] test indexer::tests::python_module_level_constants ... ok
[INFO] [stdout] test indexer::tests::python_type_edges_multiple_bases ... ok
[INFO] [stdout] test indexer::tests::python_type_edges_single_base ... ok
[INFO] [stdout] test indexer::tests::reference_context_is_full_source_line ... ok
[INFO] [stdout] test indexer::tests::ruby_call_reference ... ok
[INFO] [stdout] test indexer::tests::ruby_module ... ok
[INFO] [stdout] test indexer::tests::ruby_require_reference ... ok
[INFO] [stdout] test indexer::tests::ruby_requires ... ok
[INFO] [stdout] test indexer::tests::ruby_type_edges_extends ... ok
[INFO] [stdout] test indexer::tests::rust_call_reference ... ok
[INFO] [stdout] test indexer::tests::rust_const_static_type_mod ... ok
[INFO] [stdout] test indexer::tests::rust_exports ... ok
[INFO] [stdout] test indexer::tests::rust_function ... ok
[INFO] [stdout] test indexer::tests::rust_import_reference ... ok
[INFO] [stdout] test indexer::tests::rust_impl_methods ... ok
[INFO] [stdout] test indexer::tests::rust_imports ... ok
[INFO] [stdout] test indexer::tests::rust_struct_and_enum ... ok
[INFO] [stdout] test indexer::tests::java_import_reference ... ok
[INFO] [stdout] test indexer::tests::rust_reference_has_context ... ok
[INFO] [stdout] test indexer::tests::ruby_method_and_class ... ok
[INFO] [stdout] test indexer::tests::rust_trait ... ok
[INFO] [stdout] test indexer::tests::rust_type_edges_impl_no_trait ... ok
[INFO] [stdout] test indexer::tests::rust_type_reference ... ok
[INFO] [stdout] test indexer::tests::symbol_has_correct_position ... ok
[INFO] [stdout] test indexer::tests::rust_type_edges_impl_trait ... ok
[INFO] [stdout] test indexer::tests::truncate_doc_exactly_max_chars_unchanged ... ok
[INFO] [stdout] test indexer::tests::truncate_doc_long_no_space_takes_first_max_chars ... ok
[INFO] [stdout] test indexer::tests::truncate_doc_long_truncates_at_last_space ... ok
[INFO] [stdout] test indexer::tests::symbol_end_line_present ... ok
[INFO] [stdout] test indexer::tests::truncate_doc_nbsp_after_ascii_does_not_panic ... ok
[INFO] [stdout] test indexer::tests::truncate_doc_short_unchanged ... ok
[INFO] [stdout] test indexer::tests::ts_call_reference ... ok
[INFO] [stdout] test indexer::tests::ts_class_with_methods ... ok
[INFO] [stdout] test indexer::tests::ts_function_and_interface ... ok
[INFO] [stdout] test indexer::tests::ts_imports_and_exports ... ok
[INFO] [stdout] test indexer::tests::ts_interface_members_scoped ... ok
[INFO] [stdout] test indexer::tests::ts_type_alias_and_enum ... ok
[INFO] [stdout] test indexer::tests::ts_type_edges_extends ... ok
[INFO] [stdout] test indexer::tests::ts_type_edges_extends_and_implements ... ok
[INFO] [stdout] test indexer::tests::tsx_arrow_component ... ok
[INFO] [stdout] test indexer::tests::tsx_call_and_type_reference ... ok
[INFO] [stdout] test indexer::tests::ts_type_edges_implements ... ok
[INFO] [stdout] test indexer::tests::type_edges_c_produces_none ... ok
[INFO] [stdout] test indexer::tests::type_edges_go_produces_none ... ok
[INFO] [stdout] test indexer::tests::ts_type_reference ... ok
[INFO] [stdout] test impact::tests::git_diff_empty_result ... ok
[INFO] [stdout] test indexer::tests::ts_import_reference ... ok
[INFO] [stdout] test impact::tests::unchanged_file_returns_empty ... ok
[INFO] [stdout] test indexer::tests::csharp_imports ... ok
[INFO] [stdout] test llm::tests::build_prompt_includes_signatures ... ok
[INFO] [stdout] test llm::tests::build_prompt_includes_path ... ok
[INFO] [stdout] test llm::tests::build_prompt_directory_with_deps ... ok
[INFO] [stdout] test llm::tests::cache_miss_returns_none ... ok
[INFO] [stdout] test llm::tests::cache_hit_returns_description ... ok
[INFO] [stdout] test llm::tests::generate_unreachable_returns_error ... ok
[INFO] [stdout] test llm::tests::cache_upsert_on_same_path ... ok
[INFO] [stdout] test mcp::tests::all_tools_have_repo_param ... ok
[INFO] [stdout] test mcp::tests::call_tool_result_error_format ... ok
[INFO] [stdout] test llm::tests::cache_invalidated_by_hash_change ... ok
[INFO] [stdout] test llm::tests::generate_rejects_invalid_url_scheme ... ok
[INFO] [stdout] test llm::tests::sanitize_strips_newlines ... ok
[INFO] [stdout] test mcp::tests::call_tool_result_success_format ... ok
[INFO] [stdout] test mcp::tests::cross_repo_unknown_repo_returns_error ... ok
[INFO] [stdout] test mcp::tests::discover_repos_empty_dir ... ok
[INFO] [stdout] test llm::tests::content_hash_empty_path ... ok
[INFO] [stdout] test mcp::tests::discover_repos_finds_indexed_repo ... ok
[INFO] [stdout] test mcp::tests::discover_repos_nonexistent_dir ... ok
[INFO] [stdout] test mcp::tests::format_result_json_produces_success ... ok
[INFO] [stdout] test mcp::tests::format_result_toon_produces_success ... ok
[INFO] [stdout] test mcp::tests::initialize_response_has_correct_version ... ok
[INFO] [stdout] test mcp::tests::malformed_json_produces_parse_error ... ok
[INFO] [stdout] test mcp::tests::discover_repos_skips_dir_without_index_db ... ok
[INFO] [stdout] test mcp::tests::notification_has_no_id ... ok
[INFO] [stdout] test mcp::tests::parse_request_with_number_id ... ok
[INFO] [stdout] test mcp::tests::parse_request_with_string_id ... ok
[INFO] [stdout] test mcp::tests::registry_lazy_connection_error_on_missing_db ... ok
[INFO] [stdout] test mcp::tests::registry_resolve_ambiguous_name ... ok
[INFO] [stdout] test mcp::tests::registry_resolve_single_match ... ok
[INFO] [stdout] test mcp::tests::registry_resolve_unknown_repo ... ok
[INFO] [stdout] test mcp::tests::repo_param_is_not_required ... ok
[INFO] [stdout] test mcp::tests::require_str_returns_error_when_missing ... ok
[INFO] [stdout] test llm::tests::content_hash_deterministic ... ok
[INFO] [stdout] test mcp::tests::require_str_returns_value_when_present ... ok
[INFO] [stdout] test mcp::tests::resolve_repo_with_unknown_repo_returns_error ... ok
[INFO] [stdout] test mcp::tests::cross_repo_status_query ... ok
[INFO] [stdout] test mcp::tests::resolve_repo_with_valid_repo_opens_connection ... ok
[INFO] [stdout] test mcp::tests::response_serialization_success ... ok
[INFO] [stdout] test mcp::tests::response_serialization_error ... ok
[INFO] [stdout] test mcp::tests::tool_ask_definition_exists ... ok
[INFO] [stdout] test mcp::tests::tool_ask_dispatches_correctly ... ok
[INFO] [stdout] test mcp::tests::cross_repo_sym_query ... ok
[INFO] [stdout] test mcp::tests::tool_blast_dispatches_correctly ... ok
[INFO] [stdout] test mcp::tests::tool_blast_missing_symbol ... ok
[INFO] [stdout] test mcp::tests::tool_callees_definition_schema ... ok
[INFO] [stdout] test mcp::tests::tool_callees_dispatches_correctly ... ok
[INFO] [stdout] test mcp::tests::tool_callers_definition_schema ... ok
[INFO] [stdout] test mcp::tests::tool_callers_dispatches_correctly ... ok
[INFO] [stdout] test mcp::tests::tool_callpath_definition_schema ... ok
[INFO] [stdout] test mcp::tests::tool_callpath_dispatches_correctly ... ok
[INFO] [stdout] test mcp::tests::tool_changes_definition_exists ... ok
[INFO] [stdout] test mcp::tests::tool_changes_definition_schema ... ok
[INFO] [stdout] test mcp::tests::tool_cluster_definition_exists ... ok
[INFO] [stdout] test mcp::tests::tool_cluster_definition_schema ... ok
[INFO] [stdout] test mcp::tests::tool_cluster_dispatches_correctly ... ok
[INFO] [stdout] test mcp::tests::tool_context_definition_exists ... ok
[INFO] [stdout] test mcp::tests::tool_context_definition_schema ... ok
[INFO] [stdout] test mcp::tests::tool_context_missing_name ... ok
[INFO] [stdout] test mcp::tests::tool_ask_definition_schema ... ok
[INFO] [stdout] test mcp::tests::tool_definitions_are_cached ... ok
[INFO] [stdout] test mcp::tests::tool_definitions_count ... ok
[INFO] [stdout] test mcp::tests::tool_definitions_have_valid_schemas ... ok
[INFO] [stdout] test mcp::tests::tool_flows_definition_schema ... ok
[INFO] [stdout] test mcp::tests::tool_flows_list_mode ... ok
[INFO] [stdout] test mcp::tests::tool_blast_definition_schema ... ok
[INFO] [stdout] test mcp::tests::tool_flows_dispatches_correctly ... ok
[INFO] [stdout] test mcp::tests::tool_impact_definition_exists ... ok
[INFO] [stdout] test mcp::tests::tool_impact_dispatches_correctly ... ok
[INFO] [stdout] test mcp::tests::tool_repos_definition_exists ... ok
[INFO] [stdout] test mcp::tests::tool_ref_has_output_param ... ok
[INFO] [stdout] test mcp::tests::tool_repos_dispatches_and_returns_empty_list ... ok
[INFO] [stdout] test mcp::tests::tool_impact_definition_schema ... ok
[INFO] [stdout] test mcp::tests::tool_search_no_semantic_param ... ok
[INFO] [stdout] test mcp::tests::tool_show_definition_schema ... ok
[INFO] [stdout] test mcp::tests::tool_show_dispatches_correctly ... ok
[INFO] [stdout] test mcp::tests::cross_repo_ref_query ... ok
[INFO] [stdout] test mcp::tests::tool_status_includes_embedding_fields ... ok
[INFO] [stdout] test mcp::tests::tool_summary_definition_schema ... ok
[INFO] [stdout] test mcp::tests::registry_lazy_connection_opens_and_caches ... ok
[INFO] [stdout] test mcp::tests::resolve_repo_defaults_to_working_dir ... ok
[INFO] [stdout] test mcp::tests::tool_summary_missing_path ... ok
[INFO] [stdout] test mcp::tests::tool_summary_dispatches_correctly ... ok
[INFO] [stdout] test mcp::tests::tool_update_definition_exists ... ok
[INFO] [stdout] test mcp::tests::tool_show_budget_truncates ... ok
[INFO] [stdout] test mcp::tests::tool_update_excluded_from_repo_injection ... ok
[INFO] [stdout] test llm::tests::content_hash_directory ... ok
[INFO] [stdout] test mcp::tests::unknown_tool_returns_error ... ok
[INFO] [stdout] test output::tests::blast_from_analysis ... ok
[INFO] [stdout] test output::tests::blast_grep_format ... ok
[INFO] [stdout] test output::tests::blast_json_format ... ok
[INFO] [stdout] test output::tests::budget_applies_to_symbol_output ... ok
[INFO] [stdout] test output::tests::budget_tracks_used_tokens ... ok
[INFO] [stdout] test output::tests::budget_truncates_search_results_grep_mode ... ok
[INFO] [stdout] test output::tests::budget_truncates_search_results_json_mode ... ok
[INFO] [stdout] test output::tests::callee_grep_format ... ok
[INFO] [stdout] test mcp::tests::tools_list_returns_twenty_three_tools ... ok
[INFO] [stdout] test output::tests::callee_json_format ... ok
[INFO] [stdout] test output::tests::callee_json_includes_confidence ... ok
[INFO] [stdout] test output::tests::callee_json_omits_null_source_file ... ok
[INFO] [stdout] test output::tests::caller_grep_format ... ok
[INFO] [stdout] test output::tests::caller_json_format ... ok
[INFO] [stdout] test output::tests::caller_json_includes_confidence ... ok
[INFO] [stdout] test output::tests::caller_json_omits_null_target_file ... ok
[INFO] [stdout] test output::tests::callpath_grep_format ... ok
[INFO] [stdout] test output::tests::callpath_json_format ... ok
[INFO] [stdout] test output::tests::changes_output_grep_format_basic ... ok
[INFO] [stdout] test output::tests::changes_output_grep_format_with_blast ... ok
[INFO] [stdout] test output::tests::changes_output_grep_format_with_flows ... ok
[INFO] [stdout] test output::tests::changes_output_json_serialization ... ok
[INFO] [stdout] test output::tests::cluster_member_budget_truncation ... ok
[INFO] [stdout] test output::tests::cluster_member_grep_format ... ok
[INFO] [stdout] test output::tests::cluster_member_json_format ... ok
[INFO] [stdout] test output::tests::cluster_output_json_format ... ok
[INFO] [stdout] test output::tests::color_dep_format ... ok
[INFO] [stdout] test output::tests::color_false_produces_identical_search_output ... ok
[INFO] [stdout] test output::tests::color_file_list_format ... ok
[INFO] [stdout] test output::tests::color_symbol_format ... ok
[INFO] [stdout] test output::tests::color_wraps_file_path_in_magenta_bold ... ok
[INFO] [stdout] test output::tests::color_wraps_line_number_in_green ... ok
[INFO] [stdout] test output::tests::dep_grep_format ... ok
[INFO] [stdout] test output::tests::dep_json_format ... ok
[INFO] [stdout] test output::tests::dep_toon_format ... ok
[INFO] [stdout] test output::tests::file_list_grep_format ... ok
[INFO] [stdout] test output::tests::file_list_json_format ... ok
[INFO] [stdout] test output::tests::file_list_toon_format ... ok
[INFO] [stdout] test output::tests::flow_entry_grep_format ... ok
[INFO] [stdout] test output::tests::flow_entry_json_format ... ok
[INFO] [stdout] test output::tests::flow_grep_format ... ok
[INFO] [stdout] test output::tests::flow_json_format ... ok
[INFO] [stdout] test output::tests::format_context_from_symbol_context_type ... ok
[INFO] [stdout] test output::tests::format_context_grep_shows_children ... ok
[INFO] [stdout] test output::tests::format_context_grep_shows_definition ... ok
[INFO] [stdout] test output::tests::format_context_json_serializes ... ok
[INFO] [stdout] test output::tests::format_context_multiple_symbols_separated ... ok
[INFO] [stdout] test output::tests::format_error_returns_exit_code_1_for_general_error ... ok
[INFO] [stdout] test output::tests::format_error_returns_exit_code_2_for_usage_error ... ok
[INFO] [stdout] test output::tests::format_error_suppresses_hint_in_json_mode ... ok
[INFO] [stdout] test output::tests::from_search_result_helper ... ok
[INFO] [stdout] test output::tests::from_search_result_sets_source_none ... ok
[INFO] [stdout] test output::tests::impact_entry_grep_format ... ok
[INFO] [stdout] test output::tests::impact_entry_json_format ... ok
[INFO] [stdout] test output::tests::impact_full_json_output ... ok
[INFO] [stdout] test output::tests::json_escapes_special_characters ... ok
[INFO] [stdout] test output::tests::json_output_has_no_ansi_codes_even_with_color ... ok
[INFO] [stdout] test output::tests::color_wraps_separator_in_cyan ... ok
[INFO] [stdout] test output::tests::match_highlighting_case_insensitive ... ok
[INFO] [stdout] test mcp::tests::tool_repos_returns_registered_repos_with_stats ... ok
[INFO] [stdout] test output::tests::match_highlighting_wraps_literal_matches ... ok
[INFO] [stdout] test mcp::tests::tool_summary_with_indexed_repo ... ok
[INFO] [stdout] test output::tests::mode_indicator_suppressed ... ok
[INFO] [stdout] test output::tests::mode_indicator_text_search ... ok
[INFO] [stdout] test output::tests::match_highlighting_works_for_regex_patterns ... ok
[INFO] [stdout] test output::tests::multiple_search_results_grep ... ok
[INFO] [stdout] test output::tests::multiple_search_results_ndjson ... ok
[INFO] [stdout] test output::tests::no_budget_means_all_results_written ... ok
[INFO] [stdout] test output::tests::no_highlighting_when_pattern_does_not_match ... ok
[INFO] [stdout] test output::tests::reference_toon_format ... ok
[INFO] [stdout] test output::tests::search_result_annotation_in_json ... ok
[INFO] [stdout] test output::tests::search_result_grep_format ... ok
[INFO] [stdout] test output::tests::search_result_json_format ... ok
[INFO] [stdout] test output::tests::search_result_json_includes_source_when_set ... ok
[INFO] [stdout] test output::tests::search_result_json_skips_annotation_when_none ... ok
[INFO] [stdout] test output::tests::search_result_json_skips_source_when_none ... ok
[INFO] [stdout] test output::tests::search_result_toon_format ... ok
[INFO] [stdout] test output::tests::search_result_with_annotation_grep_format ... ok
[INFO] [stdout] test output::tests::search_result_with_colon_in_content ... ok
[INFO] [stdout] test output::tests::search_result_without_annotation_no_trailing_space ... ok
[INFO] [stdout] test output::tests::semantic_result_budget_truncation ... ok
[INFO] [stdout] test output::tests::semantic_result_grep_format ... ok
[INFO] [stdout] test output::tests::semantic_result_json_format ... ok
[INFO] [stdout] test output::tests::semantic_result_toon_format ... ok
[INFO] [stdout] test output::tests::show_grep_colorized_line_numbers ... ok
[INFO] [stdout] test output::tests::reference_grep_format ... ok
[INFO] [stdout] test output::tests::show_grep_format_numbered_lines ... ok
[INFO] [stdout] test output::tests::reference_json_format ... ok
[INFO] [stdout] test output::tests::show_grep_single_line ... ok
[INFO] [stdout] test output::tests::mode_indicator_smart_with_symbols ... ok
[INFO] [stdout] test output::tests::signature_json_format ... ok
[INFO] [stdout] test output::tests::signature_toon_format ... ok
[INFO] [stdout] test output::tests::summary_grep_format_shows_metrics ... ok
[INFO] [stdout] test output::tests::summary_grep_with_children ... ok
[INFO] [stdout] test output::tests::summary_json_format ... ok
[INFO] [stdout] test output::tests::summary_json_omits_empty_children ... ok
[INFO] [stdout] test output::tests::summary_json_omits_null_description ... ok
[INFO] [stdout] test output::tests::summary_output_from_result_outline ... ok
[INFO] [stdout] test output::tests::summary_output_from_result_rich ... ok
[INFO] [stdout] test output::tests::show_json_format ... ok
[INFO] [stdout] test output::tests::show_json_skips_end_line_when_none ... ok
[INFO] [stdout] test output::tests::signature_grep_format ... ok
[INFO] [stdout] test output::tests::symbol_json_format ... ok
[INFO] [stdout] test output::tests::symbol_grep_format ... ok
[INFO] [stdout] test output::tests::symbol_json_skips_none_optional_fields ... ok
[INFO] [stdout] test output::tests::symbol_toon_format ... ok
[INFO] [stdout] test output::tests::toon_output_has_no_ansi_codes ... ok
[INFO] [stdout] test output::tests::truncated_caps_at_max_lines ... ok
[INFO] [stdout] test output::tests::truncated_json_includes_fields_when_set ... ok
[INFO] [stdout] test output::tests::truncated_json_skips_fields_when_none ... ok
[INFO] [stdout] test output::tests::truncated_returns_none_below_min ... ok
[INFO] [stdout] test output::tests::truncated_returns_none_when_fits ... ok
[INFO] [stdout] test output::tests::truncation_meta_json_format ... ok
[INFO] [stdout] test output::tests::truncation_meta_serializes_all_fields ... ok
[INFO] [stdout] test mcp::tests::tool_update_dispatches_correctly ... ok
[INFO] [stdout] test mcp::tests::tool_summary_with_depth ... ok
[INFO] [stdout] test mcp::tests::tool_summary_outline_detail ... ok
[INFO] [stdout] test pipeline::tests::test_build_index_caller_count ... ok
[INFO] [stdout] test pipeline::tests::test_build_index_delegates_to_with_progress ... ok
[INFO] [stdout] test pipeline::tests::test_build_index_meta_json ... ok
[INFO] [stdout] test pipeline::tests::test_build_index_fts_populated ... ok
[INFO] [stdout] test pipeline::tests::test_build_index_central_mode ... ok
[INFO] [stdout] test pipeline::tests::test_build_index_basic ... ok
[INFO] [stdout] test pipeline::tests::test_build_embeddings_ollama_unreachable_skips ... ok
[INFO] [stdout] test pipeline::tests::test_build_index_populates_db ... ok
[INFO] [stdout] test pipeline::tests::test_build_index_type_edges_unresolvable ... ok
[INFO] [stdout] test pipeline::tests::test_build_index_type_edges ... ok
[INFO] [stdout] test pipeline::tests::test_build_missing_embeddings_no_symbols_returns_ok ... ok
[INFO] [stdout] test pipeline::tests::test_embedding_build_stats_struct ... ok
[INFO] [stdout] test pipeline::tests::test_empty_repo ... ok
[INFO] [stdout] test pipeline::tests::test_build_missing_embeddings_ollama_unreachable_returns_error ... ok
[INFO] [stdout] test pipeline::tests::test_build_index_stores_imports ... ok
[INFO] [stdout] test pipeline::tests::test_build_index_with_progress_sets_total_and_done ... ok
[INFO] [stdout] test pipeline::tests::test_index_new_file ... ok
[INFO] [stdout] test pipeline::tests::test_content_hash_changes_with_content ... ok
[INFO] [stdout] test pipeline::tests::test_drop_all_data_clears_embeddings ... ok
[INFO] [stdout] test pipeline::tests::test_index_stores_confidence_values ... ok
[INFO] [stdout] test pipeline::tests::test_index_new_file_unsupported_extension ... ok
[INFO] [stdout] test pipeline::tests::test_process_events_handles_type_edges ... ok
[INFO] [stdout] test pipeline::tests::test_process_events_empty_batch ... ok
[INFO] [stdout] test pipeline::tests::test_process_events_unchanged_file ... ok
[INFO] [stdout] test pipeline::tests::test_process_events_returns_changed_files ... ok
[INFO] [stdout] test pipeline::tests::test_process_events_mixed_batch ... ok
[INFO] [stdout] test pipeline::tests::test_process_events_continues_on_error ... ok
[INFO] [stdout] test pipeline::tests::test_rebuild_index_recalculates_confidence_and_type_edges ... ok
[INFO] [stdout] test pipeline::tests::test_reembed_changed_files_deleted_file_skipped ... ok
[INFO] [stdout] test pipeline::tests::test_reembed_changed_files_empty_list_is_noop ... ok
[INFO] [stdout] test pipeline::tests::test_reembed_changed_files_ollama_unreachable_marks_stale ... ok
[INFO] [stdout] test pipeline::tests::test_references_inserted ... ok
[INFO] [stdout] test pipeline::tests::test_rebuild_index_with_progress ... ok
[INFO] [stdout] test pipeline::tests::test_rebuild_index ... ok
[INFO] [stdout] test pipeline::tests::test_rebuild_clears_imports ... ok
[INFO] [stdout] test pipeline::tests::test_reindex_file_unchanged_skips ... ok
[INFO] [stdout] test pipeline::tests::test_reindex_file_updates_fts ... ok
[INFO] [stdout] test pipeline::tests::test_reindex_file_no_double_symbols ... ok
[INFO] [stdout] test pipeline::tests::test_reindex_file_updates_imports ... ok
[INFO] [stdout] test pipeline::tests::test_reindex_file_replaces_old_symbols ... ok
[INFO] [stdout] test pipeline::tests::test_reindex_file_changed_updates ... ok
[INFO] [stdout] test pipeline::tests::test_remove_file_deletes_type_edges ... ok
[INFO] [stdout] test pipeline::tests::test_reindex_file_updates_type_edges ... ok
[INFO] [stdout] test pipeline::tests::test_remove_file_nonexistent_is_ok ... ok
[INFO] [stdout] test pipeline::tests::test_remove_file_leaves_other_files_intact ... ok
[INFO] [stdout] test progress::tests::test_detect_mode_suppress_returns_silent ... ok
[INFO] [stdout] test pipeline::tests::test_remove_file_deletes_all_data ... ok
[INFO] [stdout] test pipeline::tests::test_remove_file_deletes_imports ... ok
[INFO] [stdout] test progress::tests::test_finish_silent_does_not_panic ... ok
[INFO] [stdout] test progress::tests::test_finish_summary_includes_type_edges_when_nonzero ... ok
[INFO] [stdout] test progress::tests::test_inc_increments_done ... ok
[INFO] [stdout] test pipeline::tests::test_reindex_file_updates_metadata ... ok
[INFO] [stdout] test progress::tests::test_progress_label_stored ... ok
[INFO] [stdout] test progress::tests::test_progress_mode_enum_values ... ok
[INFO] [stdout] test progress::tests::test_progress_mode_silent_new ... ok
[INFO] [stdout] test progress::tests::test_set_total ... ok
[INFO] [stdout] test progress::tests::test_silent_inc_no_panic ... ok
[INFO] [stdout] test ranker::tests::category_header_mappings ... ok
[INFO] [stdout] test progress::tests::test_finish_summary_omits_type_edges_when_zero ... ok
[INFO] [stdout] test progress::tests::test_inc_thread_safe ... ok
[INFO] [stdout] test ranker::tests::classified_result_sorts_by_category_then_file_then_line ... ok
[INFO] [stdout] test progress::tests::test_progress_new_with_label ... ok
[INFO] [stdout] test ranker::tests::classify_comment_by_content ... ok
[INFO] [stdout] test ranker::tests::classification_priority_import_over_comment ... ok
[INFO] [stdout] test ranker::tests::classify_import_by_content ... ok
[INFO] [stdout] test ranker::tests::classify_other_default ... ok
[INFO] [stdout] test ranker::tests::classify_preserves_original_result ... ok
[INFO] [stdout] test ranker::tests::classify_test_by_path ... ok
[INFO] [stdout] test ranker::tests::classify_without_connection ... ok
[INFO] [stdout] test ranker::tests::dedup_collapses_import_reexports_when_definition_exists ... ok
[INFO] [stdout] test ranker::tests::dedup_keeps_all_when_no_definition_exists ... ok
[INFO] [stdout] test ranker::tests::dedup_keeps_all_when_no_imports ... ok
[INFO] [stdout] test ranker::tests::dedup_single_import_not_collapsed ... ok
[INFO] [stdout] test ranker::tests::fuse_rrf_both_lists_document_in_both ... ok
[INFO] [stdout] test ranker::tests::fuse_rrf_custom_k ... ok
[INFO] [stdout] test ranker::tests::fuse_rrf_empty_inputs ... ok
[INFO] [stdout] test ranker::tests::fuse_rrf_semantic_only ... ok
[INFO] [stdout] test ranker::tests::fuse_rrf_semantic_outranks_structural ... ok
[INFO] [stdout] test ranker::tests::fuse_rrf_sorted_descending ... ok
[INFO] [stdout] test ranker::tests::fuse_rrf_structural_only ... ok
[INFO] [stdout] test ranker::tests::fused_result_construction ... ok
[INFO] [stdout] test ranker::tests::fused_source_display ... ok
[INFO] [stdout] test ranker::tests::group_by_category_groups_and_preserves_order ... ok
[INFO] [stdout] test ranker::tests::group_by_category_omits_empty_categories ... ok
[INFO] [stdout] test ranker::tests::is_comment_line_heuristics ... ok
[INFO] [stdout] test ranker::tests::is_import_line_heuristics ... ok
[INFO] [stdout] test ranker::tests::is_test_file_heuristics ... ok
[INFO] [stdout] test ranker::tests::rank_and_dedup_full_pipeline ... ok
[INFO] [stdout] test ranker::tests::rank_results_sorts_by_tier ... ok
[INFO] [stdout] test ranker::tests::result_category_display ... ok
[INFO] [stdout] test ranker::tests::result_category_ord_matches_tier ... ok
[INFO] [stdout] test ranker::tests::tier_ordering_definition_first ... ok
[INFO] [stdout] test ranker::tests::tier_ordering_full_sequence ... ok
[INFO] [stdout] test router::tests::test_db_error_no_index_display ... ok
[INFO] [stdout] test ranker::tests::classify_call_site_from_index ... ok
[INFO] [stdout] test ranker::tests::classification_priority_test_over_definition ... ok
[INFO] [stdout] test ranker::tests::classify_definition_from_index ... ok
[INFO] [stdout] test router::tests::test_detect_search_mode_auto_no_symbols ... ok
[INFO] [stdout] test router::tests::test_detect_search_mode_auto_with_symbols ... ok
[INFO] [stdout] test pipeline::tests::test_unsupported_files_skipped ... ok
[INFO] [stdout] test router::tests::test_detect_search_mode_raw_always_plain ... ok
[INFO] [stdout] test router::tests::test_detect_search_mode_smart_always_ranked ... ok
[INFO] [stdout] test router::tests::test_extract_symbol_name_class ... ok
[INFO] [stdout] test router::tests::test_extract_symbol_name_fn ... ok
[INFO] [stdout] test router::tests::test_extract_symbol_name_def ... ok
[INFO] [stdout] test router::tests::test_extract_symbol_name_pub_fn ... ok
[INFO] [stdout] test router::tests::test_fetch_semantic_no_conn_returns_empty ... ok
[INFO] [stdout] test pipeline::tests::test_upsert_preserves_confidence ... ok
[INFO] [stdout] test pipeline::tests::test_remove_file_updates_fts ... ok
[INFO] [stdout] test router::tests::test_import_grep_pattern ... ok
[INFO] [stdout] test router::tests::test_is_query_command_ask ... ok
[INFO] [stdout] test router::tests::test_is_query_command_blast ... ok
[INFO] [stdout] test router::tests::test_is_query_command_callees ... ok
[INFO] [stdout] test router::tests::test_is_query_command_callers ... ok
[INFO] [stdout] test router::tests::test_deps_output_grep_format ... ok
[INFO] [stdout] test router::tests::test_is_query_command_callpath ... ok
[INFO] [stdout] test router::tests::test_fetch_semantic_with_embeddings_does_not_panic ... ok
[INFO] [stdout] test router::tests::test_is_query_command_cluster ... ok
[INFO] [stdout] test router::tests::test_is_query_command_changes ... ok
[INFO] [stdout] test router::tests::test_is_query_command_context ... ok
[INFO] [stdout] test router::tests::test_is_query_command_deps ... ok
[INFO] [stdout] test router::tests::test_is_query_command_flows ... ok
[INFO] [stdout] test router::tests::test_is_query_command_impact ... ok
[INFO] [stdout] test router::tests::test_is_query_command_impact_with_since ... ok
[INFO] [stdout] test router::tests::test_is_query_command_not_init ... ok
[INFO] [stdout] test router::tests::test_is_query_command_not_status ... ok
[INFO] [stdout] test router::tests::test_is_query_command_not_update ... ok
[INFO] [stdout] test router::tests::test_is_query_command_search ... ok
[INFO] [stdout] test router::tests::test_is_query_command_sym ... ok
[INFO] [stdout] test router::tests::test_ref_context_lines_included ... ok
[INFO] [stdout] test router::tests::test_deps_output_json_format ... ok
[INFO] [stdout] test router::tests::test_fetch_semantic_no_embeddings_returns_empty ... ok
[INFO] [stdout] test router::tests::test_deps_dispatch_from_db ... ok
[INFO] [stdout] test router::tests::test_ref_output_grep_format ... ok
[INFO] [stdout] test router::tests::test_ref_db_returns_results_without_fallback ... ok
[INFO] [stdout] test router::tests::test_ref_output_json_format ... ok
[INFO] [stdout] test router::tests::test_reference_grep_pattern ... ok
[INFO] [stdout] test router::tests::test_regex_escape ... ok
[INFO] [stdout] test router::tests::test_router_grep_only_mode ... ok
[INFO] [stdout] test router::tests::test_ref_dispatch_grep_fallback_finds_references ... ok
[INFO] [stdout] test router::tests::test_ref_dispatch_path_restriction ... ok
[INFO] [stdout] test router::tests::test_ref_db_fallback_to_grep_on_empty ... ok
[INFO] [stdout] test router::tests::test_router_query_rdeps_excludes_self ... ok
[INFO] [stdout] test router::tests::test_router_query_deps_from_db ... ok
[INFO] [stdout] test router::tests::test_router_query_deps_grep_fallback ... ok
[INFO] [stdout] test router::tests::test_router_query_references_db_path_filtering ... ok
[INFO] [stdout] test router::tests::test_router_query_rdeps_from_db ... ok
[INFO] [stdout] test router::tests::test_router_query_deps_empty_when_no_imports ... ok
[INFO] [stdout] test router::tests::test_rdeps_dispatch_from_db ... ok
[INFO] [stdout] test router::tests::test_router_query_references_grep_fallback ... ok
[INFO] [stdout] test router::tests::test_import_pattern_matches_multiple_languages ... ok
[INFO] [stdout] test router::tests::test_router_query_references_from_db ... ok
[INFO] [stdout] test router::tests::test_router_query_rdeps_grep_fallback ... ok
[INFO] [stdout] test router::tests::test_router_query_signatures_from_db ... ok
[INFO] [stdout] test router::tests::test_router_query_symbols_from_db ... ok
[INFO] [stdout] test router::tests::test_router_query_symbols_grep_kind_filter ... ok
[INFO] [stdout] test router::tests::test_search_error_display ... ok
[INFO] [stdout] test router::tests::test_router_query_symbols_from_db_substring ... ok
[INFO] [stdout] test router::tests::test_router_query_symbols_from_db_with_kind ... ok
[INFO] [stdout] test router::tests::test_router_query_symbols_in_file_from_db ... ok
[INFO] [stdout] test router::tests::test_router_query_signatures_grep_fallback ... ok
[INFO] [stdout] test router::tests::test_signature_grep_pattern ... ok
[INFO] [stdout] test router::tests::test_split_qualified_colons_preferred_over_dots ... ok
[INFO] [stdout] test router::tests::test_split_qualified_dot_nested ... ok
[INFO] [stdout] test router::tests::test_split_qualified_dot_style ... ok
[INFO] [stdout] test router::tests::test_split_qualified_mixed_colons_and_dot ... ok
[INFO] [stdout] test router::tests::test_split_qualified_no_separator ... ok
[INFO] [stdout] test router::tests::test_split_qualified_rust_single_prefix ... ok
[INFO] [stdout] test router::tests::test_split_qualified_rust_style ... ok
[INFO] [stdout] test router::tests::test_split_qualified_trailing_colons ... ok
[INFO] [stdout] test router::tests::test_split_qualified_trailing_dot ... ok
[INFO] [stdout] test router::tests::test_status_info_format_no_index ... ok
[INFO] [stdout] test router::tests::test_status_info_format_ollama_unreachable ... ok
[INFO] [stdout] test router::tests::test_status_info_format_with_embeddings ... ok
[INFO] [stdout] test router::tests::test_sym_dispatch_exact_match ... ok
[INFO] [stdout] test router::tests::test_sig_dispatch_from_db ... ok
[INFO] [stdout] test router::tests::test_sym_dispatch_grep_format ... ok
[INFO] [stdout] test router::tests::test_router_db_fallback_on_empty_results ... ok
[INFO] [stdout] test router::tests::test_sym_dispatch_json_format_all_fields ... ok
[INFO] [stdout] test router::tests::test_sym_dispatch_json_optional_fields_omitted ... ok
[INFO] [stdout] test router::tests::test_sym_dispatch_kind_filter ... ok
[INFO] [stdout] test router::tests::test_symbol_grep_pattern ... ok
[INFO] [stdout] test router::tests::test_symbol_kind_grep_pattern_class ... ok
[INFO] [stdout] test router::tests::test_symbol_kind_grep_pattern_function ... ok
[INFO] [stdout] test router::tests::test_sym_dispatch_substring_match ... ok
[INFO] [stdout] test router::tests::test_sig_dispatch_grep_format ... ok
[INFO] [stdout] test router::tests::test_sig_dispatch_no_results ... ok
[INFO] [stdout] test router::tests::test_sig_dispatch_json_format ... ok
[INFO] [stdout] test router::tests::test_symbol_pattern_matches_go ... ok
[INFO] [stdout] test router::tests::test_router_query_symbols_grep_fallback ... ok
[INFO] [stdout] test router::tests::test_sym_dispatch_grep_fallback ... ok
[INFO] [stdout] test router::tests::test_symbol_pattern_matches_javascript ... ok
[INFO] [stdout] test router::tests::test_wonk_error_from_db_error ... ok
[INFO] [stdout] test router::tests::test_wonk_error_from_embedding_error ... ok
[INFO] [stdout] test router::tests::test_wonk_error_from_io_error ... ok
[INFO] [stdout] test router::tests::test_wonk_error_from_search_error ... ok
[INFO] [stdout] test search::tests::case_insensitive_search ... ok
[INFO] [stdout] test search::tests::case_sensitive_search ... ok
[INFO] [stdout] test search::tests::content_has_no_trailing_newline ... ok
[INFO] [stdout] test search::tests::dot_prefix_is_stripped_from_paths ... ok
[INFO] [stdout] test search::tests::literal_mode_does_not_interpret_regex_metacharacters ... ok
[INFO] [stdout] test search::tests::literal_search_finds_exact_match ... ok
[INFO] [stdout] test search::tests::looks_like_regex_detects_alternation ... ok
[INFO] [stdout] test search::tests::looks_like_regex_detects_backslash_escapes ... ok
[INFO] [stdout] test search::tests::looks_like_regex_detects_character_classes ... ok
[INFO] [stdout] test search::tests::looks_like_regex_detects_escaped_dot ... ok
[INFO] [stdout] test search::tests::looks_like_regex_ignores_edge_pipe ... ok
[INFO] [stdout] test search::tests::looks_like_regex_ignores_plain_text ... ok
[INFO] [stdout] test search::tests::multiple_paths ... ok
[INFO] [stdout] test search::tests::no_matches_returns_empty_vec ... ok
[INFO] [stdout] test search::tests::path_restriction_works ... ok
[INFO] [stdout] test search::tests::regex_mode_interprets_dot_as_wildcard ... ok
[INFO] [stdout] test router::tests::test_symbol_pattern_matches_python ... ok
[INFO] [stdout] test search::tests::search_result_fields ... ok
[INFO] [stdout] test search::tests::skips_binary_files ... ok
[INFO] [stdout] test semantic::tests::dedup_semantic_all_overlap ... ok
[INFO] [stdout] test semantic::tests::dedup_semantic_empty_input ... ok
[INFO] [stdout] test semantic::tests::dedup_semantic_preserves_non_overlapping ... ok
[INFO] [stdout] test semantic::tests::dedup_semantic_removes_overlapping_results ... ok
[INFO] [stdout] test semantic::tests::dot_product_basic ... ok
[INFO] [stdout] test semantic::tests::dot_product_empty ... ok
[INFO] [stdout] test semantic::tests::dot_product_identical_normalized ... ok
[INFO] [stdout] test semantic::tests::dot_product_opposite ... ok
[INFO] [stdout] test semantic::tests::dot_product_orthogonal ... ok
[INFO] [stdout] test semantic::tests::resolve_results_basic_join ... ok
[INFO] [stdout] test semantic::tests::resolve_results_empty_input ... ok
[INFO] [stdout] test semantic::tests::resolve_results_preserves_score_order ... ok
[INFO] [stdout] test semantic::tests::resolve_results_skips_missing_symbols ... ok
[INFO] [stdout] test semantic::tests::semantic_search_correct_scores ... ok
[INFO] [stdout] test semantic::tests::semantic_search_empty_embeddings ... ok
[INFO] [stdout] test router::tests::test_symbol_pattern_matches_php ... ok
[INFO] [stdout] test router::tests::test_symbol_pattern_matches_java ... ok
[INFO] [stdout] test semantic::tests::semantic_search_sorted_descending ... ok
[INFO] [stdout] test semantic::tests::semantic_search_zero_limit ... ok
[INFO] [stdout] test semantic::tests::test_compute_reachable_files_both_intersect ... ok
[INFO] [stdout] test semantic::tests::semantic_search_respects_limit ... ok
[INFO] [stdout] test semantic::tests::test_compute_reachable_files_none_when_no_flags ... ok
[INFO] [stdout] test semantic::tests::test_compute_reachable_files_from_only ... ok
[INFO] [stdout] test semantic::tests::test_compute_reachable_files_to_only ... ok
[INFO] [stdout] test semantic::tests::test_from_flag_filters_embeddings_to_reachable_files ... ok
[INFO] [stdout] test semantic::tests::test_reachable_from_cycle ... ok
[INFO] [stdout] test semantic::tests::test_reachable_from_includes_self ... ok
[INFO] [stdout] test semantic::tests::test_reachable_from_linear_chain ... ok
[INFO] [stdout] test semantic::tests::test_reachable_from_stem_matching ... ok
[INFO] [stdout] test semantic::tests::test_reachable_from_complex_graph ... ok
[INFO] [stdout] test semantic::tests::test_reachable_from_unknown_file ... ok
[INFO] [stdout] test semantic::tests::test_reachable_to_diamond ... ok
[INFO] [stdout] test semantic::tests::test_reachable_to_transitive_chain ... ok
[INFO] [stdout] test semantic::tests::test_reachable_to_includes_self ... ok
[INFO] [stdout] test semantic::tests::test_to_flag_filters_embeddings_to_reverse_reachable ... ok
[INFO] [stdout] test show::tests::escape_like_wildcards ... ok
[INFO] [stdout] test router::tests::test_symbol_pattern_matches_ruby ... ok
[INFO] [stdout] test show::tests::extract_lines_basic ... ok
[INFO] [stdout] test show::tests::extract_lines_single ... ok
[INFO] [stdout] test router::tests::test_symbol_pattern_matches_typescript ... ok
[INFO] [stdout] test show::tests::basic_function_show ... ok
[INFO] [stdout] test show::tests::exact_match_filters_correctly ... ok
[INFO] [stdout] test show::tests::file_filter ... ok
[INFO] [stdout] test show::tests::kind_filter ... ok
[INFO] [stdout] test search::tests::regex_search ... ok
[INFO] [stdout] test show::tests::no_end_line_fallback_to_signature_via_db ... ok
[INFO] [stdout] test show::tests::multiple_symbols_same_file_cached ... ok
[INFO] [stdout] test show::tests::no_matches_returns_empty ... ok
[INFO] [stdout] test show::tests::missing_source_file_skipped ... ok
[INFO] [stdout] test show::tests::shallow_non_container_shows_full_body ... ok
[INFO] [stdout] test show::tests::shallow_no_children_shows_signature_only ... ok
[INFO] [stdout] test show::tests::shallow_python_class_shows_annotated_fields ... ok
[INFO] [stdout] test show::tests::show_file_directory_prefix ... ok
[INFO] [stdout] test show::tests::show_file_excludes_scoped_symbols ... ok
[INFO] [stdout] test show::tests::show_file_no_match_returns_empty ... ok
[INFO] [stdout] test show::tests::shallow_struct_shows_child_signatures ... ok
[INFO] [stdout] test show::tests::show_file_returns_top_level_symbols ... ok
[INFO] [stdout] test show::tests::show_file_respects_shallow_mode ... ok
[INFO] [stdout] test show::tests::substring_match_finds_multiple ... ok
[INFO] [stdout] test summary::tests::summary_cached_description_returned ... ok
[INFO] [stdout] test summary::tests::summary_depth_one_shows_children ... ok
[INFO] [stdout] test summary::tests::summary_dependency_count ... ok
[INFO] [stdout] test summary::tests::summary_depth_zero_no_children ... ok
[INFO] [stdout] test summary::tests::summary_auto_llm_graceful_degradation ... ok
[INFO] [stdout] test summary::tests::summary_description_only_at_top_level ... ok
[INFO] [stdout] test summary::tests::summary_directory ... ok
[INFO] [stdout] test summary::tests::summary_detail_level_propagated ... ok
[INFO] [stdout] test summary::tests::summary_normalize_path ... ok
[INFO] [stdout] test summary::tests::summary_file_toplevel_has_symbols ... ok
[INFO] [stdout] test summary::tests::summary_empty_path_returns_zero_metrics ... ok
[INFO] [stdout] test router::tests::test_symbol_pattern_matches_rust ... ok
[INFO] [stdout] test summary::tests::summary_outline_excludes_methods ... ok
[INFO] [stdout] test summary::tests::summary_rich_depth1_includes_file_symbols ... ok
[INFO] [stdout] test summary::tests::summary_single_file ... ok
[INFO] [stdout] test summary::tests::summary_directory_does_not_match_prefix_files ... ok
[INFO] [stdout] test summary::tests::summary_rich_includes_all_symbols_tree ... ok
[INFO] [stdout] test summary::tests::summary_multi_language ... ok
[INFO] [stdout] test summary::tests::summary_rich_depth1_includes_import_edges ... ok
[INFO] [stdout] test types::tests::blast_affected_symbol_creation ... ok
[INFO] [stdout] test types::tests::blast_analysis_creation ... ok
[INFO] [stdout] test types::tests::blast_direction_display ... ok
[INFO] [stdout] test types::tests::blast_direction_from_str ... ok
[INFO] [stdout] test types::tests::blast_risk_level_display ... ok
[INFO] [stdout] test summary::tests::summary_outline_includes_import_edges ... ok
[INFO] [stdout] test types::tests::blast_severity_display ... ok
[INFO] [stdout] test types::tests::blast_tier_creation ... ok
[INFO] [stdout] test types::tests::callee_result_creation ... ok
[INFO] [stdout] test types::tests::callee_result_equality_by_value ... ok
[INFO] [stdout] test types::tests::caller_result_creation ... ok
[INFO] [stdout] test types::tests::caller_result_equality_by_value ... ok
[INFO] [stdout] test types::tests::blast_risk_level_ordering ... ok
[INFO] [stdout] test types::tests::callpath_hop_equality_by_value ... ok
[INFO] [stdout] test types::tests::blast_analysis_equality ... ok
[INFO] [stdout] test types::tests::callpath_hop_creation ... ok
[INFO] [stdout] test types::tests::change_scope_display_all ... ok
[INFO] [stdout] test types::tests::change_analysis_empty ... ok
[INFO] [stdout] test types::tests::change_scope_display_compare ... ok
[INFO] [stdout] test types::tests::change_scope_display_staged ... ok
[INFO] [stdout] test types::tests::change_scope_display_unstaged ... ok
[INFO] [stdout] test types::tests::detail_level_display_round_trip ... ok
[INFO] [stdout] test types::tests::detail_level_from_str_invalid ... ok
[INFO] [stdout] test types::tests::execution_flow_creation ... ok
[INFO] [stdout] test types::tests::change_analysis_creation ... ok
[INFO] [stdout] test types::tests::execution_flow_equality_by_value ... ok
[INFO] [stdout] test types::tests::flow_step_creation ... ok
[INFO] [stdout] test types::tests::flow_step_equality_by_value ... ok
[INFO] [stdout] test types::tests::impact_result_creation ... ok
[INFO] [stdout] test types::tests::impact_result_equality_by_value ... ok
[INFO] [stdout] test types::tests::is_container_false_for_non_container_kinds ... ok
[INFO] [stdout] test types::tests::is_container_true_for_container_kinds ... ok
[INFO] [stdout] test types::tests::raw_type_edge_creation ... ok
[INFO] [stdout] test types::tests::change_scope_equality ... ok
[INFO] [stdout] test types::tests::raw_type_edge_equality ... ok
[INFO] [stdout] test types::tests::reference_confidence_field ... ok
[INFO] [stdout] test summary::tests::summary_with_trailing_slash ... ok
[INFO] [stdout] test summary::tests::summary_with_dot_slash_prefix ... ok
[INFO] [stdout] test types::tests::reference_default_confidence ... ok
[INFO] [stdout] test types::tests::show_result_creation ... ok
[INFO] [stdout] test types::tests::show_result_without_end_line ... ok
[INFO] [stdout] test types::tests::summary_path_type_display_round_trip ... ok
[INFO] [stdout] test types::tests::summary_result_creation ... ok
[INFO] [stdout] test types::tests::summary_result_with_children ... ok
[INFO] [stdout] test types::tests::symbol_context_creation ... ok
[INFO] [stdout] test types::tests::symbol_context_equality ... ok
[INFO] [stdout] test types::tests::symbol_context_with_children ... ok
[INFO] [stdout] test types::tests::symbol_ref_creation ... ok
[INFO] [stdout] test types::tests::show_result_equality_by_value ... ok
[INFO] [stdout] test types::tests::summary_metrics_creation ... ok
[INFO] [stdout] test types::tests::symbol_ref_from_changed_symbol ... ok
[INFO] [stdout] test walker::tests::config_ignore_multiple_patterns ... ok
[INFO] [stdout] test walker::tests::config_ignore_patterns_exclude_files ... ok
[INFO] [stdout] test walker::tests::config_patterns_parallel_matches_sequential ... ok
[INFO] [stdout] test walker::tests::config_ignore_patterns_exclude_directories ... ok
[INFO] [stdout] test walker::tests::root_git_dir_is_not_skipped ... ok
[INFO] [stdout] test walker::tests::path_restriction_works ... ok
[INFO] [stdout] test walker::tests::skips_default_exclusions ... ok
[INFO] [stdout] test walker::tests::skips_hidden_except_github ... ok
[INFO] [stdout] test walker::tests::skips_nested_git_directory ... ok
[INFO] [stdout] test walker::tests::empty_ignore_patterns_changes_nothing ... ok
[INFO] [stdout] test summary::tests::summary_unlimited_depth ... ok
[INFO] [stdout] test walker::tests::wonkignore_excludes_matching_files ... ok
[INFO] [stdout] test walker::tests::skips_nested_git_file_worktree ... ok
[INFO] [stdout] test walker::tests::wonkignore_excludes_directories ... ok
[INFO] [stdout] test walker::tests::wonkignore_in_subdirectory ... ok
[INFO] [stdout] test walker::tests::respects_gitignore ... ok
[INFO] [stdout] test walker::tests::wonkignore_and_config_patterns_combine ... ok
[INFO] [stdout] test watcher::tests::test_classify_event_existing_file ... ok
[INFO] [stdout] test watcher::tests::test_file_event_path_created ... ok
[INFO] [stdout] test watcher::tests::test_file_event_path_deleted ... ok
[INFO] [stdout] test watcher::tests::test_file_event_path_modified ... ok
[INFO] [stdout] test watcher::tests::test_classify_event_nonexistent_file ... ok
[INFO] [stdout] test walker::tests::worktree_exclusion_coexists_with_default_exclusions ... ok
[INFO] [stdout] test walker::tests::wonkignore_parallel_matches_sequential ... ok
[INFO] [stdout] test walker::tests::parallel_walk_finds_same_files ... ok
[INFO] [stdout] test watcher::tests::test_ignore_matcher_combined_sources ... ok
[INFO] [stdout] test watcher::tests::test_ignore_matcher_config_patterns ... ok
[INFO] [stdout] test watcher::tests::test_ignore_matcher_empty_ignores_nothing ... ok
[INFO] [stdout] test watcher::tests::test_ignore_matcher_git_info_exclude ... ok
[INFO] [stdout] test watcher::tests::test_ignore_matcher_gitignore_patterns ... ok
[INFO] [stdout] test watcher::tests::test_ignore_matcher_negation_pattern ... ok
[INFO] [stdout] test watcher::tests::test_ignore_matcher_subdirectory_scoping ... ok
[INFO] [stdout] test watcher::tests::test_ignore_matcher_wonkignore_patterns ... ok
[INFO] [stdout] test watcher::tests::test_run_event_loop_exits_on_disconnect ... ok
[INFO] [stdout] test watcher::tests::test_run_event_loop_exits_on_shutdown ... ok
[INFO] [stdout] test walker::tests::worktree_boundary_parallel_matches_sequential ... ok
[INFO] [stdout] test watcher::tests::test_run_event_loop_processes_events ... ok
[INFO] [stdout] test watcher::tests::test_should_process_allows_github_directory ... ok
[INFO] [stdout] test watcher::tests::test_should_process_allows_own_repo_files ... ok
[INFO] [stdout] test watcher::tests::test_should_process_allows_top_level_file_with_nested_worktree ... ok
[INFO] [stdout] test watcher::tests::test_should_process_empty_path ... ok
[INFO] [stdout] test watcher::tests::test_should_process_nested_source_file ... ok
[INFO] [stdout] test watcher::tests::test_should_process_normal_source_file ... ok
[INFO] [stdout] test watcher::tests::test_should_process_preserves_git_dir_rejection ... ok
[INFO] [stdout] test watcher::tests::test_should_process_rejects_build ... ok
[INFO] [stdout] test watcher::tests::test_should_process_rejects_deep_exclusion ... ok
[INFO] [stdout] test watcher::tests::test_should_process_rejects_deep_hidden ... ok
[INFO] [stdout] test watcher::tests::test_should_process_rejects_deeply_nested_worktree ... ok
[INFO] [stdout] test watcher::tests::test_should_process_rejects_dist ... ok
[INFO] [stdout] test watcher::tests::test_should_process_rejects_git_dir ... ok
[INFO] [stdout] test watcher::tests::test_should_process_rejects_hidden_config_dir ... ok
[INFO] [stdout] test watcher::tests::test_should_process_rejects_hidden_directory ... ok
[INFO] [stdout] test watcher::tests::test_should_process_rejects_nested_worktree_git_dir ... ok
[INFO] [stdout] test watcher::tests::test_should_process_rejects_nested_worktree_git_file ... ok
[INFO] [stdout] test watcher::tests::test_should_process_rejects_node_modules ... ok
[INFO] [stdout] test watcher::tests::test_should_process_rejects_pycache ... ok
[INFO] [stdout] test watcher::tests::test_should_process_rejects_target ... ok
[INFO] [stdout] test watcher::tests::test_should_process_rejects_vendor ... ok
[INFO] [stdout] test watcher::tests::test_should_process_rejects_venv ... ok
[INFO] [stdout] test watcher::tests::test_should_process_top_level_file ... ok
[INFO] [stdout] test watcher::tests::test_run_event_loop_skips_empty_batches ... ok
[INFO] [stdout] test watcher::tests::test_file_watcher_creates_and_receives_events ... ok
[INFO] [stdout] test watcher::tests::test_file_watcher_respects_gitignore_via_ignore_matcher ... ok
[INFO] [stdout] test watcher::tests::test_file_watcher_filters_excluded_paths ... ok
[INFO] [stdout] test watcher::tests::test_file_watcher_filters_nested_worktree_events ... ok
[INFO] [stdout] test semantic::tests::semantic_search_large_input_performance ... ok
[INFO] [stdout] test cluster::tests::cluster_cap_at_20 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1311 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 35.61s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/wonk-3130cbb27496a316)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/ask_integration.rs (/opt/rustwide/target/debug/deps/ask_integration-e09f263cbed4c140)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test ask_returns_json_results ... ignored
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/mcp_integration.rs (/opt/rustwide/target/debug/deps/mcp_integration-be605917dff93ac5)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test mcp_server_initialize_and_list_tools ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.22s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/worktree_integration.rs (/opt/rustwide/target/debug/deps/worktree_integration-71a696deb2f127f4)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test req_002_nested_worktree_nearest_root_wins ... ok
[INFO] [stdout] test req_004_parent_watcher_ignores_nested_worktree_events ... ok
[INFO] [stdout] test req_001_find_repo_root_accepts_git_file ... ok
[INFO] [stdout] test req_003_parent_index_excludes_nested_worktree_files ... ok
[INFO] [stdout] test req_005_separate_indexes_per_worktree ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests wonk
[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" "7108ba3b8bc280ca6c829e09b5b8fc40f99b3d31bc503b6945d70fdd84973067", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7108ba3b8bc280ca6c829e09b5b8fc40f99b3d31bc503b6945d70fdd84973067", kill_on_drop: false }`
[INFO] [stdout] 7108ba3b8bc280ca6c829e09b5b8fc40f99b3d31bc503b6945d70fdd84973067
