[INFO] cloning repository https://github.com/subsriram/codesurgeon
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/subsriram/codesurgeon" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsubsriram%2Fcodesurgeon", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsubsriram%2Fcodesurgeon'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ba72ca19e9c6127d037ccf761b5059d2a23ef109
[INFO] testing subsriram/codesurgeon against 1.98.0-beta.1 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsubsriram%2Fcodesurgeon" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-2-tc2/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/subsriram/codesurgeon
[INFO] finished tweaking git repo https://github.com/subsriram/codesurgeon
[INFO] tweaked toml for git repo https://github.com/subsriram/codesurgeon written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/subsriram/codesurgeon on toolchain 1.98.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/subsriram/codesurgeon already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "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/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] b7eb6c50904d20e6bb7a0685e779d09db9d8f71c4339fed615cd132a14ebf32c
[INFO] running `Command { std: "docker" "start" "b7eb6c50904d20e6bb7a0685e779d09db9d8f71c4339fed615cd132a14ebf32c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b7eb6c50904d20e6bb7a0685e779d09db9d8f71c4339fed615cd132a14ebf32c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b7eb6c50904d20e6bb7a0685e779d09db9d8f71c4339fed615cd132a14ebf32c" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b7eb6c50904d20e6bb7a0685e779d09db9d8f71c4339fed615cd132a14ebf32c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b7eb6c50904d20e6bb7a0685e779d09db9d8f71c4339fed615cd132a14ebf32c" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling tree-sitter-language v0.1.7
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling hashbrown v0.17.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]    Compiling cc v1.2.61
[INFO] [stderr]    Compiling num-conv v0.2.1
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling ownedbytes v0.7.0
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling bitpacking v0.9.3
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling utf8-ranges v1.0.5
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling tantivy-fst v0.5.0
[INFO] [stderr]    Compiling libsqlite3-sys v0.28.0
[INFO] [stderr]    Compiling tantivy-bitpacker v0.6.0
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling murmurhash32 v0.3.1
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling tree-sitter v0.25.10
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling rand_distr v0.4.3
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling tree-sitter-javascript v0.25.0
[INFO] [stderr]    Compiling tree-sitter-html v0.23.2
[INFO] [stderr]    Compiling blake3 v1.8.5
[INFO] [stderr]    Compiling tree-sitter-md-025 v0.5.6
[INFO] [stderr]    Compiling tree-sitter-python v0.25.0
[INFO] [stderr]    Compiling tree-sitter-swift v0.7.2
[INFO] [stderr]    Compiling tree-sitter-typescript v0.23.2
[INFO] [stderr]    Compiling tree-sitter-bash v0.25.1
[INFO] [stderr]    Compiling tree-sitter-sequel v0.3.11
[INFO] [stderr]    Compiling libmimalloc-sys v0.1.47
[INFO] [stderr]    Compiling tree-sitter-rust v0.24.2
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling inotify-sys v0.1.5
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling instant v0.1.13
[INFO] [stderr]    Compiling tantivy-common v0.7.0
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling fastdivide v0.4.2
[INFO] [stderr]    Compiling downcast-rs v1.2.1
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling inotify v0.9.6
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling tantivy-stacker v0.3.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling measure_time v0.8.3
[INFO] [stderr]    Compiling rust-stemmers v1.2.0
[INFO] [stderr]    Compiling tantivy-tokenizer-api v0.3.0
[INFO] [stderr]    Compiling sketches-ddsketch v0.2.2
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling tantivy-query-grammar v0.22.0
[INFO] [stderr]    Compiling cs-core v1.0.0 (/opt/rustwide/workdir/crates/cs-core)
[INFO] [stderr]    Compiling arc-swap v1.9.1
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling fs4 v0.8.4
[INFO] [stderr]    Compiling hashlink v0.9.1
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling uuid v1.23.1
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling filetime v0.2.27
[INFO] [stderr]    Compiling memmap2 v0.9.10
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling levenshtein_automata v0.2.1
[INFO] [stderr]    Compiling lz4_flex v0.11.6
[INFO] [stderr]    Compiling rustc-hash v1.1.0
[INFO] [stderr]    Compiling cpufeatures v0.3.0
[INFO] [stderr]    Compiling fixedbitset v0.4.2
[INFO] [stderr]    Compiling htmlescape v0.3.1
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling census v0.4.2
[INFO] [stderr]    Compiling oneshot v0.1.13
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling streaming-iterator v0.1.9
[INFO] [stderr]    Compiling zstd v0.13.3
[INFO] [stderr]    Compiling constant_time_eq v0.4.2
[INFO] [stderr]    Compiling tokio v1.52.2
[INFO] [stderr]    Compiling petgraph v0.6.5
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling tantivy-sstable v0.3.0
[INFO] [stderr]    Compiling notify v6.1.1
[INFO] [stderr]    Compiling tantivy-columnar v0.3.0
[INFO] [stderr]    Compiling rusqlite v0.31.0
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling ignore v0.4.25
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling mimalloc v0.1.50
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling tantivy v0.22.1
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling cs-mcp v1.0.0 (/opt/rustwide/workdir/crates/cs-mcp)
[INFO] [stderr]    Compiling cs-cli v1.0.0 (/opt/rustwide/workdir/crates/cs-cli)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 48s
[INFO] running `Command { std: "docker" "inspect" "b7eb6c50904d20e6bb7a0685e779d09db9d8f71c4339fed615cd132a14ebf32c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b7eb6c50904d20e6bb7a0685e779d09db9d8f71c4339fed615cd132a14ebf32c" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling zerocopy-derive v0.8.48
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling tantivy-common v0.7.0
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling sketches-ddsketch v0.2.2
[INFO] [stderr]    Compiling tantivy-tokenizer-api v0.3.0
[INFO] [stderr]    Compiling rust-stemmers v1.2.0
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling petgraph v0.6.5
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling tantivy-sstable v0.3.0
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling hashlink v0.9.1
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling rusqlite v0.31.0
[INFO] [stderr]    Compiling rand_distr v0.4.3
[INFO] [stderr]    Compiling tantivy-stacker v0.3.0
[INFO] [stderr]    Compiling tantivy-columnar v0.3.0
[INFO] [stderr]    Compiling tantivy v0.22.1
[INFO] [stderr]    Compiling cs-core v1.0.0 (/opt/rustwide/workdir/crates/cs-core)
[INFO] [stderr]    Compiling cs-cli v1.0.0 (/opt/rustwide/workdir/crates/cs-cli)
[INFO] [stderr]    Compiling cs-mcp v1.0.0 (/opt/rustwide/workdir/crates/cs-mcp)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 55s
[INFO] running `Command { std: "docker" "inspect" "b7eb6c50904d20e6bb7a0685e779d09db9d8f71c4339fed615cd132a14ebf32c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b7eb6c50904d20e6bb7a0685e779d09db9d8f71c4339fed615cd132a14ebf32c" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.74s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/codesurgeon-c3f43f16a56e4fdb)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cli.rs (/opt/rustwide/target/debug/deps/cli-a9d368cde417c30a)
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 30 tests
[INFO] [stdout] test config_displays_config_contents ... ok
[INFO] [stdout] test config_shows_defaults_when_missing ... ok
[INFO] [stdout] test context_accepts_language_and_file_hint_flags ... ok
[INFO] [stdout] test context_without_task_exits_nonzero ... ok
[INFO] [stdout] test config_shows_context_settings ... ok
[INFO] [stdout] test context_on_empty_workspace_exits_zero ... ok
[INFO] [stdout] test context_accepts_budget_flag ... ok
[INFO] [stdout] test index_progress_output_to_stderr ... ok
[INFO] [stdout] test index_empty_workspace_exits_zero ... ok
[INFO] [stdout] test index_workspace_with_python_file ... ok
[INFO] [stdout] test context_json_emits_valid_json ... ok
[INFO] [stdout] test no_subcommand_exits_nonzero ... ok
[INFO] [stdout] test anchors_json_emits_valid_json ... ok
[INFO] [stdout] test memory_delete_removes_observation ... ok
[INFO] [stdout] test memory_delete_nonexistent_exits_nonzero ... ok
[INFO] [stdout] test search_with_negative_budget_exits_nonzero ... ok
[INFO] [stdout] test search_without_query_exits_nonzero ... ok
[INFO] [stdout] test logs_go_to_stderr_not_stdout_under_json ... ok
[INFO] [stdout] test observe_then_memory_round_trip ... ok
[INFO] [stdout] test memory_output_includes_id ... ok
[INFO] [stdout] test status_on_empty_workspace_exits_zero ... ok
[INFO] [stdout] test impact_json_emits_valid_json ... ok
[INFO] [stdout] test search_finds_indexed_symbol ... ok
[INFO] [stdout] test search_on_empty_workspace_exits_zero ... ok
[INFO] [stdout] test unknown_subcommand_exits_nonzero ... ok
[INFO] [stdout] test submit_lsp_edges_stdin_exits_zero ... ok
[INFO] [stdout] test submit_lsp_edges_file_exits_zero ... ok
[INFO] [stdout] test index_force_reparses_all_files ... ok
[INFO] [stdout] test submit_lsp_edges_bad_json_exits_nonzero ... ok
[INFO] [stdout] test submit_lsp_edges_missing_file_exits_nonzero ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 30 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.54s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/cs_core-2540fb7b746a5379)
[INFO] [stdout] 
[INFO] [stdout] running 200 tests
[INFO] [stdout] test anchors::tests::code_block_dotted_marked_as_from_dotted_call ... ok
[INFO] [stdout] test anchors::tests::dotted_prose_three_segments ... ok
[INFO] [stdout] test anchors::tests::empty_query ... ok
[INFO] [stdout] test anchors::tests::extract_code_block_api_call ... ok
[INFO] [stdout] test anchors::tests::code_block_before_prose ... ok
[INFO] [stdout] test anchors::tests::dedup ... ok
[INFO] [stdout] test anchors::tests::import_outside_code_fence ... ok
[INFO] [stdout] test anchors::tests::camelcase_accepted ... ok
[INFO] [stdout] test anchors::tests::plain_english_rejected ... ok
[INFO] [stdout] test anchors::tests::extract_prose_snake_case ... ok
[INFO] [stdout] test anchors::tests::stop_words_filtered ... ok
[INFO] [stdout] test anchors::tests::extract_import_statement ... ok
[INFO] [stdout] test anchors::tests::dotted_prose_call_extracted ... ok
[INFO] [stdout] test anchors::tests::traceback_without_trace_shape_is_noop ... ok
[INFO] [stdout] test anchors::tests::traceback_dotted_method_frame ... ok
[INFO] [stdout] test anchors::tests::traceback_synthetic_frames_skipped ... ok
[INFO] [stdout] test anchors::tests::traceback_frame_stop_word_filtered ... ok
[INFO] [stdout] test anchors::tests::traceback_function_names_extracted ... ok
[INFO] [stdout] test anchors::tests::traceback_short_frame_name_skipped ... ok
[INFO] [stdout] test db::tests::leaf_of_name_extracts_trailing_segment ... ok
[INFO] [stdout] test db::tests::log_query_round_trip ... ok
[INFO] [stdout] test db::tests::query_log_rows_returns_all_within_window ... ok
[INFO] [stdout] test db::tests::query_log_rows_zero_days_returns_empty ... ok
[INFO] [stdout] test db::tests::delete_edges_for_symbols_empty_list_noop ... ok
[INFO] [stdout] test db::tests::delete_embeddings_for_symbols_empty_list_noop ... ok
[INFO] [stdout] test edges::tests::calls_do_not_cross_languages ... ok
[INFO] [stdout] test db::tests::delete_file_symbols_purges_edges ... ok
[INFO] [stdout] test edges::tests::defined_in_handles_nested_namespaces ... ok
[INFO] [stdout] test edges::tests::defined_in_links_method_to_parent ... ok
[INFO] [stdout] test edges::tests::defined_in_skips_import_symbols ... ok
[INFO] [stdout] test edges::tests::defined_in_skips_top_level ... ok
[INFO] [stdout] test edges::tests::impl_edges_dont_match_non_type_symbols ... ok
[INFO] [stdout] test edges::tests::impl_edges_do_not_cross_languages ... ok
[INFO] [stdout] test edges::tests::impl_edges_link_inherent_impl_to_type ... ok
[INFO] [stdout] test edges::tests::impl_edges_skip_external_trait_but_keep_defined_in ... ok
[INFO] [stdout] test edges::tests::impl_edges_local_trait_emits_both ... ok
[INFO] [stdout] test edges::tests::imports_do_not_cross_languages ... ok
[INFO] [stdout] test edges::tests::inherits_does_not_cross_languages ... ok
[INFO] [stdout] test edges::tests::inherits_python_multiple_bases ... ok
[INFO] [stdout] test edges::tests::inherits_python_pep695_generic_class ... ok
[INFO] [stdout] test edges::tests::inherits_python_qualified_base ... ok
[INFO] [stdout] test edges::tests::inherits_rust_no_supertraits ... ok
[INFO] [stdout] test edges::tests::inherits_rust_does_not_confuse_pascalcase_where ... ok
[INFO] [stdout] test edges::tests::inherits_rust_supertraits_with_generics_and_where ... ok
[INFO] [stdout] test edges::tests::inherits_rust_supertraits ... ok
[INFO] [stdout] test edges::tests::inherits_skips_non_local_parents ... ok
[INFO] [stdout] test edges::tests::inherits_swift_class_with_leading_attribute ... ok
[INFO] [stdout] test edges::tests::inherits_swift_class_inheritance_and_conformance ... ok
[INFO] [stdout] test edges::tests::inherits_rust_supertraits_multiline_where ... ok
[INFO] [stdout] test edges::tests::inherits_swift_keyword_picks_earliest_match ... ok
[INFO] [stdout] test edges::tests::inherits_swift_protocol_inheritance ... ok
[INFO] [stdout] test edges::tests::inherits_swift_struct_conformance ... ok
[INFO] [stdout] test db::tests::delete_edges_for_symbols_batches_over_500 ... ok
[INFO] [stdout] test edges::tests::inherits_ts_class_extends_skips_implements ... ok
[INFO] [stdout] test edges::tests::inherits_ts_extends_inside_generic_constraint ... ok
[INFO] [stdout] test edges::tests::inherits_ts_interface_extends_multiple ... ok
[INFO] [stdout] test edges::tests::inherits_ts_js_share_family ... ok
[INFO] [stdout] test edges::tests::inherits_ts_multiline_extends ... ok
[INFO] [stdout] test edges::tests::no_duplicate_defined_in_between_extractors ... ok
[INFO] [stdout] test edges::tests::references_do_not_cross_languages ... ok
[INFO] [stdout] test engine::consolidation_tests::merge_deduplicates_identical_queries ... ok
[INFO] [stdout] test engine::consolidation_tests::merge_fallback_for_non_standard_content ... ok
[INFO] [stdout] test engine::consolidation_tests::merge_single_item_cluster ... ok
[INFO] [stdout] test engine::consolidation_tests::merge_standard_auto_format ... ok
[INFO] [stdout] test engine::secrets_tests::certificate_key_extensions_blocked ... ok
[INFO] [stdout] test engine::secrets_tests::dotenv_blocked ... ok
[INFO] [stdout] test edges::tests::inherits_swift_enum_raw_value_emitted_when_local ... ok
[INFO] [stdout] test engine::secrets_tests::dotenv_extension_blocked ... ok
[INFO] [stdout] test engine::secrets_tests::aws_key_detected ... ok
[INFO] [stdout] test engine::secrets_tests::normal_source_files_allowed ... ok
[INFO] [stdout] test engine::secrets_tests::openai_key_detected ... ok
[INFO] [stdout] test edges::tests::inherits_swift_enum_raw_value_skipped_when_non_local ... ok
[INFO] [stdout] test engine::secrets_tests::github_pat_detected ... ok
[INFO] [stdout] test engine::secrets_tests::slack_bot_token_detected ... ok
[INFO] [stdout] test engine::skeleton_detail_tests::body_fractions_ordered ... ok
[INFO] [stdout] test engine::secrets_tests::secret_credential_password_in_name_blocked ... ok
[INFO] [stdout] test engine::secrets_tests::clean_source_file_not_flagged ... ok
[INFO] [stdout] test engine::secrets_tests::short_prefix_match_not_flagged ... ok
[INFO] [stdout] test engine::skeleton_detail_tests::default_is_standard ... ok
[INFO] [stdout] test engine::skeleton_detail_tests::parse_case_insensitive ... ok
[INFO] [stdout] test engine::skeleton_detail_tests::parse_known_values ... ok
[INFO] [stdout] test engine::skeleton_detail_tests::parse_unknown_falls_back_to_standard ... ok
[INFO] [stdout] test graph::tests::centrality_k_empty_graph_uses_default ... ok
[INFO] [stdout] test graph::tests::centrality_k_fully_disconnected_uses_default ... ok
[INFO] [stdout] test graph::tests::centrality_k_is_corpus_median ... ok
[INFO] [stdout] test graph::tests::centrality_k_override_pins_value ... ok
[INFO] [stdout] test indexer::tests::args_snippet_empty_parens ... ok
[INFO] [stdout] test indexer::tests::args_snippet_truncates_at_utf8_boundary ... ok
[INFO] [stdout] test graph::tests::centrality_k_ignores_disconnected_symbols ... ok
[INFO] [stdout] test indexer::tests::args_snippet_unclosed_paren_does_not_panic ... ok
[INFO] [stdout] test indexer::tests::call_edges_include_args_snippet ... ok
[INFO] [stdout] test indexer::tests::call_edges_skip_python_docstring_doctest ... ok
[INFO] [stdout] test indexer::tests::call_edges_python_real_call_still_resolved ... ok
[INFO] [stdout] test indexer::tests::call_edges_with_multibyte_utf8_args ... ok
[INFO] [stdout] test indexer::tests::comments_only_python ... ok
[INFO] [stdout] test indexer::tests::call_edges_skip_python_triple_quoted_non_docstring ... ok
[INFO] [stdout] test indexer::tests::empty_file_markdown ... ok
[INFO] [stdout] test indexer::tests::empty_file_python ... ok
[INFO] [stdout] test indexer::tests::empty_file_rust ... ok
[INFO] [stdout] test indexer::tests::empty_file_shell ... ok
[INFO] [stdout] test indexer::tests::empty_file_sql ... ok
[INFO] [stdout] test db::tests::workspace_token_estimate_empty_db_returns_zero ... ok
[INFO] [stdout] test indexer::tests::import_edges_resolve_python_names ... ok
[INFO] [stdout] test indexer::tests::indexes_markdown_headings ... ok
[INFO] [stdout] test indexer::tests::indexes_python_function ... ok
[INFO] [stdout] test indexer::tests::markdown_setext_headings ... ok
[INFO] [stdout] test indexer::tests::python_unicode_function_name ... ok
[INFO] [stdout] test indexer::tests::rust_unicode_struct_name ... ok
[INFO] [stdout] test indexer::tests::shell_call_edges_no_self_loop ... ok
[INFO] [stdout] test indexer::tests::indexes_rust_struct ... ok
[INFO] [stdout] test indexer::tests::shell_call_edges_basic ... ok
[INFO] [stdout] test indexer::tests::sql_ref_edges_view_to_table ... ok
[INFO] [stdout] test indexer::tests::type_flow_edges_from_signatures ... ok
[INFO] [stdout] test indexer::tests::indexes_sql_create_table ... ok
[INFO] [stdout] test indexer::tests::whitespace_only_python ... ok
[INFO] [stdout] test db::tests::symbols_by_leaf_name_finds_class_methods ... ok
[INFO] [stdout] test indexer::tests::indexes_decorated_python_class_and_methods ... ok
[INFO] [stdout] test indexer::tests::sql_ref_edges_function_to_table ... ok
[INFO] [stdout] test macro_expand::tests::test_file_path_outside_src ... ok
[INFO] [stdout] test macro_expand::tests::test_file_path_to_expand_args_main ... ok
[INFO] [stdout] test macro_expand::tests::test_file_path_to_expand_args_module ... ok
[INFO] [stdout] test macro_expand::tests::test_file_path_to_expand_args_lib ... ok
[INFO] [stdout] test macro_expand::tests::test_file_path_to_expand_args_mod_rs ... ok
[INFO] [stdout] test macro_expand::tests::test_file_path_to_expand_args_nested ... ok
[INFO] [stdout] test memory::config_load_tests::load_from_toml_missing_file_returns_defaults ... ok
[INFO] [stdout] test memory::config_load_tests::load_from_toml_malformed_returns_defaults ... ok
[INFO] [stdout] test macro_expand::tests::test_body_has_macro_invocation ... ok
[INFO] [stdout] test db::tests::leaf_name_migration_backfills_existing_rows ... ok
[INFO] [stdout] test memory::indexing_config_tests::context_section_parsed ... ok
[INFO] [stdout] test memory::config_load_tests::load_from_toml_missing_memory_section_returns_defaults ... ok
[INFO] [stdout] test memory::obs_kind_tests::consolidated_as_str ... ok
[INFO] [stdout] test memory::config_load_tests::load_from_toml_valid_config_applies_settings ... ok
[INFO] [stdout] test memory::obs_kind_tests::consolidated_parse_kind_roundtrip ... ok
[INFO] [stdout] test memory::obs_kind_tests::memory_config_expires_at_for_consolidated ... ok
[INFO] [stdout] test memory::obs_kind_tests::consolidated_default_ttl_is_90_days ... ok
[INFO] [stdout] test memory::obs_kind_tests::consolidated_expires_at_is_set_on_new ... ok
[INFO] [stdout] test memory::indexing_config_tests::user_fallback_workspace_takes_precedence ... ok
[INFO] [stdout] test memory::indexing_config_tests::missing_context_section_returns_none ... ok
[INFO] [stdout] test memory::indexing_config_tests::observability_section_parsed ... ok
[INFO] [stdout] test pyright_enrich::tests::extract_bases_no_parents ... ok
[INFO] [stdout] test pyright_enrich::tests::extract_bases_with_parents ... ok
[INFO] [stdout] test pyright_enrich::tests::extract_return_type_callable_default ... ok
[INFO] [stdout] test pyright_enrich::tests::extract_return_type_generic ... ok
[INFO] [stdout] test pyright_enrich::tests::extract_return_type_none_annotation ... ok
[INFO] [stdout] test pyright_enrich::tests::extract_return_type_simple ... ok
[INFO] [stdout] test pyright_enrich::tests::extract_type_from_message_callable ... ok
[INFO] [stdout] test pyright_enrich::tests::extract_type_from_message_no_match ... ok
[INFO] [stdout] test pyright_enrich::tests::merge_enriches_annotated_function ... ok
[INFO] [stdout] test pyright_enrich::tests::extract_return_type_missing ... ok
[INFO] [stdout] test pyright_enrich::tests::merge_enriches_class_with_bases ... ok
[INFO] [stdout] test pyright_enrich::tests::merge_skips_already_enriched_symbol ... ok
[INFO] [stdout] test pyright_enrich::tests::extract_type_from_message_basic ... ok
[INFO] [stdout] test pyright_enrich::tests::merge_uses_diag_for_inferred_type ... ok
[INFO] [stdout] test pyright_enrich::tests::merge_skips_unannotated_without_diag ... ok
[INFO] [stdout] test pyright_enrich::tests::parse_diagnostics_handles_empty_diagnostics_array ... ok
[INFO] [stdout] test pyright_enrich::tests::parse_diagnostics_handles_malformed_json ... ok
[INFO] [stdout] test ranking::tests::lexical_overlap_still_dominates_when_strong ... ok
[INFO] [stdout] test ranking::tests::no_scorer_falls_back_to_pure_term_overlap ... ok
[INFO] [stdout] test ranking::tests::semantic_scorer_promotes_aligned_caller_under_zero_overlap ... ok
[INFO] [stdout] test ranking::tests::semantic_scorer_winner_follows_scorer_output ... ok
[INFO] [stdout] test rustdoc_enrich::tests::fqn_ends_with_partial_name_no_match ... ok
[INFO] [stdout] test pyright_enrich::tests::parse_diagnostics_ignores_non_information_severity ... ok
[INFO] [stdout] test rustdoc_enrich::tests::fqn_ends_with_suffix ... ok
[INFO] [stdout] test rustdoc_enrich::tests::merge_empty_map_returns_zero ... ok
[INFO] [stdout] test rustdoc_enrich::tests::merge_enriches_rust_symbol_by_fqn_suffix ... ok
[INFO] [stdout] test rustdoc_enrich::tests::merge_enriches_rust_symbol_by_name ... ok
[INFO] [stdout] test rustdoc_enrich::tests::merge_skips_non_rust_symbol ... ok
[INFO] [stdout] test pyright_enrich::tests::python_files_hash_changes_when_file_added ... ok
[INFO] [stdout] test rustdoc_enrich::tests::merge_preserves_existing_source ... ok
[INFO] [stdout] test pyright_enrich::tests::parse_diagnostics_extracts_information_entries ... ok
[INFO] [stdout] test rustdoc_enrich::tests::parse_rustdoc_json_malformed_returns_empty ... ok
[INFO] [stdout] test rustdoc_enrich::tests::type_to_string_option ... ok
[INFO] [stdout] test rustdoc_enrich::tests::type_to_string_primitive ... ok
[INFO] [stdout] test rustdoc_enrich::tests::type_to_string_resolved_path ... ok
[INFO] [stdout] test rustdoc_enrich::tests::type_to_string_tuple_unit ... ok
[INFO] [stdout] test pyright_enrich::tests::python_files_hash_skips_pycache_dir ... ok
[INFO] [stdout] test pyright_enrich::tests::python_files_hash_ignores_non_python_files ... ok
[INFO] [stdout] test symbol::tests::symbol_id_distinguishes_files ... ok
[INFO] [stdout] test symbol::tests::symbol_id_distinguishes_names ... ok
[INFO] [stdout] test symbol::tests::symbol_id_stable_across_line_shifts ... ok
[INFO] [stdout] test ts_enrich::tests::fqn_ends_with_negative ... ok
[INFO] [stdout] test ts_enrich::tests::fqn_ends_with_positive ... ok
[INFO] [stdout] test ts_enrich::tests::fqn_ends_with_repeated_segment_name ... ok
[INFO] [stdout] test rustdoc_enrich::tests::parse_rustdoc_json_missing_index_returns_err ... ok
[INFO] [stdout] test ts_enrich::tests::merge_empty_map_returns_zero ... ok
[INFO] [stdout] test ts_enrich::tests::merge_jsx_tsx_enriched ... ok
[INFO] [stdout] test ts_enrich::tests::merge_name_only_fallback ... ok
[INFO] [stdout] test ts_enrich::tests::merge_only_ts_js_symbols ... ok
[INFO] [stdout] test ts_enrich::tests::merge_preserves_existing_source ... ok
[INFO] [stdout] test ts_enrich::tests::parse_ndjson_basic ... ok
[INFO] [stdout] test ts_enrich::tests::parse_ndjson_skips_empty_type ... ok
[INFO] [stdout] test ts_enrich::tests::parse_ndjson_skips_malformed ... ok
[INFO] [stdout] test pyright_enrich::tests::run_pyright_enrichment_skips_without_python_symbols ... ok
[INFO] [stdout] test pyright_enrich::tests::enrichment_cache_hit_returns_zero ... ok
[INFO] [stdout] test rustdoc_enrich::tests::nightly_gate_skips_without_cargo_toml ... ok
[INFO] [stdout] test ts_enrich::tests::gate_skips_without_tsconfig ... ok
[INFO] [stdout] test rustdoc_enrich::tests::rustdoc_incremental_cache_hit ... ok
[INFO] [stdout] test search::tests::search_name_ignores_body_noise ... ok
[INFO] [stdout] test search::tests::search_name_matches_tokenised_substring ... ok
[INFO] [stdout] test ts_enrich::tests::ts_incremental_cache_hit ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 200 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.41s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/capsule.rs (/opt/rustwide/target/debug/deps/capsule-815472b0a746e220)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test chunk_for_query_short_body_unchanged ... ok
[INFO] [stdout] test chunk_for_query_returns_relevant_window ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/engine.rs (/opt/rustwide/target/debug/deps/engine-d84573f5a7dd09dd)
[INFO] [stdout] 
[INFO] [stdout] running 96 tests
[INFO] [stdout] test auto_observation_gets_7_day_ttl ... ok
[INFO] [stdout] test config_toml_enables_auto_observations ... ok
[INFO] [stdout] test compress_observations_merges_symbol_observations ... ok
[INFO] [stdout] test context_dedupes_against_task ... ok
[INFO] [stdout] test codesurgeonignore_glob_pattern_excludes_directory ... ok
[INFO] [stdout] test consolidate_observations_is_noop_without_embedder ... ok
[INFO] [stdout] test corrupt_sqlite_returns_err_not_panic ... ok
[INFO] [stdout] test consolidate_does_not_expire_observations_without_embedder ... ok
[INFO] [stdout] test engine_config_ts_types_defaults_to_false ... ok
[INFO] [stdout] test codesurgeonignore_excludes_files ... ok
[INFO] [stdout] test consolidated_kind_not_in_candidates_pool ... ok
[INFO] [stdout] test context_recovers_identifier_paraphrased_out_of_task ... ok
[INFO] [stdout] test context_none_matches_plain_run_pipeline ... ok
[INFO] [stdout] test context_traceback_frame_surfaces_plain_lowercase_function ... ok
[INFO] [stdout] test get_context_capsule_min_score_filters_all_below_threshold ... ok
[INFO] [stdout] test concurrent_reindex_same_file ... ok
[INFO] [stdout] test get_context_capsule_max_results_caps_pivots ... ok
[INFO] [stdout] test get_context_capsule_writes_auto_observation ... ok
[INFO] [stdout] test get_impact_graph_exclude_tests_filters_test_files ... ok
[INFO] [stdout] test file_with_api_key_content_is_not_indexed ... ok
[INFO] [stdout] test get_impact_graph_caps_direct_dependents_for_high_fanout ... ok
[INFO] [stdout] test get_impact_graph_max_depth_limits_traversal ... ok
[INFO] [stdout] test get_stats_empty_log_returns_no_data_message ... ok
[INFO] [stdout] test get_skeleton_max_depth_filters_nested_symbols ... ok
[INFO] [stdout] test external_reindex_on_fresh_workspace_invalidates_in_memory_state ... ok
[INFO] [stdout] test get_session_context_returns_session_context_struct ... ok
[INFO] [stdout] test get_stats_large_days_includes_recent_queries ... ok
[INFO] [stdout] test get_stats_counts_logged_queries ... ok
[INFO] [stdout] test gitignore_omits_manifest_when_tracked ... ok
[INFO] [stdout] test gitignore_written_on_new ... ok
[INFO] [stdout] test get_symbol_snippet_returns_body_for_known_fqn ... ok
[INFO] [stdout] test index_stats_reports_live_vs_recorded_edges ... ok
[INFO] [stdout] test get_stats_savings_pct_in_valid_range ... ok
[INFO] [stdout] test engine_applies_ts_types_config_from_toml ... ok
[INFO] [stdout] test indexing_config_all_three_enrichment_flags ... ok
[INFO] [stdout] test index_stubs_false_skips_stub_files ... ok
[INFO] [stdout] test index_stats_reports_manifest_info ... ok
[INFO] [stdout] test indexing_config_defaults_to_false ... ok
[INFO] [stdout] test indexing_config_reads_python_pyright ... ok
[INFO] [stdout] test indexing_config_rust_expand_macros_loaded_from_toml ... ok
[INFO] [stdout] test indexing_config_rust_rustdoc_types_loaded_from_toml ... ok
[INFO] [stdout] test indexing_config_ts_types_defaults_to_false ... ok
[INFO] [stdout] test indexing_config_ts_types_loaded_from_toml ... ok
[INFO] [stdout] test indexing_config_both_enrichment_flags ... ok
[INFO] [stdout] test macro_enrichment_skipped_without_cargo_toml ... ok
[INFO] [stdout] test manual_observation_has_no_ttl_by_default ... ok
[INFO] [stdout] test memory_config_toml_missing_returns_defaults ... ok
[INFO] [stdout] test memory_config_toml_overrides_defaults ... ok
[INFO] [stdout] test incremental_index_skips_unchanged_files ... ok
[INFO] [stdout] test parallel_queries_do_not_deadlock ... ok
[INFO] [stdout] test index_workspace_produces_inherits_edges_per_language ... ok
[INFO] [stdout] test manifest_written_after_index ... ok
[INFO] [stdout] test pyright_return_type_extraction_variants ... ok
[INFO] [stdout] test external_reindex_invalidates_skeleton_results ... ok
[INFO] [stdout] test macro_enrichment_skipped_for_non_rust_files ... ok
[INFO] [stdout] test prune_expired_removes_past_ttl_observations ... ok
[INFO] [stdout] test pyright_enrichment_skipped_without_python_symbols ... ok
[INFO] [stdout] test external_reindex_invalidates_in_memory_state ... ok
[INFO] [stdout] test reindex_body_change_sets_change_category ... ok
[INFO] [stdout] test index_workspace_prunes_stale_files ... ok
[INFO] [stdout] test project_files_are_not_stubs ... ok
[INFO] [stdout] test python_pyi_stubs_indexed ... ok
[INFO] [stdout] test query_during_indexing_does_not_panic ... ok
[INFO] [stdout] test resolved_type_round_trips_through_db ... ok
[INFO] [stdout] test reindex_deleted_symbol_sets_change_category ... ok
[INFO] [stdout] test reindex_file_removed_purges_from_search ... ok
[INFO] [stdout] test run_pipeline_file_hint_restricts_to_matching_file ... ok
[INFO] [stdout] test run_pipeline_no_pivots_skips_auto_observation ... ok
[INFO] [stdout] test rustdoc_enrichment_skipped_without_cargo_toml ... ok
[INFO] [stdout] test reindex_new_symbol_sets_change_category ... ok
[INFO] [stdout] test run_pipeline_deduplicates_auto_observations ... ok
[INFO] [stdout] test re_index_after_edit_preserves_edges ... ok
[INFO] [stdout] test run_pipeline_does_not_auto_record_when_flag_disabled ... ok
[INFO] [stdout] test search_memory_returns_empty_for_no_match ... ok
[INFO] [stdout] test search_memory_excludes_expired_observations ... ok
[INFO] [stdout] test run_pipeline_writes_auto_observation ... ok
[INFO] [stdout] test search_memory_returns_matching_observations ... ok
[INFO] [stdout] test search_memory_ranks_by_term_overlap ... ok
[INFO] [stdout] test staleness_score_nonzero_after_stale_mark ... ok
[INFO] [stdout] test run_pipeline_language_filter_excludes_other_langs ... ok
[INFO] [stdout] test search_memory_respects_max_results ... ok
[INFO] [stdout] test reindex_import_sets_dependency_added ... ok
[INFO] [stdout] test sensitive_files_are_not_indexed ... ok
[INFO] [stdout] test symbol_resolved_type_is_none_by_default ... ok
[INFO] [stdout] test submit_lsp_edges_unknown_fqn_skipped ... ok
[INFO] [stdout] test submit_lsp_edges_accepted_count ... ok
[INFO] [stdout] test staleness_score_zero_when_no_stale ... ok
[INFO] [stdout] test swift_swiftinterface_stubs_indexed ... ok
[INFO] [stdout] test ts_enrichment_skipped_without_tsconfig ... ok
[INFO] [stdout] test ts_resolved_type_round_trips_through_db ... ok
[INFO] [stdout] test symbol_source_is_none_for_regular_code ... ok
[INFO] [stdout] test traceback_resolves_class_method_via_leaf_and_file_path ... ok
[INFO] [stdout] test stub_files_indexed_but_not_returned_as_pivots ... ok
[INFO] [stdout] test submit_lsp_edges_idempotent ... ok
[INFO] [stdout] test submit_lsp_edges_invalidated_on_reindex ... ok
[INFO] [stdout] test ts_enrichment_end_to_end_with_node ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 96 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 5.80s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/enrichment_e2e.rs (/opt/rustwide/target/debug/deps/enrichment_e2e-4aa93e5d943dfd90)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test ts_no_tsconfig_leaves_cache_empty ... ok
[INFO] [stdout] test pyright_empty_symbols_returns_zero ... ok
[INFO] [stdout] test rustdoc_no_cargo_toml_leaves_cache_empty ... ok
[INFO] [stdout] test rustdoc_cache_hit_bypasses_cargo_doc ... ok
[INFO] [stdout] test ts_cache_hit_bypasses_node ... ok
[INFO] [stdout] test all_enrichers_accept_empty_symbol_slice ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.34s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/language.rs (/opt/rustwide/target/debug/deps/language-e996f449643e9393)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test detects_dts_as_typescript ... ok
[INFO] [stdout] test detects_pyi_as_python ... ok
[INFO] [stdout] test detects_python ... ok
[INFO] [stdout] test detects_tsx ... ok
[INFO] [stdout] test detects_swiftinterface_as_swift ... ok
[INFO] [stdout] test detects_rust ... ok
[INFO] [stderr]      Running tests/ranking_v16.rs (/opt/rustwide/target/debug/deps/ranking_v16-76260bcb9e4fd90a)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test many_hits_same_file_pin_once ... ok
[INFO] [stdout] test specificity_tiebreak_prefers_deeper_fqn ... ok
[INFO] [stdout] test anchor_rrf_overlap_dedup ... ok
[INFO] [stdout] test no_anchors_default_eight_pivots ... ok
[INFO] [stdout] test three_distinct_files_all_pinned ... ok
[INFO] [stdout] test pinned_plus_fill_equals_max_pivots ... ok
[INFO] [stdout] test file_budget_caps_pinning_at_five ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.72s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/reverse_expand.rs (/opt/rustwide/target/debug/deps/reverse_expand-73cdb60b941fecfc)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test non_trivial_exception_classes_remain_eligible_as_pivots ... ok
[INFO] [stdout] test without_reverse_expand_indirect_caller_is_missed ... ok
[INFO] [stdout] test generic_anchor_does_not_trigger_reverse_expand ... ok
[INFO] [stdout] test reverse_expand_surfaces_indirect_caller ... ok
[INFO] [stdout] test reverse_expand_does_not_surface_import_statements ... ok
[INFO] [stdout] test trivial_exception_stub_is_excluded_from_pivots ... ok
[INFO] [stdout] test feature_flag_respected ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.18s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/skeletonizer.rs (/opt/rustwide/target/debug/deps/skeletonizer-1fd13f8557d716bf)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test callable_skeleton_has_no_body ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/codesurgeon_mcp-cfc7bfda4b4afc71)
[INFO] [stdout] 
[INFO] [stdout] running 13 tests
[INFO] [stdout] test transport::tests::rejects_oversized_content_length ... ok
[INFO] [stdout] test transport::tests::reads_framed_message ... ok
[INFO] [stdout] test transport::tests::reads_ndjson_message ... ok
[INFO] [stdout] test transport::tests::eof_mid_body_returns_error ... ok
[INFO] [stdout] test transport::tests::rejects_non_utf8_body ... ok
[INFO] [stdout] test transport::tests::rejects_non_numeric_content_length ... ok
[INFO] [stdout] test transport::tests::ignores_extra_headers_before_blank_line ... ok
[INFO] [stdout] test transport::tests::returns_none_on_eof ... ok
[INFO] [stdout] test transport::tests::reads_multiple_framed_messages_sequentially ... ok
[INFO] [stdout] test transport::tests::skips_blank_lines_between_messages ... ok
[INFO] [stdout] test transport::tests::write_clf_produces_content_length_header ... ok
[INFO] [stdout] test transport::tests::write_ndjson_produces_newline_terminated_json ... ok
[INFO] [stdout] test transport::tests::write_clf_then_read_roundtrip ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/mcp_protocol.rs (/opt/rustwide/target/debug/deps/mcp_protocol-adc866f42e710c67)
[INFO] [stdout] 
[INFO] [stdout] running 22 tests
[INFO] [stdout] test initialize_response_has_jsonrpc_field ... ok
[INFO] [stdout] test initialize_advertises_resources_capability ... ok
[INFO] [stdout] test malformed_json_returns_parse_error ... ok
[INFO] [stdout] test ndjson_input_is_accepted ... ok
[INFO] [stdout] test get_diff_capsule_via_diff_path_reads_file ... ok
[INFO] [stdout] test get_diff_capsule_rejects_oversized_file ... ok
[INFO] [stdout] test ndjson_input_gets_ndjson_response ... ok
[INFO] [stdout] test prompts_list_returns_empty_array ... ok
[INFO] [stdout] test concurrent_sessions_both_serve_tools_list ... ok
[INFO] [stdout] test resources_list_returns_empty_array ... ok
[INFO] [stdout] test responses_are_content_length_framed ... ok
[INFO] [stdout] test ping_returns_ok ... ok
[INFO] [stdout] test get_diff_capsule_diff_path_wins_when_both_set ... ok
[INFO] [stdout] test resources_templates_list_returns_empty_array ... ok
[INFO] [stdout] test get_diff_capsule_rejects_relative_diff_path ... ok
[INFO] [stdout] test tools_list_returns_tools ... ok
[INFO] [stdout] test tools_call_missing_required_arg_returns_error ... ok
[INFO] [stdout] test tools_list_input_schemas_have_no_top_level_combinators ... ok
[INFO] [stdout] test parallel_connections_both_complete_handshake ... ok
[INFO] [stdout] test get_diff_capsule_rejects_missing_diff ... ok
[INFO] [stdout] test unknown_method_returns_minus_32601 ... ok
[INFO] [stdout] test tools_call_unknown_tool_returns_error ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 22 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.52s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests cs_core
[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" "b7eb6c50904d20e6bb7a0685e779d09db9d8f71c4339fed615cd132a14ebf32c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b7eb6c50904d20e6bb7a0685e779d09db9d8f71c4339fed615cd132a14ebf32c", kill_on_drop: false }`
[INFO] [stdout] b7eb6c50904d20e6bb7a0685e779d09db9d8f71c4339fed615cd132a14ebf32c
