[INFO] cloning repository https://github.com/MonsieurBarti/code-graph-ai [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/MonsieurBarti/code-graph-ai" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMonsieurBarti%2Fcode-graph-ai", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMonsieurBarti%2Fcode-graph-ai'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] a10891175df6d0ef4c7f65c85dc4aaca8b96bf55 [INFO] testing MonsieurBarti/code-graph-ai against try#8da20828b6ea601dfd8e2448cb50ace88876bd78 for pr-150933 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMonsieurBarti%2Fcode-graph-ai" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/MonsieurBarti/code-graph-ai [INFO] finished tweaking git repo https://github.com/MonsieurBarti/code-graph-ai [INFO] tweaked toml for git repo https://github.com/MonsieurBarti/code-graph-ai written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/MonsieurBarti/code-graph-ai on toolchain 8da20828b6ea601dfd8e2448cb50ace88876bd78 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8da20828b6ea601dfd8e2448cb50ace88876bd78" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/MonsieurBarti/code-graph-ai 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" "+8da20828b6ea601dfd8e2448cb50ace88876bd78" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:cfa559dde23f44738f9990739aaa3487d8df3af37eb5df0572f7cf76004a604a" "/opt/rustwide/cargo-home/bin/cargo" "+8da20828b6ea601dfd8e2448cb50ace88876bd78" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 4e149301ef47a206de419219382a24f3b961f33f118a66928e52d365741aaa5e [INFO] running `Command { std: "docker" "start" "-a" "4e149301ef47a206de419219382a24f3b961f33f118a66928e52d365741aaa5e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4e149301ef47a206de419219382a24f3b961f33f118a66928e52d365741aaa5e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4e149301ef47a206de419219382a24f3b961f33f118a66928e52d365741aaa5e", kill_on_drop: false }` [INFO] [stdout] 4e149301ef47a206de419219382a24f3b961f33f118a66928e52d365741aaa5e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:cfa559dde23f44738f9990739aaa3487d8df3af37eb5df0572f7cf76004a604a" "/opt/rustwide/cargo-home/bin/cargo" "+8da20828b6ea601dfd8e2448cb50ace88876bd78" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 843fecd77ea0b8aa0025628e32f7270e7e27fb2f3564b7b2c9ee5bd1e94bc391 [INFO] running `Command { std: "docker" "start" "-a" "843fecd77ea0b8aa0025628e32f7270e7e27fb2f3564b7b2c9ee5bd1e94bc391", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling unicode-ident v1.0.24 [INFO] [stderr] Compiling quote v1.0.44 [INFO] [stderr] Compiling find-msvc-tools v0.1.9 [INFO] [stderr] Compiling libc v0.2.182 [INFO] [stderr] Compiling zmij v1.0.21 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling tree-sitter-language v0.1.7 [INFO] [stderr] Compiling itoa v1.0.17 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling ident_case v1.0.1 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling cc v1.2.56 [INFO] [stderr] Compiling futures-core v0.3.32 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling futures-sink v0.3.32 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling zerocopy v0.8.40 [INFO] [stderr] Compiling regex-syntax v0.8.9 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling getrandom v0.4.1 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling futures-io v0.3.32 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling futures-task v0.3.32 [INFO] [stderr] Compiling ref-cast v1.0.25 [INFO] [stderr] Compiling anstyle-parse v0.2.7 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling colorchoice v1.0.4 [INFO] [stderr] Compiling iana-time-zone v0.1.65 [INFO] [stderr] Compiling bytes v1.11.1 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling rayon-core v1.13.0 [INFO] [stderr] Compiling anstyle-query v1.1.5 [INFO] [stderr] Compiling anstyle v1.0.13 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling inotify-sys v0.1.5 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling socket2 v0.6.2 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.2 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling anstream v0.6.21 [INFO] [stderr] Compiling inotify v0.11.0 [INFO] [stderr] Compiling bstr v1.12.1 [INFO] [stderr] Compiling notify-types v2.1.0 [INFO] [stderr] Compiling dyn-clone v1.0.20 [INFO] [stderr] Compiling tree-sitter-typescript v0.23.2 [INFO] [stderr] Compiling tree-sitter-python v0.25.0 [INFO] [stderr] Compiling tree-sitter-javascript v0.25.0 [INFO] [stderr] Compiling tree-sitter-go v0.25.0 [INFO] [stderr] Compiling tree-sitter-rust v0.24.0 [INFO] [stderr] Compiling web-time v1.1.0 [INFO] [stderr] Compiling virtue v0.0.18 [INFO] [stderr] Compiling rmcp v0.16.0 [INFO] [stderr] Compiling cached_proc_macro_types v0.1.1 [INFO] [stderr] Compiling anyhow v1.0.102 [INFO] [stderr] Compiling toml_write v0.1.2 [INFO] [stderr] Compiling clap_lex v1.0.0 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling winnow v0.7.14 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling clap_builder v4.5.60 [INFO] [stderr] Compiling bincode_derive v2.0.1 [INFO] [stderr] Compiling dashmap v6.1.0 [INFO] [stderr] Compiling fxhash v0.2.1 [INFO] [stderr] Compiling notify v8.2.0 [INFO] [stderr] Compiling json-strip-comments v1.0.4 [INFO] [stderr] Compiling tempfile v3.25.0 [INFO] [stderr] Compiling unicode-segmentation v1.12.0 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling streaming-iterator v0.1.9 [INFO] [stderr] Compiling rustc-hash v2.1.1 [INFO] [stderr] Compiling code-graph-cli v2.0.0 (/opt/rustwide/workdir) [INFO] [stderr] Compiling fixedbitset v0.4.2 [INFO] [stderr] Compiling pastey v0.2.1 [INFO] [stderr] Compiling deunicode v1.6.2 [INFO] [stderr] Compiling unty v0.0.4 [INFO] [stderr] Compiling rayon v1.11.0 [INFO] [stderr] Compiling notify-debouncer-mini v0.7.0 [INFO] [stderr] Compiling glob v0.3.3 [INFO] [stderr] Compiling stop-words v0.9.0 [INFO] [stderr] Compiling tree-sitter v0.26.5 [INFO] [stderr] Compiling darling_core v0.20.11 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling serde_derive_internals v0.29.1 [INFO] [stderr] Compiling globset v0.4.18 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling ignore v0.4.25 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling ref-cast-impl v1.0.25 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling schemars_derive v1.2.1 [INFO] [stderr] Compiling clap_derive v4.5.55 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling darling_macro v0.20.11 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Compiling darling v0.20.11 [INFO] [stderr] Compiling cached_proc_macro v0.25.0 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling clap v4.5.60 [INFO] [stderr] Compiling rmcp-macros v0.16.0 [INFO] [stderr] Compiling cached v0.56.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling rust-stemmers v1.2.0 [INFO] [stderr] Compiling petgraph v0.6.5 [INFO] [stderr] Compiling oxc_resolver v3.0.3 [INFO] [stderr] Compiling bincode v2.0.1 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling futures v0.3.32 [INFO] [stderr] Compiling schemars v1.2.1 [INFO] [stderr] Compiling bm25 v2.3.2 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 25.26s [INFO] running `Command { std: "docker" "inspect" "843fecd77ea0b8aa0025628e32f7270e7e27fb2f3564b7b2c9ee5bd1e94bc391", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "843fecd77ea0b8aa0025628e32f7270e7e27fb2f3564b7b2c9ee5bd1e94bc391", kill_on_drop: false }` [INFO] [stdout] 843fecd77ea0b8aa0025628e32f7270e7e27fb2f3564b7b2c9ee5bd1e94bc391 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:cfa559dde23f44738f9990739aaa3487d8df3af37eb5df0572f7cf76004a604a" "/opt/rustwide/cargo-home/bin/cargo" "+8da20828b6ea601dfd8e2448cb50ace88876bd78" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9ddd21b4ff31f7e563890282e8dbeade655c31f005b9a319d56ef1d564469852 [INFO] running `Command { std: "docker" "start" "-a" "9ddd21b4ff31f7e563890282e8dbeade655c31f005b9a319d56ef1d564469852", kill_on_drop: false }` [INFO] [stderr] Compiling code-graph-cli v2.0.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 10.40s [INFO] running `Command { std: "docker" "inspect" "9ddd21b4ff31f7e563890282e8dbeade655c31f005b9a319d56ef1d564469852", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9ddd21b4ff31f7e563890282e8dbeade655c31f005b9a319d56ef1d564469852", kill_on_drop: false }` [INFO] [stdout] 9ddd21b4ff31f7e563890282e8dbeade655c31f005b9a319d56ef1d564469852 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:cfa559dde23f44738f9990739aaa3487d8df3af37eb5df0572f7cf76004a604a" "/opt/rustwide/cargo-home/bin/cargo" "+8da20828b6ea601dfd8e2448cb50ace88876bd78" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] ed77aa438cb603affe4ac20b2c2eafc57a31516eb56c398150f0f4174d9fdf2b [INFO] running `Command { std: "docker" "start" "-a" "ed77aa438cb603affe4ac20b2c2eafc57a31516eb56c398150f0f4174d9fdf2b", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.20s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/code_graph-aa12378c2969b4a4) [INFO] [stdout] [INFO] [stdout] running 471 tests [INFO] [stdout] test config::tests::test_impact_config_defaults ... ok [INFO] [stdout] test cli::tests::test_mcp_accepts_watch_flag ... ok [INFO] [stdout] test cli::tests::test_mcp_without_watch_flag ... ok [INFO] [stdout] test cli::tests::test_mcp_with_path_and_watch ... ok [INFO] [stdout] test cli::tests::test_setup_no_hooks_flag ... ok [INFO] [stdout] test cli::tests::test_setup_hooks_flag ... ok [INFO] [stdout] test cli::tests::test_setup_skills_flag ... ok [INFO] [stdout] test cli::tests::test_setup_no_skills_flag ... ok [INFO] [stdout] test config::tests::test_impact_config_from_toml ... ok [INFO] [stdout] test config::tests::test_impact_config_partial ... ok [INFO] [stdout] test cli::tests::test_snapshot_create_parses ... ok [INFO] [stdout] test config::tests::test_mcp_config_absent ... ok [INFO] [stdout] test cli::tests::test_snapshot_list_parses ... ok [INFO] [stdout] test cli::tests::test_snapshot_delete_parses ... ok [INFO] [stdout] test cache::envelope::tests::test_load_missing_cache_returns_none ... ok [INFO] [stdout] test config::tests::test_mcp_config_defaults ... ok [INFO] [stdout] test config::tests::test_mcp_config_full ... ok [INFO] [stdout] test graph::node::tests::test_classify_asset_files ... ok [INFO] [stdout] test graph::node::tests::test_classify_ci_files ... ok [INFO] [stdout] test config::tests::test_mcp_config_partial ... ok [INFO] [stdout] test graph::node::tests::test_classify_config_files ... ok [INFO] [stdout] test graph::node::tests::test_classify_doc_files ... ok [INFO] [stdout] test cache::envelope::tests::test_roundtrip_cache ... ok [INFO] [stdout] test config::tests::test_mcp_config_invalid_type ... ok [INFO] [stdout] test graph::node::tests::test_classify_other_files ... ok [INFO] [stdout] test graph::node::tests::test_classify_special_names ... ok [INFO] [stdout] test graph::node::tests::test_classify_source_files ... ok [INFO] [stdout] test graph::tests::test_add_child_symbol ... ok [INFO] [stdout] test graph::tests::test_add_builtin_node_dedup ... ok [INFO] [stdout] test graph::tests::test_add_duplicate_file_returns_same_index ... ok [INFO] [stdout] test graph::tests::test_add_file_and_symbol ... ok [INFO] [stdout] test graph::tests::test_add_resolved_import_creates_edge ... ok [INFO] [stdout] test graph::node::tests::test_file_kind_default_is_source ... ok [INFO] [stdout] test graph::tests::test_add_external_package_dedup ... ok [INFO] [stdout] test graph::tests::test_file_info_has_crate_name_field ... ok [INFO] [stdout] test graph::tests::test_add_unresolved_import_creates_node_and_edge ... ok [INFO] [stdout] test graph::tests::test_split_identifier_camel_case ... ok [INFO] [stdout] test graph::tests::test_split_identifier_already_lowercase ... ok [INFO] [stdout] test graph::tests::test_split_identifier_snake_case ... ok [INFO] [stdout] test graph::tests::test_rebuild_bm25_index_empty_graph ... ok [INFO] [stdout] test graph::tests::test_symbols_by_kind ... ok [INFO] [stdout] test language::tests::test_from_str_loose ... ok [INFO] [stdout] test language::tests::test_matches_extension ... ok [INFO] [stdout] test graph::tests::test_rebuild_bm25_index_populates_from_symbols ... ok [INFO] [stdout] test mcp::hints::tests::test_batch_hint_empty ... ok [INFO] [stdout] test mcp::hints::tests::test_batch_hint_nonempty ... ok [INFO] [stdout] test mcp::hints::tests::test_batch_hint_starts_with_newline ... ok [INFO] [stdout] test language::tests::test_detect_js_project ... ok [INFO] [stdout] test language::tests::test_detect_mixed_project ... ok [INFO] [stdout] test mcp::hints::tests::test_cluster_hint_empty ... ok [INFO] [stdout] test mcp::hints::tests::test_circular_hint_no_cycles ... ok [INFO] [stdout] test language::tests::test_detect_one_level_deep ... ok [INFO] [stdout] test mcp::hints::tests::test_cluster_hint_nonempty ... ok [INFO] [stdout] test mcp::hints::tests::test_context_hint ... ok [INFO] [stdout] test language::tests::test_detect_ts_project ... ok [INFO] [stdout] test mcp::hints::tests::test_decorator_hint_empty ... ok [INFO] [stdout] test mcp::hints::tests::test_decorator_hint_truncated ... ok [INFO] [stdout] test mcp::hints::tests::test_dead_code_hint_with_dead_code ... ok [INFO] [stdout] test mcp::hints::tests::test_dead_code_hint_no_dead_code ... ok [INFO] [stdout] test mcp::hints::tests::test_diff_hint_no_changes ... ok [INFO] [stdout] test mcp::hints::tests::test_diff_hint_with_changes ... ok [INFO] [stdout] test mcp::hints::tests::test_file_summary_hint ... ok [INFO] [stdout] test mcp::hints::tests::test_file_summary_hint_starts_with_newline ... ok [INFO] [stdout] test mcp::hints::tests::test_find_hint_many_results ... ok [INFO] [stdout] test mcp::hints::tests::test_find_hint_single_result ... ok [INFO] [stdout] test mcp::hints::tests::test_find_hint_multiple_results ... ok [INFO] [stdout] test mcp::hints::tests::test_find_hint_truncated ... ok [INFO] [stdout] test mcp::hints::tests::test_flow_hint_no_paths ... ok [INFO] [stdout] test language::tests::test_detect_rust_project ... ok [INFO] [stdout] test mcp::hints::tests::test_flow_hint_with_paths ... ok [INFO] [stdout] test mcp::hints::tests::test_hints_start_with_newline ... ok [INFO] [stdout] test mcp::hints::tests::test_impact_hint ... ok [INFO] [stdout] test mcp::hints::tests::test_imports_hint ... ok [INFO] [stdout] test mcp::hints::tests::test_imports_hint_starts_with_newline ... ok [INFO] [stdout] test mcp::hints::tests::test_list_projects_hint ... ok [INFO] [stdout] test mcp::hints::tests::test_refs_hint ... ok [INFO] [stdout] test mcp::hints::tests::test_register_project_hint ... ok [INFO] [stdout] test mcp::hints::tests::test_rename_hint_empty ... ok [INFO] [stdout] test mcp::hints::tests::test_rename_hint_nonempty ... ok [INFO] [stdout] test mcp::hints::tests::test_stats_hint ... ok [INFO] [stdout] test mcp::hints::tests::test_structure_hint_starts_with_newline ... ok [INFO] [stdout] test mcp::hints::tests::test_structure_hint_with_path ... ok [INFO] [stdout] test mcp::hints::tests::test_structure_hint_without_path ... ok [INFO] [stdout] test mcp::server::tests::test_dispatch_find_clusters ... ok [INFO] [stdout] test mcp::server::tests::test_dispatch_find_dead_code ... ok [INFO] [stdout] test mcp::server::tests::test_dispatch_list_projects_in_batch ... ok [INFO] [stdout] test mcp::server::tests::test_dispatch_missing_required_param ... ok [INFO] [stdout] test mcp::server::tests::test_dispatch_plan_rename ... ok [INFO] [stdout] test mcp::server::tests::test_dispatch_register_project_not_in_batch ... ok [INFO] [stdout] test mcp::server::tests::test_dispatch_plan_rename_missing_param ... ok [INFO] [stdout] test mcp::server::tests::test_dispatch_trace_flow ... ok [INFO] [stdout] test mcp::server::tests::test_dispatch_unknown_tool_updated ... ok [INFO] [stdout] test mcp::server::tests::test_dispatch_trace_flow_missing_param ... ok [INFO] [stdout] test mcp::server::tests::test_format_query_header_no_params ... ok [INFO] [stdout] test mcp::server::tests::test_dispatch_unknown_tool ... ok [INFO] [stdout] test mcp::server::tests::test_format_query_header_with_params ... ok [INFO] [stdout] test mcp::server::tests::test_format_query_header_null_params_skipped ... ok [INFO] [stdout] test mcp::server::tests::test_get_prompt_architecture_map ... ok [INFO] [stdout] test mcp::server::tests::test_get_prompt_impact_analysis ... ok [INFO] [stdout] test mcp::server::tests::test_get_prompt_refactor_check ... ok [INFO] [stdout] test mcp::server::tests::test_jaccard_disjoint_sets ... ok [INFO] [stdout] test mcp::server::tests::test_get_prompt_unknown_returns_error ... ok [INFO] [stdout] test mcp::server::tests::test_jaccard_identical_sets ... ok [INFO] [stdout] test mcp::server::tests::test_jaccard_empty_sets ... ok [INFO] [stdout] test mcp::server::tests::test_list_prompts_returns_three ... ok [INFO] [stdout] test mcp::server::tests::test_jaccard_partial_overlap ... ok [INFO] [stdout] test mcp::server::tests::test_list_resources_includes_clusters ... ok [INFO] [stdout] test mcp::server::tests::test_list_resources_returns_two ... ok [INFO] [stdout] test mcp::server::tests::test_read_resource_schema ... ok [INFO] [stdout] test mcp::server::tests::test_read_resource_unknown_returns_error ... ok [INFO] [stdout] test mcp::server::tests::test_resolve_limit_explicit_overrides_config ... ok [INFO] [stdout] test mcp::server::tests::test_suggest_fuzzy_typo_mystruct ... ok [INFO] [stdout] test mcp::server::tests::test_resolve_limit_none_uses_config ... ok [INFO] [stdout] test mcp::server::tests::test_resolve_sections_both_none ... ok [INFO] [stdout] test mcp::server::tests::test_suggest_fuzzy_unrelated_query ... ok [INFO] [stdout] test mcp::server::tests::test_resolve_sections_explicit_overrides_config ... ok [INFO] [stdout] test mcp::server::tests::test_resolve_sections_none_uses_config ... ok [INFO] [stdout] test mcp::server::tests::test_suggest_fuzzy_score_threshold ... ok [INFO] [stdout] test mcp::server::tests::test_suggest_fuzzy_max_three_results ... ok [INFO] [stdout] test mcp::server::tests::test_suggest_fuzzy_short_query ... ok [INFO] [stdout] test mcp::server::tests::test_suggest_fuzzy_sorted_by_score ... ok [INFO] [stdout] test mcp::server::tests::test_trigrams_case_insensitive ... ok [INFO] [stdout] test mcp::server::tests::test_trigrams_exactly_three_chars ... ok [INFO] [stdout] test mcp::server::tests::test_trigrams_normal_string ... ok [INFO] [stdout] test mcp::server::tests::test_trigrams_short_strings ... ok [INFO] [stdout] test parser::go_imports::tests::test_go_import_aliased ... ok [INFO] [stdout] test parser::go_imports::tests::test_go_import_block ... ok [INFO] [stdout] test parser::go_imports::tests::test_go_import_dot ... ok [INFO] [stdout] test parser::go_imports::tests::test_go_import_line_numbers ... ok [INFO] [stdout] test parser::go_imports::tests::test_go_import_multi_block ... ok [INFO] [stdout] test parser::go_imports::tests::test_go_import_blank ... ok [INFO] [stdout] test parser::go_imports::tests::test_go_import_simple ... ok [INFO] [stdout] test parser::go_imports::tests::test_go_import_path_with_domain ... ok [INFO] [stdout] test mcp::server::tests::test_get_info_has_resources_capability ... ok [INFO] [stdout] test mcp::server::tests::test_get_info_has_prompts_capability ... ok [INFO] [stdout] test mcp::server::tests::test_get_info_describes_auto_indexing ... ok [INFO] [stdout] test mcp::server::tests::test_server_loads_mcp_config ... ok [INFO] [stdout] test mcp::server::tests::test_watch_disabled_by_default ... ok [INFO] [stdout] test mcp::server::tests::test_watch_enabled_when_flag_set ... ok [INFO] [stdout] test parser::go_symbols::tests::test_go_const_single ... ok [INFO] [stdout] test parser::go_symbols::tests::test_go_init_function ... ok [INFO] [stdout] test parser::go_symbols::tests::test_go_function ... ok [INFO] [stdout] test parser::go_symbols::tests::test_go_async_function_not_special ... ok [INFO] [stdout] test parser::go_symbols::tests::test_go_interface ... ok [INFO] [stdout] test parser::go_symbols::tests::test_go_const_block_multiple ... ok [INFO] [stdout] test parser::go_symbols::tests::test_go_line_end ... ok [INFO] [stdout] test parser::go_symbols::tests::test_go_compiler_directive ... ok [INFO] [stdout] test parser::go_symbols::tests::test_go_interface_methods ... ok [INFO] [stdout] test parser::go_symbols::tests::test_go_test_function ... ok [INFO] [stdout] test parser::go_symbols::tests::test_go_struct ... ok [INFO] [stdout] test parser::go_symbols::tests::test_go_method_value_receiver ... ok [INFO] [stdout] test parser::go_symbols::tests::test_go_embedded_field ... ok [INFO] [stdout] test parser::go_symbols::tests::test_go_type_alias ... ok [INFO] [stdout] test parser::go_symbols::tests::test_go_method_declaration ... ok [INFO] [stdout] test parser::go_symbols::tests::test_go_struct_tags ... ok [INFO] [stdout] test parser::go_symbols::tests::test_go_type_definition ... ok [INFO] [stdout] test parser::go_symbols::tests::test_go_var_single ... ok [INFO] [stdout] test parser::go_symbols::tests::test_go_unexported_function ... ok [INFO] [stdout] test parser::go_symbols::tests::test_go_visibility ... ok [INFO] [stdout] test parser::go_symbols::tests::test_go_var_block_multiple ... ok [INFO] [stdout] test parser::python_imports::tests::test_python_aliased_import ... ok [INFO] [stdout] test parser::python_imports::tests::test_python_conditional_import ... ok [INFO] [stdout] test parser::python_imports::tests::test_python_from_import_multiple ... ok [INFO] [stdout] test parser::python_imports::tests::test_python_from_import ... ok [INFO] [stdout] test parser::python_imports::tests::test_python_import_line_numbers ... ok [INFO] [stdout] test parser::python_imports::tests::test_python_import_dotted ... ok [INFO] [stdout] test parser::python_imports::tests::test_python_import_simple ... ok [INFO] [stdout] test parser::python_imports::tests::test_python_relative_import_dot ... ok [INFO] [stdout] test parser::python_imports::tests::test_python_relative_import_dotdot ... ok [INFO] [stdout] test parser::python_imports::tests::test_python_relative_import_submodule ... ok [INFO] [stdout] test parser::python_imports::tests::test_python_wildcard_import ... ok [INFO] [stdout] test parser::python_symbols::tests::test_python_assignment ... ok [INFO] [stdout] test parser::python_symbols::tests::test_python_async_function ... ok [INFO] [stdout] test parser::python_symbols::tests::test_python_all_exports_private ... ok [INFO] [stdout] test parser::python_symbols::tests::test_python_all_exports ... ok [INFO] [stdout] test parser::python_symbols::tests::test_python_attribute_decorator ... ok [INFO] [stdout] test parser::python_symbols::tests::test_python_class ... ok [INFO] [stdout] test parser::python_symbols::tests::test_python_decorated_function ... ok [INFO] [stdout] test parser::python_symbols::tests::test_python_dunder_method ... ok [INFO] [stdout] test parser::python_symbols::tests::test_python_function ... ok [INFO] [stdout] test parser::python_symbols::tests::test_python_line_end ... ok [INFO] [stdout] test parser::python_symbols::tests::test_python_module_level_only_assignments ... ok [INFO] [stdout] test parser::python_symbols::tests::test_python_nested_class_methods ... ok [INFO] [stdout] test parser::python_symbols::tests::test_python_no_duplicate_decorated ... ok [INFO] [stdout] test parser::python_symbols::tests::test_python_stacked_decorators ... ok [INFO] [stdout] test parser::python_symbols::tests::test_python_visibility_dunder ... ok [INFO] [stdout] test parser::python_symbols::tests::test_python_visibility_private ... ok [INFO] [stdout] test parser::python_symbols::tests::test_python_type_alias ... ok [INFO] [stdout] test parser::imports::tests::test_default_export ... ok [INFO] [stdout] test parser::imports::tests::test_reexport_all ... ok [INFO] [stdout] test parser::imports::tests::test_named_export ... ok [INFO] [stdout] test parser::imports::tests::test_reexport ... ok [INFO] [stdout] test parser::imports::tests::test_cjs_require ... ok [INFO] [stdout] test parser::relationships::tests::test_js_class_extends ... ok [INFO] [stdout] test parser::imports::tests::test_esm_default_import ... ok [INFO] [stdout] test parser::imports::tests::test_tsx_then_ts_imports ... ok [INFO] [stdout] test parser::imports::tests::test_dynamic_import ... ok [INFO] [stdout] test parser::imports::tests::test_esm_namespace_import ... ok [INFO] [stdout] test parser::imports::tests::test_esm_named_imports ... ok [INFO] [stdout] test parser::imports::tests::test_appfile_imports ... ok [INFO] [stdout] test parser::relationships::tests::test_empty_file_no_relationships ... ok [INFO] [stdout] test parser::relationships::tests::test_interface_extends_extraction ... ok [INFO] [stdout] test parser::relationships::tests::test_deduplication ... ok [INFO] [stdout] test parser::relationships::tests::test_class_implements_extraction ... ok [INFO] [stdout] test parser::relationships::tests::test_no_relationships_in_plain_file ... ok [INFO] [stdout] test parser::relationships::tests::test_type_reference_extraction ... ok [INFO] [stdout] test parser::relationships::tests::test_class_extends_extraction ... ok [INFO] [stdout] test parser::relationships::tests::test_method_call_extraction ... ok [INFO] [stdout] test parser::relationships::tests::test_direct_call_extraction ... ok [INFO] [stdout] test parser::relationships::tests::test_combined_relationship_extraction ... ok [INFO] [stdout] test parser::symbols::tests::test_class_declaration ... ok [INFO] [stdout] test parser::symbols::tests::test_enum_declaration ... ok [INFO] [stdout] test parser::symbols::tests::test_export_function_declaration ... ok [INFO] [stdout] test parser::symbols::tests::test_export_const_arrow_function ... ok [INFO] [stdout] test parser::symbols::tests::test_stacked_decorators ... ok [INFO] [stdout] test parser::symbols::tests::test_ts_attribute_decorator ... ok [INFO] [stdout] test parser::symbols::tests::test_class_with_methods ... ok [INFO] [stdout] test parser::symbols::tests::test_interface_with_children ... ok [INFO] [stdout] test parser::symbols::tests::test_ts_decorator_extraction ... ok [INFO] [stdout] test parser::symbols::tests::test_line_end_ts ... ok [INFO] [stdout] test parser::symbols::tests::test_type_alias ... ok [INFO] [stdout] test query::circular::tests::test_barrel_reexport_edges_excluded_from_cycle_detection ... ok [INFO] [stdout] test query::circular::tests::test_external_package_edges_excluded ... ok [INFO] [stdout] test query::circular::tests::test_no_cycle_in_acyclic_graph ... ok [INFO] [stdout] test query::circular::tests::test_symbol_with_child_symbol_defining_file ... ok [INFO] [stdout] test query::circular::tests::test_three_file_cycle_detected ... ok [INFO] [stdout] test query::clusters::tests::test_find_clusters_empty_graph ... ok [INFO] [stdout] test query::circular::tests::test_two_file_mutual_cycle_detected ... ok [INFO] [stdout] test query::clusters::tests::test_find_clusters_isolated_nodes ... ok [INFO] [stdout] test query::clusters::tests::test_find_clusters_determinism ... ok [INFO] [stdout] test query::clusters::tests::test_find_clusters_basic ... ok [INFO] [stdout] test query::context::tests::test_caller_symbol_has_callee ... ok [INFO] [stdout] test query::context::tests::test_empty_graph_produces_empty_context ... ok [INFO] [stdout] test query::context::tests::test_implements_relationship ... ok [INFO] [stdout] test query::context::tests::test_symbol_with_caller_has_callers ... ok [INFO] [stdout] test query::clusters::tests::test_find_clusters_with_scope ... ok [INFO] [stdout] test query::dead_code::tests::test_exported_ts_symbol_excluded ... ok [INFO] [stdout] test query::dead_code::tests::test_main_function_excluded ... ok [INFO] [stdout] test query::dead_code::tests::test_referenced_file_not_dead ... ok [INFO] [stdout] test query::dead_code::tests::test_scope_filter ... ok [INFO] [stdout] test query::dead_code::tests::test_pub_symbol_excluded ... ok [INFO] [stdout] test query::context::tests::test_symbol_with_extends_has_extends_list ... ok [INFO] [stdout] test query::dead_code::tests::test_test_function_excluded ... ok [INFO] [stdout] test query::dead_code::tests::test_unreachable_file ... ok [INFO] [stdout] test query::dead_code::tests::test_trait_impl_excluded ... ok [INFO] [stdout] test query::dead_code::tests::test_unreferenced_symbol ... ok [INFO] [stdout] test query::decorators::tests::test_add_has_decorator_edges ... ok [INFO] [stdout] test query::decorators::tests::test_enrich_decorator_frameworks ... ok [INFO] [stdout] test query::decorators::tests::test_find_by_decorator_go_struct_tag_framework ... ok [INFO] [stdout] test query::decorators::tests::test_framework_registry_flask_python ... ok [INFO] [stdout] test query::decorators::tests::test_framework_disambiguation ... ok [INFO] [stdout] test query::decorators::tests::test_framework_registry_actix_rust ... ok [INFO] [stdout] test query::decorators::tests::test_framework_registry_nestjs_ts ... ok [INFO] [stdout] test query::decorators::tests::test_find_by_decorator_cross_language ... ok [INFO] [stdout] test query::decorators::tests::test_find_by_decorator_basic ... ok [INFO] [stdout] test query::decorators::tests::test_find_by_decorator_limit ... ok [INFO] [stdout] test query::decorators::tests::test_framework_registry_unknown ... ok [INFO] [stdout] test query::decorators::tests::test_go_struct_tag_framework ... ok [INFO] [stdout] test query::decorators::tests::test_find_by_decorator_framework_filter ... ok [INFO] [stdout] test query::diff::tests::test_diff_added_file ... ok [INFO] [stdout] test query::diff::tests::test_diff_added_symbol ... ok [INFO] [stdout] test query::diff::tests::test_diff_modified_symbol ... ok [INFO] [stdout] test query::decorators::tests::test_find_by_decorator_regex ... ok [INFO] [stdout] test query::diff::tests::test_diff_removed_file ... ok [INFO] [stdout] test query::diff::tests::test_diff_removed_symbol ... ok [INFO] [stdout] test query::diff::tests::test_diff_no_changes ... ok [INFO] [stdout] test query::decorators::tests::test_find_by_decorator_language_filter ... ok [INFO] [stdout] test query::diff::tests::test_create_and_load_snapshot ... ok [INFO] [stdout] test query::file_summary::tests::test_entry_point_detection ... ok [INFO] [stdout] test query::file_summary::tests::test_exports_not_truncated ... ok [INFO] [stdout] test query::file_summary::tests::test_bridge_label ... ok [INFO] [stdout] test query::file_summary::tests::test_hub_label ... ok [INFO] [stdout] test query::file_summary::tests::test_leaf_label ... ok [INFO] [stdout] test query::diff::tests::test_delete_snapshot ... ok [INFO] [stdout] test query::diff::tests::test_graph_to_snapshot ... ok [INFO] [stdout] test query::file_summary::tests::test_library_root_detection ... ok [INFO] [stdout] test query::file_summary::tests::test_test_file_detection ... ok [INFO] [stdout] test query::file_summary::tests::test_test_file_detection_by_name ... ok [INFO] [stdout] test query::file_summary::tests::test_line_count ... ok [INFO] [stdout] test query::file_summary::tests::test_types_file_detection ... ok [INFO] [stdout] test query::file_summary::tests::test_utility_default ... ok [INFO] [stdout] test query::find::tests::test_bm25_search_no_index_returns_empty ... ok [INFO] [stdout] test query::find::tests::test_bm25_search_returns_results ... ok [INFO] [stdout] test query::find::tests::test_exact_name_match ... ok [INFO] [stdout] test query::diff::tests::test_list_snapshots ... ok [INFO] [stdout] test query::find::tests::test_calls_edge_does_not_affect_parent_file_lookup ... ok [INFO] [stdout] test query::diff::tests::test_snapshot_name_validation ... ok [INFO] [stdout] test query::find::tests::test_find_symbol_trigram_returns_fuzzy_matches ... ok [INFO] [stdout] test query::find::tests::test_invalid_regex_returns_error ... ok [INFO] [stdout] test query::find::tests::test_match_method_display ... ok [INFO] [stdout] test query::find::tests::test_reciprocal_rank_fusion_empty_lists ... ok [INFO] [stdout] test query::find::tests::test_reciprocal_rank_fusion_merges_lists ... ok [INFO] [stdout] test query::find::tests::test_no_match_returns_empty ... ok [INFO] [stdout] test query::flow::tests::test_trace_flow_cycle_safety ... ok [INFO] [stdout] test query::flow::tests::test_trace_flow_basic ... ok [INFO] [stdout] test query::flow::tests::test_trace_flow_follows_calls_and_imports ... ok [INFO] [stdout] test query::flow::tests::test_trace_flow_depth_cap ... ok [INFO] [stdout] test query::flow::tests::test_trace_flow_max_paths ... ok [INFO] [stdout] test query::flow::tests::test_trace_flow_no_path ... ok [INFO] [stdout] test query::impact::tests::test_calls_edges_not_followed_in_blast_radius ... ok [INFO] [stdout] test query::flow::tests::test_trace_flow_multiple_paths ... ok [INFO] [stdout] test query::find::tests::test_kind_filter ... ok [INFO] [stdout] test query::diff::tests::test_auto_rotate_cap ... ok [INFO] [stdout] test query::find::tests::test_case_insensitive_flag ... ok [INFO] [stdout] test query::impact::tests::test_confidence_calls_edge_boosts_to_high ... ok [INFO] [stdout] test query::impact::tests::test_confidence_tier_low_depth_4 ... ok [INFO] [stdout] test query::impact::tests::test_confidence_in_blast_radius_depth_1 ... ok [INFO] [stdout] test query::impact::tests::test_confidence_in_blast_radius_depth_2 ... ok [INFO] [stdout] test query::impact::tests::test_confidence_tier_medium_depth_3 ... ok [INFO] [stdout] test query::impact::tests::test_confidence_tier_high_depth_1 ... ok [INFO] [stdout] test query::impact::tests::test_depth_tracking ... ok [INFO] [stdout] test query::impact::tests::test_defining_file_excluded_from_blast_radius ... ok [INFO] [stdout] test query::find::tests::test_regex_pattern_matches_multiple ... ok [INFO] [stdout] test query::impact::tests::test_confidence_tier_medium_depth_2 ... ok [INFO] [stdout] test query::impact::tests::test_diff_impact_changed_file_not_in_graph ... ok [INFO] [stdout] test query::impact::tests::test_diff_impact_maps_changed_files ... ok [INFO] [stdout] test query::impact::tests::test_diff_impact_no_changed_files ... ok [INFO] [stdout] test query::impact::tests::test_diff_impact_with_risk_tier ... ok [INFO] [stdout] test query::impact::tests::test_direct_importer_in_blast_radius ... ok [INFO] [stdout] test query::impact::tests::test_risk_tier_custom_thresholds ... ok [INFO] [stdout] test query::impact::tests::test_risk_tier_high ... ok [INFO] [stdout] test query::impact::tests::test_risk_tier_low ... ok [INFO] [stdout] test query::impact::tests::test_non_importing_file_excluded ... ok [INFO] [stdout] test query::impact::tests::test_risk_tier_medium ... ok [INFO] [stdout] test query::impact::tests::test_transitive_importer_in_blast_radius ... ok [INFO] [stdout] test query::imports::tests::test_barrel_reexport ... ok [INFO] [stdout] test query::imports::tests::test_file_not_found ... ok [INFO] [stdout] test query::imports::tests::test_import_order_preserved ... ok [INFO] [stdout] test query::imports::tests::test_reexport_label ... ok [INFO] [stdout] test query::imports::tests::test_resolved_import_builtin ... ok [INFO] [stdout] test query::imports::tests::test_resolved_import_external ... ok [INFO] [stdout] test query::imports::tests::test_resolved_import_internal ... ok [INFO] [stdout] test query::imports::tests::test_rust_import_builtin ... ok [INFO] [stdout] test query::imports::tests::test_rust_import_external ... ok [INFO] [stdout] test query::output::formatter_tests::test_format_clusters_to_string ... ok [INFO] [stdout] test query::output::formatter_tests::test_format_flow_to_string_no_path ... ok [INFO] [stdout] test query::output::formatter_tests::test_format_flow_to_string ... ok [INFO] [stdout] test query::output::formatter_tests::test_format_rename_to_string ... ok [INFO] [stdout] test query::output::tests::test_context_no_sections_returns_all ... ok [INFO] [stdout] test query::output::tests::test_context_sections_definitions_always_included ... ok [INFO] [stdout] test query::output::tests::test_context_sections_filter_references_only ... ok [INFO] [stdout] test query::output::tests::test_context_sections_omitted_skips_empty ... ok [INFO] [stdout] test query::output::tests::test_format_impact_with_confidence ... ok [INFO] [stdout] test query::output::tests::test_mcp_circular_format_no_prefix ... ok [INFO] [stdout] test query::output::tests::test_mcp_find_format_no_prefix ... ok [INFO] [stdout] test query::output::tests::test_mcp_impact_format_no_prefix ... ok [INFO] [stdout] test query::output::tests::test_mcp_context_format_no_delimiters ... ok [INFO] [stdout] test query::output::tests::test_mcp_refs_format_no_prefix ... ok [INFO] [stdout] test query::output::tests::test_parse_sections_multiple ... ok [INFO] [stdout] test query::output::tests::test_parse_sections_none ... ok [INFO] [stdout] test query::output::tests::test_parse_sections_single ... ok [INFO] [stdout] test query::output::tests::test_parse_sections_unknown_ignored ... ok [INFO] [stdout] test query::output::tests::test_truncation_format ... ok [INFO] [stdout] test query::refs::tests::test_call_edge_produces_call_ref ... ok [INFO] [stdout] test query::refs::tests::test_import_ref_deduplication ... ok [INFO] [stdout] test query::refs::tests::test_defining_file_excluded_from_import_refs ... ok [INFO] [stdout] test query::refs::tests::test_import_ref_shows_importer ... ok [INFO] [stdout] test query::refs::tests::test_no_refs_returns_empty ... ok [INFO] [stdout] test query::refs::tests::test_unrelated_file_not_in_refs ... ok [INFO] [stdout] test query::rename::tests::test_plan_rename_basic ... ok [INFO] [stdout] test query::rename::tests::test_plan_rename_import_refs ... ok [INFO] [stdout] test query::rename::tests::test_plan_rename_unknown_symbol ... ok [INFO] [stdout] test query::stats::tests::test_project_stats_counts_non_parsed_files ... ok [INFO] [stdout] test query::structure::tests::test_empty_graph ... ok [INFO] [stdout] test query::structure::tests::test_depth_limit ... ok [INFO] [stdout] test query::stats::tests::test_project_stats_zero_non_parsed ... ok [INFO] [stdout] test query::rename::tests::test_plan_rename_no_disk_writes ... ok [INFO] [stdout] test query::structure::tests::test_non_parsed_file ... ok [INFO] [stdout] test query::structure::tests::test_format_structure_output ... ok [INFO] [stdout] test query::structure::tests::test_path_scoping ... ok [INFO] [stdout] test query::structure::tests::test_single_source_file ... ok [INFO] [stdout] test resolver::barrel::tests::test_barrel_no_reexport_all_no_edge ... ok [INFO] [stdout] test query::structure::tests::test_symbol_visibility ... ok [INFO] [stdout] test resolver::barrel::tests::test_barrel_reexport_all_adds_edge ... ok [INFO] [stdout] test resolver::barrel::tests::test_named_reexport_cycle_detection ... ok [INFO] [stdout] test resolver::barrel::tests::test_barrel_source_not_in_graph_skips_gracefully ... ok [INFO] [stdout] test resolver::barrel::tests::test_named_reexport_adds_direct_edge ... ok [INFO] [stdout] test resolver::barrel::tests::test_named_reexport_multi_level_chain ... ok [INFO] [stdout] test resolver::barrel::tests::test_named_reexport_no_edge_when_name_not_found ... ok [INFO] [stdout] test resolver::file_resolver::tests::test_workspace_map_to_aliases_empty ... ok [INFO] [stdout] test resolver::cargo_workspace::tests::test_missing_cargo_toml_returns_empty ... ok [INFO] [stdout] test resolver::file_resolver::tests::test_workspace_map_to_aliases_single_entry ... ok [INFO] [stdout] test resolver::file_resolver::tests::test_build_resolver_no_tsconfig_no_aliases ... ok [INFO] [stdout] test parser::symbols::tests::test_line_end_rust ... ok [INFO] [stdout] test parser::symbols::tests::test_rust_route_decorator ... ok [INFO] [stdout] test parser::symbols::tests::test_rust_derive_decorator ... ok [INFO] [stdout] test resolver::go_resolver::tests::test_is_go_stdlib ... ok [INFO] [stdout] test resolver::cargo_workspace::tests::test_single_crate_project ... ok [INFO] [stdout] test resolver::go_resolver::tests::test_parse_gomod_simple ... ok [INFO] [stdout] test resolver::go_resolver::tests::test_embed_edge ... ok [INFO] [stdout] test resolver::go_resolver::tests::test_parse_gomod ... ok [INFO] [stdout] test resolver::go_resolver::tests::test_implicit_interface_satisfaction ... ok [INFO] [stdout] test resolver::go_resolver::tests::test_implicit_interface_no_match ... ok [INFO] [stdout] test resolver::go_resolver::tests::test_resolve_go_import_not_found ... ok [INFO] [stdout] test resolver::go_resolver::tests::test_parse_gomod_missing_module ... ok [INFO] [stdout] test resolver::go_resolver::tests::test_parse_gowork_empty ... ok [INFO] [stdout] test resolver::go_resolver::tests::test_method_receiver_edge ... ok [INFO] [stdout] test resolver::go_resolver::tests::test_parse_gowork ... ok [INFO] [stdout] test resolver::go_resolver::tests::test_resolve_go_import_replace ... ok [INFO] [stdout] test resolver::go_resolver::tests::test_resolve_go_import_local ... ok [INFO] [stdout] test resolver::go_resolver::tests::test_resolve_go_import_stdlib ... ok [INFO] [stdout] test resolver::python_resolver::tests::test_python_absolute_import ... ok [INFO] [stdout] test resolver::cargo_workspace::tests::test_workspace_discovers_members ... ok [INFO] [stdout] test resolver::python_resolver::tests::test_python_conditional_import_edge ... ok [INFO] [stdout] test resolver::python_resolver::tests::test_python_init_package_root ... ok [INFO] [stdout] test parser::relationships::tests::test_tsx_relationships ... ok [INFO] [stdout] test resolver::python_resolver::tests::test_python_relative_import_dot ... ok [INFO] [stdout] test resolver::python_resolver::tests::test_python_init_reexport_transitive ... ok [INFO] [stdout] test resolver::python_resolver::tests::test_python_relative_import_dotdot ... ok [INFO] [stdout] test resolver::python_resolver::tests::test_python_stdlib_import ... ok [INFO] [stdout] test resolver::python_resolver::tests::test_python_unresolved_import ... ok [INFO] [stdout] test resolver::python_resolver::tests::test_python_wildcard_import_no_all ... ok [INFO] [stdout] test resolver::python_resolver::tests::test_python_wildcard_import_with_all ... ok [INFO] [stdout] test resolver::rust_resolver::tests::test_classify_bare_builtin ... ok [INFO] [stdout] test resolver::rust_mod_tree::tests::test_find_crate_root_main ... ok [INFO] [stdout] test resolver::rust_mod_tree::tests::test_inline_mod_skipped ... ok [INFO] [stdout] test resolver::rust_resolver::tests::test_classify_cross_workspace ... ok [INFO] [stdout] test resolver::rust_resolver::tests::test_classify_std_prefixed ... ok [INFO] [stdout] test resolver::rust_resolver::tests::test_classify_external ... ok [INFO] [stdout] test resolver::rust_resolver::tests::test_classify_hyphen_workspace_crate ... ok [INFO] [stdout] test resolver::rust_resolver::tests::test_classify_intra_crate ... ok [INFO] [stdout] test resolver::rust_mod_tree::tests::test_find_crate_root_lib ... ok [INFO] [stdout] test resolver::rust_mod_tree::tests::test_build_mod_tree_maps_all_modules ... ok [INFO] [stdout] test resolver::rust_mod_tree::tests::test_resolve_module_path_strips_symbol_segment ... ok [INFO] [stdout] test resolver::tests::test_extract_package_name ... ok [INFO] [stdout] test resolver::tests::test_is_external_package ... ok [INFO] [stdout] test resolver::rust_mod_tree::tests::test_reverse_map_populated ... ok [INFO] [stdout] test resolver::workspace::tests::test_parse_pnpm_workspace_yaml_empty ... ok [INFO] [stdout] test resolver::workspace::tests::test_parse_pnpm_workspace_yaml_double_quotes ... ok [INFO] [stdout] test resolver::workspace::tests::test_parse_pnpm_workspace_yaml_mixed_quotes ... ok [INFO] [stdout] test resolver::workspace::tests::test_parse_pnpm_workspace_yaml_no_quotes ... ok [INFO] [stdout] test resolver::workspace::tests::test_parse_pnpm_workspace_yaml_single_quotes ... ok [INFO] [stdout] test resolver::workspace::tests::test_parse_pnpm_workspace_yaml_with_other_keys ... ok [INFO] [stdout] test resolver::rust_resolver::tests::test_resolve_super_too_deep_returns_none ... ok [INFO] [stdout] test resolver::rust_resolver::tests::test_resolve_self_path ... ok [INFO] [stdout] test setup::tests::test_claude_md_snippet_content ... ok [INFO] [stdout] test setup::tests::test_confirm_proceed_no ... ok [INFO] [stdout] test setup::tests::test_confirm_proceed_yes ... ok [INFO] [stdout] test setup::tests::test_generate_mcp_json ... ok [INFO] [stdout] test resolver::rust_resolver::tests::test_resolve_super_one_level ... ok [INFO] [stdout] test setup::tests::test_run_setup_skips_write_without_confirm ... ok [INFO] [stdout] test setup::tests::test_write_claude_md_creates_new_file ... ok [INFO] [stdout] test setup::tests::test_write_hook_script_content ... ok [INFO] [stdout] test setup::tests::test_write_hook_settings_fresh ... ok [INFO] [stdout] test setup::tests::test_write_claude_md_appends_to_existing ... ok [INFO] [stdout] test setup::tests::test_detect_editors_finds_cursor ... ok [INFO] [stdout] test setup::tests::test_write_hook_script_creates_file ... ok [INFO] [stdout] test setup::tests::test_write_claude_md_replaces_existing_markers ... ok [INFO] [stdout] test setup::tests::test_detect_editors_always_includes_claude ... ok [INFO] [stdout] test setup::tests::test_detect_editors_finds_windsurf ... ok [INFO] [stdout] test setup::tests::test_write_hook_settings_dedup ... ok [INFO] [stdout] test setup::tests::test_write_claude_md_preserves_surrounding_content ... ok [INFO] [stdout] test setup::tests::test_write_mcp_config_merges_existing ... ok [INFO] [stdout] test setup::tests::test_write_mcp_config_creates_file ... ok [INFO] [stdout] test setup::tests::test_write_skills_creates_three_dirs ... ok [INFO] [stdout] test setup::tests::test_write_hook_settings_merge ... ok [INFO] [stdout] test setup::tests::test_write_skills_idempotent ... ok [INFO] [stdout] test setup::tests::test_write_skills_content ... ok [INFO] [stdout] test walker::tests::test_walk_non_parsed_respects_exclude_patterns ... ok [INFO] [stdout] test walker::tests::test_walk_project_returns_only_source_files ... ok [INFO] [stdout] test walker::tests::test_walk_non_parsed_finds_non_source_files ... ok [INFO] [stdout] test walker::tests::test_walk_non_parsed_excludes_node_modules ... ok [INFO] [stdout] test watcher::incremental::tests::test_bm25_rebuilt_after_watcher_event ... ok [INFO] [stdout] test watcher::incremental::tests::test_go_watcher_resolve_imports ... ok [INFO] [stdout] test watcher::incremental::tests::test_decorator_enrichment_after_watcher_event ... ok [INFO] [stdout] test parser::symbols::tests::test_tsx_component_detection ... ok [INFO] [stdout] test parser::symbols::tests::test_tsx_non_component_arrow_fn ... ok [INFO] [stdout] test resolver::go_resolver::tests::test_implicit_interface_cap ... ok [INFO] [stdout] test setup::tests::test_run_setup_with_no_skills ... ok [INFO] [stdout] test setup::tests::test_run_setup_with_no_hooks ... ok [INFO] [stdout] test setup::tests::test_run_setup_writes_with_yes_flag ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 471 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.67s [INFO] [stdout] [INFO] [stderr] Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-bfda8f14ace22949) [INFO] [stdout] [INFO] [stdout] running 21 tests [INFO] [stdout] test test_find_regex_pattern ... ok [INFO] [stdout] test test_language_filter_invalid ... ok [INFO] [stdout] test test_impact_rust_symbol ... ok [INFO] [stdout] test test_index_json_output ... ok [INFO] [stdout] test test_circular_on_rust_codebase ... ok [INFO] [stdout] test test_index_rust_codebase ... ok [INFO] [stdout] test test_find_nonexistent_symbol ... ok [INFO] [stdout] test test_find_json_output ... ok [INFO] [stdout] test test_find_rust_symbol ... ok [INFO] [stdout] test test_context_rust_symbol ... ok [INFO] [stdout] test test_export_mcp_tool_registered ... ok [INFO] [stdout] test test_mixed_language_project ... ok [INFO] [stdout] test test_export_dot_package_clusters ... ok [INFO] [stdout] test test_export_mermaid ... ok [INFO] [stdout] test test_export_dot ... ok [INFO] [stdout] test test_language_filter_rust ... ok [INFO] [stdout] test test_refs_rust_symbol ... ok [INFO] [stdout] test test_stats_language_filter ... ok [INFO] [stdout] test test_stats_rust_codebase ... ok [INFO] [stdout] test test_export_mermaid_edge_limit_warning ... ok [INFO] [stdout] test test_export_granularity ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 7.77s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "ed77aa438cb603affe4ac20b2c2eafc57a31516eb56c398150f0f4174d9fdf2b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ed77aa438cb603affe4ac20b2c2eafc57a31516eb56c398150f0f4174d9fdf2b", kill_on_drop: false }` [INFO] [stdout] ed77aa438cb603affe4ac20b2c2eafc57a31516eb56c398150f0f4174d9fdf2b