[INFO] fetching crate olaf 0.7.2...
[INFO] testing olaf-0.7.2 against try#33835004928d3bf65db4d4712e1330766263b0bd for pr-155739-1
[INFO] extracting crate olaf 0.7.2 into /workspace/builds/worker-7-tc2/source
[INFO] started tweaking crates.io crate olaf 0.7.2
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate olaf 0.7.2
[INFO] tweaked toml for crates.io crate olaf 0.7.2 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate olaf 0.7.2 on toolchain 33835004928d3bf65db4d4712e1330766263b0bd
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate olaf 0.7.2 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 42cd9321f64db879924f97ee00ce1c843d4da3cc9b4e2080bdb85e45a903043b
[INFO] running `Command { std: "docker" "start" "-a" "42cd9321f64db879924f97ee00ce1c843d4da3cc9b4e2080bdb85e45a903043b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "42cd9321f64db879924f97ee00ce1c843d4da3cc9b4e2080bdb85e45a903043b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "42cd9321f64db879924f97ee00ce1c843d4da3cc9b4e2080bdb85e45a903043b", kill_on_drop: false }`
[INFO] [stdout] 42cd9321f64db879924f97ee00ce1c843d4da3cc9b4e2080bdb85e45a903043b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b48c9754adbfe79d1c1213da989b9a8c851e23fb98ff0fb70343d19102aae13f
[INFO] running `Command { std: "docker" "start" "-a" "b48c9754adbfe79d1c1213da989b9a8c851e23fb98ff0fb70343d19102aae13f", kill_on_drop: false }`
[INFO] [stderr]    Compiling tree-sitter-language v0.1.7
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling instability v0.3.11
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling lru v0.16.3
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling compact_str v0.9.0
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling winapi-build v0.1.1
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling kernel32-sys v0.2.2
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling line-clipping v0.3.5
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling clap_builder v4.5.60
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling hashlink v0.11.0
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling winapi v0.2.8
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling rusqlite_migration v2.4.1
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling constant_time_eq v0.4.2
[INFO] [stderr]    Compiling streaming-iterator v0.1.9
[INFO] [stderr]    Compiling jiff v0.2.22
[INFO] [stderr]    Compiling ctrlc v2.0.1
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling libsqlite3-sys v0.36.0
[INFO] [stderr]    Compiling tree-sitter-javascript v0.25.0
[INFO] [stderr]    Compiling tree-sitter-python v0.25.0
[INFO] [stderr]    Compiling tree-sitter-php v0.24.2
[INFO] [stderr]    Compiling tree-sitter-go v0.25.0
[INFO] [stderr]    Compiling blake3 v1.8.3
[INFO] [stderr]    Compiling tree-sitter-rust v0.24.0
[INFO] [stderr]    Compiling tree-sitter-typescript v0.23.2
[INFO] [stderr]    Compiling unicode-truncate v2.0.1
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling tree-sitter v0.25.10
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling env_filter v1.0.0
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling ignore v0.4.25
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling kasuari v0.4.12
[INFO] [stderr]    Compiling strum v0.27.2
[INFO] [stderr]    Compiling ratatui-core v0.1.0
[INFO] [stderr]    Compiling clap v4.5.60
[INFO] [stderr]    Compiling env_logger v0.11.9
[INFO] [stderr]    Compiling clap_complete v4.5.66
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling ratatui-widgets v0.3.0
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling ratatui-macros v0.7.0
[INFO] [stderr]    Compiling ratatui v0.30.0
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling rusqlite v0.38.0
[INFO] [stderr]    Compiling olaf v0.7.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 59.40s
[INFO] running `Command { std: "docker" "inspect" "b48c9754adbfe79d1c1213da989b9a8c851e23fb98ff0fb70343d19102aae13f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b48c9754adbfe79d1c1213da989b9a8c851e23fb98ff0fb70343d19102aae13f", kill_on_drop: false }`
[INFO] [stdout] b48c9754adbfe79d1c1213da989b9a8c851e23fb98ff0fb70343d19102aae13f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7a3497ce6613fcb93ec2919e55631c9afe8dc58c3a2cd9186bd65b7de6f1498e
[INFO] running `Command { std: "docker" "start" "-a" "7a3497ce6613fcb93ec2919e55631c9afe8dc58c3a2cd9186bd65b7de6f1498e", kill_on_drop: false }`
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling predicates-core v1.0.10
[INFO] [stderr]    Compiling getrandom v0.4.1
[INFO] [stderr]    Compiling assert_cmd v2.1.2
[INFO] [stderr]    Compiling termtree v0.5.1
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling yansi v1.0.1
[INFO] [stderr]    Compiling diff v0.1.13
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling predicates v3.1.4
[INFO] [stderr]    Compiling predicates-tree v1.0.13
[INFO] [stderr]    Compiling pretty_assertions v1.4.1
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling tempfile v3.26.0
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.0
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling ratatui v0.30.0
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling env_filter v1.0.0
[INFO] [stderr]    Compiling tree-sitter v0.25.10
[INFO] [stderr]    Compiling env_logger v0.11.9
[INFO] [stderr]    Compiling ignore v0.4.25
[INFO] [stderr]    Compiling olaf v0.7.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 34.24s
[INFO] running `Command { std: "docker" "inspect" "7a3497ce6613fcb93ec2919e55631c9afe8dc58c3a2cd9186bd65b7de6f1498e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7a3497ce6613fcb93ec2919e55631c9afe8dc58c3a2cd9186bd65b7de6f1498e", kill_on_drop: false }`
[INFO] [stdout] 7a3497ce6613fcb93ec2919e55631c9afe8dc58c3a2cd9186bd65b7de6f1498e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] d9423c380ab82e948c17aa0085cdaab37a31bed5fb3f14b354966cb3b00af1b6
[INFO] running `Command { std: "docker" "start" "-a" "d9423c380ab82e948c17aa0085cdaab37a31bed5fb3f14b354966cb3b00af1b6", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.62s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/olaf-edc71de070476150)
[INFO] [stdout] 
[INFO] [stdout] running 724 tests
[INFO] [stdout] test activity::tests::test_emit_is_infallible ... ok
[INFO] [stdout] test activity::tests::test_is_monitor_active_false_when_no_pidfile ... ok
[INFO] [stdout] test activity::tests::test_is_monitor_active_true_when_own_pid ... ok
[INFO] [stdout] test activity::tests::test_is_monitor_active_skips_malformed_filenames ... ok
[INFO] [stdout] test activity::tests::test_monitor_guard_caches_check ... ok
[INFO] [stdout] test activity::tests::test_summarize_analyze_failure_hides_trace ... ok
[INFO] [stdout] test activity::tests::test_sanitize_error_redacts_sensitive_paths ... ok
[INFO] [stdout] test activity::tests::test_sanitize_error_truncates ... ok
[INFO] [stdout] test activity::tests::test_summarize_tool_call_truncates ... ok
[INFO] [stdout] test activity::tests::test_summarize_unknown_tool ... ok
[INFO] [stdout] test activity::tests::test_truncate_long_string ... ok
[INFO] [stdout] test activity::tests::test_truncate_short_string ... ok
[INFO] [stdout] test activity::tests::test_summarize_tool_call_redacts_sensitive ... ok
[INFO] [stdout] test activity::tests::test_monitor_guard_refreshes_after_timeout ... ok
[INFO] [stdout] test activity::tests::test_emit_swallows_errors ... ok
[INFO] [stdout] test config::tests::test_detect_branch_detached ... ok
[INFO] [stdout] test activity::tests::test_monitor_guard_lazy_connection ... ok
[INFO] [stdout] test config::tests::test_detect_branch_normal ... ok
[INFO] [stdout] test activity::tests::test_is_monitor_active_false_when_dead_pid ... ok
[INFO] [stdout] test config::tests::test_resolve_worktree_root_normal_repo ... ok
[INFO] [stdout] test config::tests::test_resolve_worktree_root_no_git ... ok
[INFO] [stdout] test config::tests::test_resolve_worktree_root_malformed_git_file ... ok
[INFO] [stdout] test config::tests::test_resolve_worktree_root_submodule_not_resolved ... ok
[INFO] [stdout] test config::tests::test_resolve_worktree_root_absolute_gitdir ... ok
[INFO] [stdout] test config::tests::test_detect_branch_worktree_absolute ... ok
[INFO] [stdout] test config::tests::test_resolve_worktree_root_relative_gitdir ... ok
[INFO] [stdout] test db::tests::test_open_readonly_does_not_create_dirs ... ok
[INFO] [stdout] test db::tests::test_open_readonly_missing_file ... ok
[INFO] [stdout] test config::tests::test_detect_branch_worktree_relative ... ok
[INFO] [stdout] test config::tests::test_detect_branch_no_git ... ok
[INFO] [stdout] test graph::query::eval::coverage_level_all_tier1_are_strong ... ok
[INFO] [stdout] test graph::query::eval::coverage_level_none_is_unknown ... ok
[INFO] [stdout] test graph::query::eval::coverage_level_rust_is_strong ... ok
[INFO] [stdout] test graph::query::eval::coverage_level_unknown_language_is_unknown ... ok
[INFO] [stdout] test graph::query::eval::format_coverage_suffix_with_omissions ... ok
[INFO] [stdout] test graph::query::eval::format_coverage_suffix_without_omissions ... ok
[INFO] [stdout] test graph::query::eval::format_freshness_footer_current ... ok
[INFO] [stdout] test graph::query::eval::format_freshness_footer_never ... ok
[INFO] [stdout] test config::tests::test_detect_branch_feature_slash ... ok
[INFO] [stdout] test graph::query::eval::omitted_hints_unknown_returns_empty ... ok
[INFO] [stdout] test graph::query::eval::omitted_hints_rust_returns_known_gaps ... ok
[INFO] [stdout] test activity::tests::test_emit_inserts_event ... ok
[INFO] [stdout] test db::tests::test_open_readonly_valid_db ... ok
[INFO] [stdout] test db::tests::test_corruption_recovery_renames_not_deletes ... ok
[INFO] [stdout] test db::tests::test_migration_002_adds_source_origin ... ok
[INFO] [stdout] test graph::query::eval::check_freshness_matching_hash_is_current ... ok
[INFO] [stdout] test db::tests::test_migration_014_centrality_column ... ok
[INFO] [stdout] test graph::query::tests::ac2_supporting_symbol_renders_signature_and_docstring_no_code_block ... ok
[INFO] [stdout] test graph::query::tests::ac1_pivot_symbol_rendered_with_fenced_code_block ... ok
[INFO] [stdout] test graph::query::eval::check_freshness_mismatched_hash_is_stale ... ok
[INFO] [stdout] test graph::query::tests::detect_intent_bugfix_signals ... ok
[INFO] [stdout] test graph::query::tests::detect_intent_implementation_signals ... ok
[INFO] [stdout] test graph::query::tests::detect_intent_refactor_signals ... ok
[INFO] [stdout] test graph::query::tests::detect_intent_tie_resolved_by_priority ... ok
[INFO] [stdout] test graph::query::tests::detect_intent_unknown_returns_balanced ... ok
[INFO] [stdout] test graph::query::tests::detect_intent_word_boundary_no_false_positive ... ok
[INFO] [stdout] test graph::query::eval::check_freshness_missing_disk_file_is_unknown ... ok
[INFO] [stdout] test graph::query::eval::check_freshness_missing_row_is_unknown ... ok
[INFO] [stdout] test db::tests::test_foreign_key_enforcement ... ok
[INFO] [stdout] test db::tests::test_migration_013_fts5_symbols ... ok
[INFO] [stdout] test graph::query::tests::expand_name_tokens_camel_case ... ok
[INFO] [stdout] test graph::query::tests::expand_name_tokens_consecutive_uppercase ... ok
[INFO] [stdout] test graph::query::tests::expand_name_tokens_empty ... ok
[INFO] [stdout] test graph::query::tests::expand_name_tokens_pascal_case ... ok
[INFO] [stdout] test graph::query::tests::expand_name_tokens_single_word ... ok
[INFO] [stdout] test graph::query::tests::expand_name_tokens_snake_case ... ok
[INFO] [stdout] test graph::query::tests::fallback_reason_absent_when_genuinely_balanced ... ok
[INFO] [stdout] test graph::query::tests::fallback_reason_emitted_when_mode_detected_but_low_confidence ... ok
[INFO] [stdout] test graph::query::tests::ac3_supporting_no_docstring_emits_no_placeholder ... ok
[INFO] [stdout] test db::tests::test_db_opens_creates_tables_and_sets_pragmas ... ok
[INFO] [stdout] test graph::query::tests::ac5_supporting_section_at_least_30_percent_fewer_chars_than_full_body ... ok
[INFO] [stdout] test graph::query::tests::ac4_pivot_exhausts_budget_zero_supporting_symbols_in_output ... ok
[INFO] [stdout] test graph::query::eval::check_files_freshness_aggregate_stale ... ok
[INFO] [stdout] test graph::query::tests::find_pivot_symbols_file_hint_excludes_child_symbols ... ok
[INFO] [stdout] test graph::query::tests::downgrade_renders_more_supporting_symbols ... ok
[INFO] [stdout] test graph::query::tests::get_context_with_pivots_no_match ... ok
[INFO] [stdout] test graph::query::tests::bm25_ranking_with_match_class_metadata ... ok
[INFO] [stdout] test graph::query::eval::project_obs_relevant_included_with_label ... ok
[INFO] [stdout] test graph::query::tests::get_context_response_contains_intent_mode_line ... ok
[INFO] [stdout] test graph::query::tests::get_context_with_pivots_uses_explicit_fqns ... ok
[INFO] [stdout] test graph::query::eval::project_obs_punctuation_heavy_intents_match ... ok
[INFO] [stdout] test graph::query::eval::project_obs_irrelevant_excluded ... ok
[INFO] [stdout] test graph::query::tests::get_file_skeleton_baseline_output ... ok
[INFO] [stdout] test graph::query::tests::get_file_skeleton_applies_child_redaction ... ok
[INFO] [stdout] test graph::query::tests::get_file_skeleton_grouped_method_renders_deps ... ok
[INFO] [stdout] test graph::query::tests::get_file_skeleton_minimal_omits_children ... ok
[INFO] [stdout] test graph::query::tests::exact_name_bypasses_candidate_gather_limit ... ok
[INFO] [stdout] test graph::query::tests::get_file_skeleton_detailed_shows_all_children ... ok
[INFO] [stdout] test graph::query::tests::get_file_skeleton_standard_matches_current ... ok
[INFO] [stdout] test graph::query::tests::get_file_skeleton_redacted_method_hides_deps ... ok
[INFO] [stdout] test graph::query::tests::get_file_skeleton_renders_standalone_functions_at_top_level ... ok
[INFO] [stdout] test graph::query::tests::impact_excludes_unrelated_edge_kinds ... ok
[INFO] [stdout] test graph::query::tests::impact_includes_uses_type_edges ... ok
[INFO] [stdout] test graph::query::tests::lookup_symbol_at_line_method_wins_over_class ... ok
[INFO] [stdout] test graph::query::tests::normalize_query_terms_deduplication ... ok
[INFO] [stdout] test graph::query::tests::normalize_query_terms_dot_separated ... ok
[INFO] [stdout] test graph::query::tests::normalize_query_terms_snake_case_preserves_compound ... ok
[INFO] [stdout] test graph::query::tests::normalize_query_terms_whitespace_and_punctuation ... ok
[INFO] [stdout] test graph::query::tests::normalize_query_terms_with_min_filters_single_char ... ok
[INFO] [stdout] test graph::query::tests::normalize_query_terms_with_min_preserves_short_tokens ... ok
[INFO] [stdout] test graph::query::tests::observation_recency_labels_appended ... ok
[INFO] [stdout] test graph::query::tests::impact_traverses_uses_type_transitively ... ok
[INFO] [stdout] test graph::query::tests::get_file_skeleton_groups_impl_methods_under_type_without_double_rendering ... ok
[INFO] [stdout] test graph::query::eval::project_obs_respects_token_sub_budget ... ok
[INFO] [stdout] test graph::query::tests::pivot_ranking_case_variant_keywords_dedup_is_correct ... ok
[INFO] [stdout] test graph::query::tests::pivot_ranking_file_hints_take_priority ... ok
[INFO] [stdout] test graph::query::tests::pivot_ranking_deterministic_id_tiebreak ... ok
[INFO] [stdout] test graph::query::tests::policy_dominant_refactor_depth_three ... ok
[INFO] [stdout] test graph::query::tests::policy_high_bugfix_confidence_inbound_first ... ok
[INFO] [stdout] test graph::query::tests::policy_implementation_outbound_only ... ok
[INFO] [stdout] test graph::query::tests::policy_low_confidence_fallback_widens_pool ... ok
[INFO] [stdout] test graph::query::tests::profile_mixed_two_categories_low_confidence ... ok
[INFO] [stdout] test graph::query::tests::profile_no_signals_zero_confidence ... ok
[INFO] [stdout] test graph::query::tests::profile_signals_are_canonical_keywords_not_raw_input ... ok
[INFO] [stdout] test graph::query::tests::profile_single_category_high_confidence ... ok
[INFO] [stdout] test graph::query::tests::profile_single_signal_no_regression ... ok
[INFO] [stdout] test graph::query::tests::profile_three_categories_even_split ... ok
[INFO] [stdout] test graph::query::tests::pivot_ranking_exact_match_classified_correctly ... ok
[INFO] [stdout] test graph::query::tests::enum_uses_type_edge_resolves ... ok
[INFO] [stdout] test graph::query::tests::pivot_ranking_fqn_matching ... ok
[INFO] [stdout] test graph::query::tests::rank_symbols_by_keywords_limit_zero_returns_empty ... ok
[INFO] [stdout] test graph::query::tests::pivot_ranking_fts5_returns_both_exact_and_segment_matches ... ok
[INFO] [stdout] test graph::query::tests::reason_dropped_before_symbol_when_budget_tight ... ok
[INFO] [stdout] test graph::query::tests::rank_symbols_by_keywords_lexicographic_sort_and_metadata ... ok
[INFO] [stdout] test graph::query::tests::enum_uses_type_edge_resolves_incremental ... ok
[INFO] [stdout] test graph::query::tests::rank_symbols_by_keywords_excludes_child_symbols ... ok
[INFO] [stdout] test graph::query::tests::rank_symbols_by_keywords_matches_find_pivot_logic ... ok
[INFO] [stdout] test graph::query::tests::retrieval_notes_contain_rendered_pivots_only ... ok
[INFO] [stdout] test graph::query::tests::rank_symbols_by_keywords_no_match_returns_empty ... ok
[INFO] [stdout] test graph::query::tests::impact_max_per_hop_with_uses_type ... ok
[INFO] [stdout] test graph::query::tests::rrf_fusion_centrality_breaks_bm25_tie ... ok
[INFO] [stdout] test graph::query::tests::rrf_below_coverage_threshold_skips_embedding_signal ... ok
[INFO] [stdout] test graph::query::tests::rrf_exact_match_beats_moderate_centrality_segment ... ok
[INFO] [stdout] test graph::query::tests::sanitize_fts5_deduplicates ... ok
[INFO] [stdout] test graph::query::tests::get_context_with_pivots_includes_observations ... ok
[INFO] [stdout] test graph::query::tests::sanitize_fts5_empty_input ... ok
[INFO] [stdout] test graph::query::tests::sanitize_fts5_strips_special_chars ... ok
[INFO] [stdout] test graph::query::tests::sanitize_fts5_strips_dots_and_slashes ... ok
[INFO] [stdout] test graph::query::tests::rrf_fusion_uniform_centrality_preserves_bm25_order ... ok
[INFO] [stdout] test graph::query::tests::rrf_graceful_without_embeddings ... ok
[INFO] [stdout] test graph::query::tests::selection_reason_file_hint_path ... ok
[INFO] [stdout] test graph::query::tests::rrf_partial_embeddings_pool ... ok
[INFO] [stdout] test graph::query::tests::rrf_three_signal_with_embeddings ... ok
[INFO] [stdout] test graph::query::tests::tokenize_identifier_all_uppercase ... ok
[INFO] [stdout] test graph::query::tests::tokenize_identifier_camel_case ... ok
[INFO] [stdout] test graph::query::tests::tokenize_identifier_consecutive_uppercase ... ok
[INFO] [stdout] test graph::query::tests::tokenize_identifier_mixed_case_complex ... ok
[INFO] [stdout] test graph::query::tests::tokenize_identifier_pascal_case ... ok
[INFO] [stdout] test graph::query::tests::tokenize_identifier_single_word ... ok
[INFO] [stdout] test graph::query::tests::tokenize_identifier_snake_case ... ok
[INFO] [stdout] test graph::query::tests::rrf_multi_term_beats_single_term_high_centrality ... ok
[INFO] [stdout] test graph::query::tests::selection_reason_caller_supplied_path ... ok
[INFO] [stdout] test graph::query::tests::selection_reason_fallback_path ... ok
[INFO] [stdout] test graph::query::tests::supporting_skeletons_downgrade_when_budget_tight ... ok
[INFO] [stdout] test graph::query::tests::selection_reason_keyword_path ... ok
[INFO] [stdout] test graph::query::tests::test_sensitive_path_excluded_from_context_output ... ok
[INFO] [stdout] test graph::query::tests::supporting_skeletons_try_minimal_before_break ... ok
[INFO] [stdout] test graph::query::tests::traverse_bfs_bugfix_ranks_callers_before_outbound ... ok
[INFO] [stdout] test graph::query::tests::update_golden_files ... ignored
[INFO] [stdout] test graph::skeleton::tests::detailed_format_parent_higher_cap ... ok
[INFO] [stdout] test graph::skeleton::tests::detailed_format_parent_shows_child_deps ... ok
[INFO] [stdout] test graph::skeleton::tests::detailed_redacted_child_hides_deps ... ok
[INFO] [stdout] test graph::skeleton::tests::format_parent_with_children_caps_children_and_methods_at_fifty ... ok
[INFO] [stdout] test graph::skeleton::tests::format_parent_with_children_renders_enum_variants_nested ... ok
[INFO] [stdout] test graph::skeleton::tests::format_parent_with_children_renders_struct_fields_nested ... ok
[INFO] [stdout] test graph::query::tests::traverse_bfs_depth_limit_exactly_hit ... ok
[INFO] [stdout] test graph::skeleton::tests::format_parent_with_children_renders_trait_members_nested ... ok
[INFO] [stdout] test graph::skeleton::tests::minimal_append_symbol_header_compact ... ok
[INFO] [stdout] test graph::skeleton::tests::minimal_format_parent_omits_children ... ok
[INFO] [stdout] test graph::query::tests::traverse_bfs_refactor_includes_inbound_and_outbound ... ok
[INFO] [stdout] test graph::query::tests::traverse_bfs_empty_pivots_returns_empty ... ok
[INFO] [stdout] test graph::skeleton::tests::standard_format_parent_unchanged ... ok
[INFO] [stdout] test graph::skeleton::tests::skeletonize_symbol_with_no_edges ... ok
[INFO] [stdout] test graph::query::tests::traverse_bfs_single_isolated_symbol ... ok
[INFO] [stdout] test graph::query::tests::traverse_bfs_implementation_excludes_inbound ... ok
[INFO] [stdout] test graph::skeleton::tests::skeletonize_symbol_with_only_docstring_no_signature ... ok
[INFO] [stdout] test graph::skeleton::tests::skeletonize_minimal_skips_deps ... ok
[INFO] [stdout] test graph::query::tests::traverse_policy_bugfix_inbound_before_outbound ... ok
[INFO] [stdout] test graph::query::tests::traverse_policy_implementation_no_inbound ... ok
[INFO] [stdout] test graph::query::tests::get_file_skeleton_golden_php_outline ... ok
[INFO] [stdout] test graph::query::tests::get_file_skeleton_golden_go_outline ... ok
[INFO] [stdout] test graph::query::tests::get_file_skeleton_golden_py_outline ... ok
[INFO] [stdout] test graph::query::tests::get_file_skeleton_cross_language_nested_rendering ... ok
[INFO] [stdout] test graph::query::tests::get_file_skeleton_golden_rust_outline ... ok
[INFO] [stdout] test graph::query::tests::get_file_skeleton_golden_ts_outline_rich ... ok
[INFO] [stdout] test graph::query::tests::get_file_skeleton_golden_js_outline ... ok
[INFO] [stdout] test graph::store::tests::test_insert_edges_bulk_deduplication ... ok
[INFO] [stdout] test graph::store::tests::test_insert_lsp_edges_dedup_lsp_first ... ok
[INFO] [stdout] test graph::store::tests::test_load_file_hash_map ... ok
[INFO] [stdout] test graph::store::tests::test_delete_unseen_files_cascades ... ok
[INFO] [stdout] test graph::store::tests::test_insert_lsp_edges_basic ... ok
[INFO] [stdout] test graph::store::tests::test_load_db_stats_empty_db ... ok
[INFO] [stdout] test graph::store::tests::test_load_db_stats_after_index ... ok
[INFO] [stdout] test graph::store::tests::test_insert_lsp_edges_dedup_with_static ... ok
[INFO] [stdout] test graph::store::tests::test_lookup_symbol_at_line_nested_returns_narrowest ... ok
[INFO] [stdout] test graph::store::tests::test_lookup_symbol_at_line_file_not_indexed_returns_none ... ok
[INFO] [stdout] test graph::store::tests::test_lookup_symbol_at_line_within_range ... ok
[INFO] [stdout] test graph::store::tests::test_lsp_edges_cascade_on_symbol_delete ... ok
[INFO] [stdout] test graph::store::tests::test_load_fqn_id_map_returns_all_symbols ... ok
[INFO] [stdout] test graph::store::tests::test_lookup_symbol_at_line_outside_range_returns_none ... ok
[INFO] [stdout] test graph::trace::tests::test_format_depth_limit_warning ... ok
[INFO] [stdout] test graph::trace::tests::test_cycle_terminates ... ok
[INFO] [stdout] test graph::trace::tests::test_format_neighbor_cap_warning ... ok
[INFO] [stdout] test graph::store::tests::test_replace_file_symbols_dedup_fqn ... ok
[INFO] [stdout] test graph::trace::tests::test_format_sensitive_path_filtered ... ok
[INFO] [stdout] test graph::trace::tests::test_direct_call ... ok
[INFO] [stdout] test graph::store::tests::test_pagerank_empty_graph_no_edges ... ok
[INFO] [stdout] test graph::trace::tests::test_two_hop ... ok
[INFO] [stdout] test graph::trace::tests::test_source_equals_target ... ok
[INFO] [stdout] test index::diff::tests::added_symbol ... ok
[INFO] [stdout] test index::diff::tests::body_only_same_sig ... ok
[INFO] [stdout] test index::diff::tests::enum_variant_payload_change_is_structural ... ok
[INFO] [stdout] test index::diff::tests::expression_bodied_both_sigs_none_hash_differs_is_body_only ... ok
[INFO] [stdout] test index::diff::tests::has_structural_changes_added_is_true ... ok
[INFO] [stdout] test index::diff::tests::has_structural_changes_body_only_only_is_false ... ok
[INFO] [stdout] test index::diff::tests::removed_symbol ... ok
[INFO] [stdout] test index::diff::tests::rename_ambiguous_stays_in_removed_added ... ok
[INFO] [stdout] test index::diff::tests::rename_detected_unique_sig_kind ... ok
[INFO] [stdout] test index::diff::tests::rename_kind_mismatch_not_renamed ... ok
[INFO] [stdout] test index::diff::tests::rename_none_sig_not_renamed ... ok
[INFO] [stdout] test index::diff::tests::signature_changed ... ok
[INFO] [stdout] test index::diff::tests::struct_field_type_change_is_structural ... ok
[INFO] [stdout] test graph::trace::tests::test_no_path ... ok
[INFO] [stdout] test index::diff::tests::null_old_sig_is_conservative_body_only ... ok
[INFO] [stdout] test graph::trace::tests::test_multiple_shortest_paths ... ok
[INFO] [stdout] test graph::store::tests::test_pagerank_stale_scores_reset_when_edges_removed ... ok
[INFO] [stdout] test graph::trace::tests::test_max_paths_cap ... ok
[INFO] [stdout] test graph::store::tests::test_resolve_fqns_to_ids ... ok
[INFO] [stdout] test graph::store::tests::test_pagerank_single_symbol_no_edges ... ok
[INFO] [stdout] test graph::store::tests::test_pagerank_known_graph ... ok
[INFO] [stdout] test graph::store::tests::test_update_file_symbols_preserves_id ... ok
[INFO] [stdout] test graph::store::tests::test_replace_file_symbols_no_duplication ... ok
[INFO] [stdout] test graph::store::tests::test_update_file_symbols_dedup_fqn ... ok
[INFO] [stdout] test graph::store::tests::test_upsert_file_returns_id ... ok
[INFO] [stdout] test graph::store::tests::test_update_file_symbols_preserves_inbound_edges ... ok
[INFO] [stdout] test graph::store::tests::test_upsert_file_stable_id_on_conflict ... ok
[INFO] [stdout] test mcp::tools::tests::handle_get_brief_bugfix_intent_includes_skeleton ... ok
[INFO] [stdout] test mcp::server::tests::test_dispatch_save_insight_suppresses_nudge ... ok
[INFO] [stdout] test mcp::tools::tests::handle_get_brief_ambiguous_intent_no_skeleton ... ok
[INFO] [stdout] test mcp::server::tests::test_dispatch_healthy_session_no_nudge ... ok
[INFO] [stdout] test mcp::server::tests::test_dispatch_ineligible_tool_no_nudge ... ok
[INFO] [stdout] test mcp::tools::tests::handle_get_brief_impact_survives_with_skeleton ... ok
[INFO] [stdout] test mcp::tools::tests::handle_get_brief_no_primary_file_no_skeleton ... ok
[INFO] [stdout] test mcp::tools::tests::handle_get_brief_impl_intent_includes_skeleton ... ok
[INFO] [stdout] test mcp::tools::tests::handle_get_brief_denied_first_pivot_uses_next ... ok
[INFO] [stdout] test mcp::tools::tests::handle_get_brief_refactor_intent_no_skeleton ... ok
[INFO] [stdout] test mcp::tools::tests::handle_get_brief_single_repo_uses_freshness ... ok
[INFO] [stdout] test mcp::server::tests::test_dispatch_eligible_tool_with_struggle_gets_nudge ... ok
[INFO] [stdout] test mcp::tools::tests::handle_trace_flow_freshness_ignores_hidden_paths ... ok
[INFO] [stdout] test mcp::tools::tests::handle_get_brief_skeleton_before_impact ... ok
[INFO] [stdout] test mcp::tools::tests::handle_get_brief_skeleton_has_freshness ... ok
[INFO] [stdout] test mcp::tools::tests::handle_get_brief_tight_budget_downgrades_to_minimal ... ok
[INFO] [stdout] test mcp::tools::tests::handle_get_file_skeleton_coverage_with_omissions ... ok
[INFO] [stdout] test mcp::tools::tests::handle_get_file_skeleton_includes_coverage ... ok
[INFO] [stdout] test mcp::tools::tests::parse_trace_empty ... ok
[INFO] [stdout] test mcp::tools::tests::parse_trace_assertion_failure ... ok
[INFO] [stdout] test mcp::tools::tests::handle_get_file_skeleton_includes_freshness ... ok
[INFO] [stdout] test mcp::tools::tests::parse_trace_frame_cap ... ok
[INFO] [stdout] test mcp::tools::tests::handle_get_file_skeleton_refresh_if_stale_reindexes ... ok
[INFO] [stdout] test mcp::tools::tests::parse_trace_go_panic ... ok
[INFO] [stdout] test mcp::tools::tests::resolve_pivots_dedup_output ... ok
[INFO] [stdout] test mcp::tools::tests::resolve_pivots_empty ... ok
[INFO] [stdout] test mcp::tools::tests::resolve_pivots_tier1_line_match ... ok
[INFO] [stdout] test mcp::tools::tests::handle_get_file_skeleton_parses_detail_param ... ok
[INFO] [stdout] test mcp::tools::tests::resolve_pivots_tier2_file_fallback ... ok
[INFO] [stdout] test mcp::tools::tests::handle_get_file_skeleton_rejects_invalid_detail ... ok
[INFO] [stdout] test mcp::tools::tests::resolve_pivots_tier3_skips_ambiguous ... ok
[INFO] [stdout] test mcp::tools::tests::handle_get_file_skeleton_refresh_soft_failure_stays_stale ... ok
[INFO] [stdout] test mcp::tools::tests::resolve_pivots_tier3_name_search ... ok
[INFO] [stdout] test mcp::tools::tests::resolve_pivots_tier3_skips_short_names ... ok
[INFO] [stdout] test mcp::tools::tests::handle_get_impact_no_dependents_includes_root_freshness ... ok
[INFO] [stdout] test mcp::tools::tests::handle_get_file_skeleton_rejects_invalid_refresh ... ok
[INFO] [stdout] test mcp::tools::tests::sanitize_head_tail_truncation ... ok
[INFO] [stdout] test mcp::tools::tests::test_list_contains_analyze_failure ... ok
[INFO] [stdout] test mcp::tools::tests::sanitize_redacts_sensitive_lines ... ok
[INFO] [stdout] test mcp::tools::tests::test_list_contains_memory_health ... ok
[INFO] [stdout] test mcp::tools::tests::test_list_contains_trace_flow ... ok
[INFO] [stdout] test mcp::tools::tests::handle_get_file_skeleton_no_symbols_has_parser_limitations ... ok
[INFO] [stdout] test mcp::tools::tests::test_list_contains_get_brief ... ok
[INFO] [stdout] test mcp::tools::tests::parse_trace_error_summary_truncation ... ok
[INFO] [stdout] test mcp::tools::tests::handle_get_brief_workspace_uses_local_freshness ... ok
[INFO] [stdout] test mcp::tools::tests::test_save_observation_no_scope_no_anchors_fails ... ok
[INFO] [stdout] test mcp::tools::tests::sanitize_strips_midline_paths ... ok
[INFO] [stdout] test mcp::tools::tests::sanitize_strips_absolute_windows_paths ... ok
[INFO] [stdout] test mcp::tools::tests::test_save_observation_invalid_scope_fails ... ok
[INFO] [stdout] test mcp::tools::tests::test_save_observation_project_scope_decision_defaults_high ... ok
[INFO] [stdout] test mcp::tools::tests::test_tool_description_hierarchy ... ok
[INFO] [stdout] test mcp::tools::tests::parse_trace_python_traceback ... ok
[INFO] [stdout] test mcp::tools::tests::test_save_observation_project_scope_insight_defaults_medium ... ok
[INFO] [stdout] test mcp::tools::tests::sanitize_strips_absolute_unix_paths ... ok
[INFO] [stdout] test mcp::tools::tests::test_truncate_to_budget_unicode_safety ... ok
[INFO] [stdout] test mcp::tools::tests::test_trace_flow_missing_source_fqn ... ok
[INFO] [stdout] test mcp::tools::tests::tool_list_contains_refresh_if_stale ... ok
[INFO] [stdout] test mcp::tools::tests::test_save_observation_project_scope_succeeds ... ok
[INFO] [stdout] test mcp::tools::tests::test_trace_flow_missing_target_fqn ... ok
[INFO] [stdout] test mcp::tools::tests::test_truncate_to_budget_basic ... ok
[INFO] [stdout] test mcp::tools::tests::parse_trace_system_paths_dropped ... ok
[INFO] [stdout] test mcp::tools::tests::resolve_pivots_tier2_nearest_line ... ok
[INFO] [stdout] test mcp::tools::tests::test_save_observation_project_scope_with_anchors_rejected ... ok
[INFO] [stdout] test mcp::tools::tests::test_session_history_scope_filter_anchored ... ok
[INFO] [stdout] test mcp::tools::tests::parse_trace_name_only_preserved ... ok
[INFO] [stdout] test mcp::tools::tests::parse_trace_typescript_error ... ok
[INFO] [stdout] test mcp::tools::tests::parse_trace_rust_backtrace ... ok
[INFO] [stdout] test mcp::tools::tests::parse_trace_python_reversal ... ok
[INFO] [stdout] test mcp::tools::tests::test_session_history_scope_filter_all_default ... ok
[INFO] [stdout] test memory::capture::tests::format_added_contains_added_text ... ok
[INFO] [stdout] test memory::capture::tests::format_body_only_returns_none ... ok
[INFO] [stdout] test memory::antipattern::tests::test_dead_end_observation_written ... ok
[INFO] [stdout] test memory::capture::tests::format_removed_contains_removed_text ... ok
[INFO] [stdout] test memory::antipattern::tests::test_detect_file_thrashing_bucket_boundary_split ... ok
[INFO] [stdout] test memory::capture::tests::format_rename_short_names_differ ... ok
[INFO] [stdout] test memory::capture::tests::format_rename_short_names_identical_shows_moved ... ok
[INFO] [stdout] test memory::capture::tests::format_sig_changed_contains_both_sigs ... ok
[INFO] [stdout] test memory::capture::tests::format_size_cap_at_five ... ok
[INFO] [stdout] test memory::capture::tests::format_empty_diff_returns_none ... ok
[INFO] [stdout] test memory::capture::tests::format_rename_only_has_structural_changes ... ok
[INFO] [stdout] test mcp::tools::tests::test_session_history_scope_filter_project ... ok
[INFO] [stdout] test memory::capture::tests::test_extra_unknown_fields_deserialize_ok ... ok
[INFO] [stdout] test memory::capture::tests::test_file_path_relativization ... ok
[INFO] [stdout] test memory::capture::tests::test_file_path_outside_cwd_returns_none ... ok
[INFO] [stdout] test memory::capture::tests::test_parse_bash_tool ... ok
[INFO] [stdout] test memory::capture::tests::test_parse_missing_tool_name_returns_none ... ok
[INFO] [stdout] test memory::capture::tests::test_parse_unknown_tool_returns_none ... ok
[INFO] [stdout] test memory::capture::tests::test_parse_edit_tool ... ok
[INFO] [stdout] test memory::capture::tests::test_parse_missing_tool_input_returns_none ... ok
[INFO] [stdout] test memory::capture::tests::test_parse_bash_tool_truncates_long_command ... ok
[INFO] [stdout] test memory::capture::tests::test_parse_write_tool ... ok
[INFO] [stdout] test memory::antipattern::tests::test_dead_end_two_same_intents_no_productive_obs ... ok
[INFO] [stdout] test memory::antipattern::tests::test_dead_end_two_different_subjects ... ok
[INFO] [stdout] test memory::antipattern::tests::test_detect_file_thrashing_four_in_same_bucket ... ok
[INFO] [stdout] test memory::antipattern::tests::test_no_dead_end_with_decision ... ok
[INFO] [stdout] test memory::antipattern::tests::test_detect_file_thrashing_only_threshold_file_returned ... ok
[INFO] [stdout] test memory::antipattern::tests::test_detect_file_thrashing_under_threshold ... ok
[INFO] [stdout] test memory::antipattern::tests::test_no_dead_end_single_retrieval ... ok
[INFO] [stdout] test memory::antipattern::tests::test_empty_session_returns_empty ... ok
[INFO] [stdout] test memory::antipattern::tests::test_detect_file_thrashing_excludes_manual_saves ... ok
[INFO] [stdout] test memory::antipattern::tests::test_detect_and_write_anti_patterns_writes_observation ... ok
[INFO] [stdout] test memory::compression::tests::test_compress_already_compressed_is_noop ... ok
[INFO] [stdout] test memory::compression::tests::test_purge_active_session_not_deleted ... ok
[INFO] [stdout] test memory::compression::tests::test_compress_session_retains_valuable_deletes_ephemeral ... ok
[INFO] [stdout] test memory::compression::tests::test_multiple_sessions_only_stale_compressed ... ok
[INFO] [stdout] test memory::compression::tests::test_purge_old_session_deleted ... ok
[INFO] [stdout] test memory::compression::tests::test_purge_observations_cascade_in_transaction ... ok
[INFO] [stdout] test memory::compression::tests::test_active_session_not_compressed ... ok
[INFO] [stdout] test memory::antipattern::tests::test_no_dead_end_with_file_change ... ok
[INFO] [stdout] test memory::compression::tests::test_purge_recent_session_not_deleted ... ok
[INFO] [stdout] test memory::consolidation::tests::test_already_consolidated_skipped ... ok
[INFO] [stdout] test memory::consolidation::tests::test_branch_scoping_isolates ... ok
[INFO] [stdout] test memory::compression::tests::test_purge_returns_count ... ok
[INFO] [stdout] test memory::consolidation::tests::test_below_threshold_not_merged ... ok
[INFO] [stdout] test memory::consolidation::tests::test_different_scope_keys_not_merged ... ok
[INFO] [stdout] test memory::consolidation::tests::test_anchored_consolidation_unaffected_by_project_scope ... ok
[INFO] [stdout] test memory::compression::tests::test_session_below_threshold_not_compressed ... ok
[INFO] [stdout] test memory::embedder::tests::test_canonical_text_full ... ok
[INFO] [stdout] test memory::consolidation::tests::test_manual_observations_not_consolidated ... ok
[INFO] [stdout] test memory::embedder::tests::test_canonical_text_no_anchors ... ok
[INFO] [stdout] test memory::embedder::tests::test_cosine_empty_vectors ... ok
[INFO] [stdout] test memory::embedder::tests::test_cosine_identical_vectors ... ok
[INFO] [stdout] test memory::embedder::tests::test_cosine_known_angle ... ok
[INFO] [stdout] test memory::embedder::tests::test_cosine_mismatched_length ... ok
[INFO] [stdout] test memory::embedder::tests::test_cosine_opposite_vectors ... ok
[INFO] [stdout] test memory::embedder::tests::test_cosine_orthogonal_vectors ... ok
[INFO] [stdout] test memory::embedder::tests::test_cosine_zero_vector ... ok
[INFO] [stdout] test memory::consolidation::tests::test_no_duplicates_returns_zero ... ok
[INFO] [stdout] test memory::embedder::tests::test_embedding_blob_roundtrip ... ok
[INFO] [stdout] test memory::embedder::tests::test_fake_embedder_deterministic ... ok
[INFO] [stdout] test memory::embedder::tests::test_fake_embedder_different_inputs_differ ... ok
[INFO] [stdout] test memory::embedder::tests::test_fake_embedder_dims ... ok
[INFO] [stdout] test memory::embedder::tests::test_fake_embedder_embed_texts_batch ... ok
[INFO] [stdout] test memory::embedder::tests::test_fake_embedder_unit_length ... ok
[INFO] [stdout] test memory::consolidation::tests::test_empty_database_returns_zero ... ok
[INFO] [stdout] test memory::consolidation::tests::test_exact_duplicates_consolidated ... ok
[INFO] [stdout] test memory::consolidation::tests::test_near_duplicates_consolidated ... ok
[INFO] [stdout] test memory::consolidation::tests::test_project_scoped_duplicates_consolidated ... ok
[INFO] [stdout] test memory::consolidation::tests::test_null_branch_obs_excluded_with_branch_filter ... ok
[INFO] [stdout] test memory::nudge::tests::test_bash_nudge_message_format ... ok
[INFO] [stdout] test memory::consolidation::tests::test_sensitive_paths_excluded ... ok
[INFO] [stdout] test memory::consolidation::tests::test_stale_observations_still_consolidated ... ok
[INFO] [stdout] test memory::consolidation::tests::test_three_duplicates_two_consolidated ... ok
[INFO] [stdout] test memory::consolidation::tests::test_survivor_has_highest_confidence ... ok
[INFO] [stdout] test memory::consolidation::tests::test_survivor_delete_cascades_to_duplicates ... ok
[INFO] [stdout] test memory::consolidation::tests::test_single_observation_returns_zero ... ok
[INFO] [stdout] test memory::consolidation::tests::test_symbol_fqn_scope_key ... ok
[INFO] [stdout] test memory::embedder::tests::test_load_returns_empty_when_model_id_differs ... ok
[INFO] [stdout] test memory::embedder::tests::test_cascade_delete_removes_embedding ... ok
[INFO] [stdout] test memory::embedder::tests::test_load_returns_empty_when_model_rev_differs ... ok
[INFO] [stdout] test memory::embedder::tests::test_delete_all_embeddings ... ok
[INFO] [stdout] test memory::nudge::tests::test_classify_git_grep_no_match ... ok
[INFO] [stdout] test memory::nudge::tests::test_classify_grep_recursive_match ... ok
[INFO] [stdout] test memory::nudge::tests::test_classify_non_search_commands_no_match ... ok
[INFO] [stdout] test memory::nudge::tests::test_classify_piped_command_no_match ... ok
[INFO] [stdout] test memory::nudge::tests::test_classify_rg_broad_match ... ok
[INFO] [stdout] test memory::nudge::tests::test_classify_rg_files_no_match ... ok
[INFO] [stdout] test memory::nudge::tests::test_classify_rg_narrowed_to_file_no_match ... ok
[INFO] [stdout] test memory::nudge::tests::test_classify_rg_pattern_with_dot_not_path ... ok
[INFO] [stdout] test memory::nudge::tests::test_classify_short_command_no_match ... ok
[INFO] [stdout] test memory::nudge::tests::test_classify_single_file_grep_no_match ... ok
[INFO] [stdout] test memory::embedder::tests::test_store_embedding_upsert ... ok
[INFO] [stdout] test memory::embedder::tests::test_get_unembedded_observation_ids ... ok
[INFO] [stdout] test memory::embedder::tests::test_store_load_embedding_roundtrip ... ok
[INFO] [stdout] test memory::nudge::tests::test_blast_radius_2_dependents_no_nudge ... ok
[INFO] [stdout] test memory::nudge::tests::test_blast_radius_no_symbols_no_nudge ... ok
[INFO] [stdout] test memory::nudge::tests::test_blast_radius_no_file_change_no_nudge ... ok
[INFO] [stdout] test memory::nudge::tests::test_blast_radius_3_dependents_fires ... ok
[INFO] [stdout] test memory::nudge::tests::test_blast_radius_manual_observation_no_nudge ... ok
[INFO] [stdout] test memory::nudge::tests::test_blast_radius_high_blast_edit_followed_by_low_blast ... ok
[INFO] [stdout] test memory::nudge::tests::test_blast_radius_multiple_symbols_same_dep_file_below_threshold ... ok
[INFO] [stdout] test memory::nudge::tests::test_blast_radius_nudge_wording ... ok
[INFO] [stdout] test memory::nudge::tests::test_blast_radius_wins_over_struggle_in_should_nudge ... ok
[INFO] [stdout] test memory::nudge::tests::test_detect_bash_3_grep_r_nudge_fires ... ok
[INFO] [stdout] test memory::nudge::tests::test_detect_bash_git_grep_no_match ... ok
[INFO] [stdout] test memory::nudge::tests::test_blast_radius_sensitive_dependent_excluded_from_output ... ok
[INFO] [stdout] test memory::nudge::tests::test_eligible_tools_include_exploratory ... ok
[INFO] [stdout] test memory::nudge::tests::test_detect_bash_2_rg_no_nudge ... ok
[INFO] [stdout] test memory::nudge::tests::test_detect_bash_3_rg_nudge_fires ... ok
[INFO] [stdout] test memory::nudge::tests::test_blast_radius_sensitive_dependent_drops_below_threshold ... ok
[INFO] [stdout] test memory::nudge::tests::test_detect_struggle_different_buckets_no_trigger ... ok
[INFO] [stdout] test memory::nudge::tests::test_ineligible_tools_excluded ... ok
[INFO] [stdout] test memory::nudge::tests::test_detect_struggle_2_edits_not_enough ... ok
[INFO] [stdout] test memory::nudge::tests::test_detect_bash_mixed_observations_only_searches_count ... ok
[INFO] [stdout] test memory::nudge::tests::test_detect_bash_non_search_no_match ... ok
[INFO] [stdout] test memory::nudge::tests::test_detect_struggle_different_files_no_trigger ... ok
[INFO] [stdout] test memory::nudge::tests::test_detect_bash_rg_files_no_match ... ok
[INFO] [stdout] test memory::nudge::tests::test_detect_bash_piped_grep_no_match ... ok
[INFO] [stdout] test memory::nudge::tests::test_detect_bash_single_file_grep_no_match ... ok
[INFO] [stdout] test memory::nudge::tests::test_detect_bash_truncated_ambiguous_no_match ... ok
[INFO] [stdout] test memory::nudge::tests::test_detect_struggle_3_edits_same_file_same_bucket ... ok
[INFO] [stdout] test memory::nudge::tests::test_detect_bash_rg_narrowed_to_file_no_match ... ok
[INFO] [stdout] test memory::nudge::tests::test_has_valuable_decision ... ok
[INFO] [stdout] test memory::nudge::tests::test_suppressing_kinds ... ok
[INFO] [stdout] test memory::rules::tests::test_compute_scope_fingerprint_deterministic ... ok
[INFO] [stdout] test memory::rules::tests::test_compute_scope_fingerprint_different_inputs ... ok
[INFO] [stdout] test memory::nudge::tests::test_has_valuable_error ... ok
[INFO] [stdout] test memory::nudge::tests::test_has_valuable_insight ... ok
[INFO] [stdout] test memory::nudge::tests::test_no_valuable_only_file_change ... ok
[INFO] [stdout] test memory::nudge::tests::test_should_nudge_none_healthy_no_signals ... ok
[INFO] [stdout] test memory::nudge::tests::test_nudge_sent_roundtrip ... ok
[INFO] [stdout] test memory::nudge::tests::test_should_nudge_none_when_insight_exists ... ok
[INFO] [stdout] test memory::nudge::tests::test_should_nudge_none_healthy_session ... ok
[INFO] [stdout] test memory::nudge::tests::test_should_nudge_file_thrash_when_no_bash_search ... ok
[INFO] [stdout] test memory::nudge::tests::test_should_nudge_none_when_nudge_already_sent ... ok
[INFO] [stdout] test memory::nudge::tests::test_healthy_session_no_nudge_regardless_of_tool ... ok
[INFO] [stdout] test memory::nudge::tests::test_struggle_still_fires_without_blast_radius ... ok
[INFO] [stdout] test memory::nudge::tests::test_should_nudge_bash_search_wins_over_file_thrash ... ok
[INFO] [stdout] test memory::rules::tests::test_detect_candidates_excludes_sensitive_paths ... ok
[INFO] [stdout] test memory::nudge::tests::test_should_nudge_struggling_no_valuable ... ok
[INFO] [stdout] test memory::rules::tests::test_detect_candidates_discards_mixed_branch ... ok
[INFO] [stdout] test memory::nudge::tests::test_save_insight_suppresses_nudge ... ok
[INFO] [stdout] test memory::rules::tests::test_detect_candidates_excludes_stale ... ok
[INFO] [stdout] test memory::rules::tests::test_detect_candidates_kind_filter ... ok
[INFO] [stdout] test memory::rules::tests::test_detect_candidates_same_branch_clusters ... ok
[INFO] [stdout] test memory::staleness::tests::backtick_crlf_trimmed ... ok
[INFO] [stdout] test memory::staleness::tests::backtick_dedup_full_fqn_and_short_name ... ok
[INFO] [stdout] test memory::staleness::tests::backtick_dedup_same_token_twice ... ok
[INFO] [stdout] test memory::staleness::tests::backtick_double_backtick_skipped ... ok
[INFO] [stdout] test memory::staleness::tests::backtick_double_then_single ... ok
[INFO] [stdout] test memory::staleness::tests::backtick_duplicate_short_names_both_match ... ok
[INFO] [stdout] test memory::staleness::tests::backtick_empty_span_skipped ... ok
[INFO] [stdout] test memory::staleness::tests::backtick_full_fqn_match ... ok
[INFO] [stdout] test memory::staleness::tests::backtick_no_backtick_quotes_empty ... ok
[INFO] [stdout] test memory::staleness::tests::backtick_no_backticks_at_all ... ok
[INFO] [stdout] test memory::staleness::tests::backtick_no_dot_stripping ... ok
[INFO] [stdout] test memory::staleness::tests::backtick_no_generic_stripping ... ok
[INFO] [stdout] test memory::staleness::tests::backtick_partial_name_no_match ... ok
[INFO] [stdout] test memory::staleness::tests::backtick_phase1_wins_over_phase2 ... ok
[INFO] [stdout] test memory::staleness::tests::backtick_short_name_match ... ok
[INFO] [stdout] test memory::staleness::tests::backtick_strip_trailing_parens ... ok
[INFO] [stdout] test memory::staleness::tests::backtick_triple_backtick_skipped ... ok
[INFO] [stdout] test memory::staleness::tests::backtick_unbalanced_paren_not_stripped ... ok
[INFO] [stdout] test memory::staleness::tests::backtick_unmatched_no_close_before_newline ... ok
[INFO] [stdout] test memory::rules::tests::test_detect_candidates_requires_3_sessions_boundary ... ok
[INFO] [stdout] test memory::rules::tests::test_get_active_rules_batched_associations ... ok
[INFO] [stdout] test memory::rules::tests::test_mark_rules_stale ... ok
[INFO] [stdout] test memory::rules::tests::test_detect_candidates_requires_3_sessions ... ok
[INFO] [stdout] test memory::staleness::tests::has_structural_changes_renamed_only ... ok
[INFO] [stdout] test memory::rules::tests::test_get_active_rules_relevance_ranking ... ok
[INFO] [stdout] test memory::rules::tests::test_get_active_rules_requires_overlap ... ok
[INFO] [stdout] test memory::rules::tests::test_mark_rules_stale_pending_also_invalidated ... ok
[INFO] [stdout] test memory::rules::tests::test_get_active_rules_branch_filter ... ok
[INFO] [stdout] test memory::rules::tests::test_stale_rule_not_reactivated ... ok
[INFO] [stdout] test memory::staleness::tests::already_stale_observation_not_double_updated ... ok
[INFO] [stdout] test memory::rules::tests::test_write_candidates_different_fingerprints ... ok
[INFO] [stdout] test memory::staleness::tests::batch_multiple_fqns ... ok
[INFO] [stdout] test memory::staleness::tests::file_level_observation_not_marked_stale ... ok
[INFO] [stdout] test memory::rules::tests::test_write_candidates_dedup_by_fingerprint ... ok
[INFO] [stdout] test memory::rules::tests::test_rule_promotion_pending_to_active ... ok
[INFO] [stdout] test memory::rules::tests::test_detect_candidates_minimum_threshold ... ok
[INFO] [stdout] test memory::staleness::tests::structural_diff_removed_uses_generic_reason ... ok
[INFO] [stdout] test memory::staleness::tests::structural_diff_signature_changed_uses_specific_reason ... ok
[INFO] [stdout] test memory::staleness::tests::removed_symbol_marks_stale ... ok
[INFO] [stdout] test memory::staleness::tests::test_structural_diff_rename_invalidates_rules ... ok
[INFO] [stdout] test memory::staleness::tests::structural_diff_body_only_does_not_mark_stale ... ok
[INFO] [stdout] test memory::staleness::tests::test_removed_symbols_invalidates_rules ... ok
[INFO] [stdout] test memory::staleness::tests::unrelated_fqn_not_affected ... ok
[INFO] [stdout] test memory::staleness::tests::test_structural_diff_signature_invalidates_rules ... ok
[INFO] [stdout] test memory::store::tests::test_auto_observation_gets_confidence_score ... ok
[INFO] [stdout] test memory::store::tests::test_auto_observation_base_confidence_is_0_5 ... ok
[INFO] [stdout] test memory::store::tests::test_confidence_max_with_both_signals ... ok
[INFO] [stdout] test memory::store::tests::test_auto_observation_gets_importance_by_kind ... ok
[INFO] [stdout] test memory::store::tests::test_confidence_column_exists_after_migration ... ok
[INFO] [stdout] test memory::store::tests::test_fts5_table_exists_after_migration ... ok
[INFO] [stdout] test memory::store::tests::test_auto_observation_unknown_kind_defaults_to_low ... ok
[INFO] [stdout] test memory::store::tests::test_confidence_boosted_by_structural_change ... ok
[INFO] [stdout] test memory::store::tests::test_confidence_boosted_by_tool_call ... ok
[INFO] [stdout] test memory::store::tests::test_fts5_bm25_ranking_with_query ... ok
[INFO] [stdout] test memory::store::tests::test_confidence_not_self_correlated ... ok
[INFO] [stdout] test memory::store::tests::test_fts5_trigger_deletes_on_delete ... ok
[INFO] [stdout] test memory::store::tests::test_get_observations_filtered_by_file_path ... ok
[INFO] [stdout] test memory::store::tests::test_fts5_trigger_populates_on_insert ... ok
[INFO] [stdout] test memory::store::tests::test_compress_respects_importance ... ok
[INFO] [stdout] test memory::store::tests::test_get_observations_filtered_by_symbol_fqn ... ok
[INFO] [stdout] test memory::store::tests::test_compress_specific_session_deletes_ephemeral_retains_insight ... ok
[INFO] [stdout] test memory::store::tests::test_get_observations_filtered_excludes_consolidated ... ok
[INFO] [stdout] test memory::store::tests::test_get_observations_filtered_excludes_sensitive_paths ... ok
[INFO] [stdout] test memory::store::tests::test_get_observations_filtered_no_filter_returns_all ... ok
[INFO] [stdout] test memory::store::tests::test_get_project_scoped_branch_filtering ... ok
[INFO] [stdout] test memory::store::tests::test_get_observations_for_context_matches_any ... ok
[INFO] [stdout] test memory::store::tests::test_get_recent_session_ids_deterministic_same_timestamp ... ok
[INFO] [stdout] test memory::store::tests::test_get_project_scoped_returns_unanchored_only ... ok
[INFO] [stdout] test memory::store::tests::test_get_project_scoped_excludes_consolidated ... ok
[INFO] [stdout] test memory::store::tests::test_get_session_observations_filters_sensitive_paths ... ok
[INFO] [stdout] test memory::store::tests::test_health_formatter_retrieval_only_shows_empty_state ... ok
[INFO] [stdout] test memory::store::tests::test_get_recent_session_ids_ordered_and_limited ... ok
[INFO] [stdout] test memory::store::tests::test_get_recent_session_ids_skips_context_retrieval_only_sessions ... ok
[INFO] [stdout] test memory::store::tests::test_health_recommendation_activity_gated_insight ... ok
[INFO] [stdout] test memory::store::tests::test_get_recent_session_ids_skips_empty_sessions ... ok
[INFO] [stdout] test memory::store::tests::test_health_recommendation_noise_ratio ... ok
[INFO] [stdout] test memory::store::tests::test_get_session_observations_invalid_session ... ok
[INFO] [stdout] test memory::store::tests::test_health_recommendation_stale_threshold ... ok
[INFO] [stdout] test memory::store::tests::test_get_session_observations_excludes_consolidated ... ok
[INFO] [stdout] test memory::store::tests::test_get_session_observations_valid_session ... ok
[INFO] [stdout] test memory::store::tests::test_health_formatter_empty_state ... ok
[INFO] [stdout] test memory::store::tests::test_health_summary_format ... ok
[INFO] [stdout] test memory::store::tests::test_health_recommendation_low_importance ... ok
[INFO] [stdout] test memory::store::tests::test_health_recommendation_stale_rules ... ok
[INFO] [stdout] test memory::store::tests::test_importance_default_for_kind ... ok
[INFO] [stdout] test memory::store::tests::test_importance_display ... ok
[INFO] [stdout] test memory::store::tests::test_importance_from_str_valid ... ok
[INFO] [stdout] test memory::store::tests::test_importance_from_str_invalid ... ok
[INFO] [stdout] test memory::store::tests::test_get_recent_session_ids_excludes_consolidated_only_sessions ... ok
[INFO] [stdout] test memory::store::tests::test_get_observations_for_context_excludes_consolidated ... ok
[INFO] [stdout] test memory::store::tests::test_health_empty_db ... ok
[INFO] [stdout] test memory::store::tests::test_health_basic_counts ... ok
[INFO] [stdout] test memory::store::tests::test_health_branch_filtering ... ok
[INFO] [stdout] test memory::store::tests::test_health_retrieval_traffic_separation ... ok
[INFO] [stdout] test memory::store::tests::test_is_sensitive_path_re_export_works ... ok
[INFO] [stdout] test memory::store::tests::test_health_consolidated_exclusion ... ok
[INFO] [stdout] test memory::store::tests::test_health_has_recent_activity ... ok
[INFO] [stdout] test memory::store::tests::test_health_noise_count ... ok
[INFO] [stdout] test memory::store::tests::test_importance_from_sql_to_sql_roundtrip ... ok
[INFO] [stdout] test memory::store::tests::test_insert_observation_file_path_only_has_null_symbol_fqn ... ok
[INFO] [stdout] test memory::store::tests::test_insert_auto_observation_with_branch ... ok
[INFO] [stdout] test memory::store::tests::test_importance_index_exists ... ok
[INFO] [stdout] test memory::store::tests::test_health_scope_categories_sum_to_total ... ok
[INFO] [stdout] test memory::store::tests::test_insert_auto_observation_has_auto_generated_1 ... ok
[INFO] [stdout] test memory::store::tests::test_insert_observation_has_auto_generated_0 ... ok
[INFO] [stdout] test memory::store::tests::test_insert_observation_no_branch ... ok
[INFO] [stdout] test memory::store::tests::test_insert_observation_with_symbol_fqn ... ok
[INFO] [stdout] test memory::store::tests::test_insert_observation_with_branch ... ok
[INFO] [stdout] test memory::store::tests::test_is_session_compressed_before_and_after ... ok
[INFO] [stdout] test memory::store::tests::test_list_sessions_zero_observation_sessions ... ok
[INFO] [stdout] test memory::store::tests::test_score_breakdown_format_compact ... ok
[INFO] [stdout] test memory::store::tests::test_list_sessions_returns_correct_counts_and_compressed ... ok
[INFO] [stdout] test memory::store::tests::test_mark_session_ended_idempotent ... ok
[INFO] [stdout] test memory::store::tests::test_list_sessions_count_excludes_consolidated ... ok
[INFO] [stdout] test memory::store::tests::test_migration_010_importance_column ... ok
[INFO] [stdout] test memory::store::tests::test_manual_observation_confidence_stays_null ... ok
[INFO] [stdout] test memory::store::tests::test_observations_filtered_by_branch ... ok
[INFO] [stdout] test memory::store::tests::test_observations_null_branch_globally_visible ... ok
[INFO] [stdout] test memory::store::tests::test_observations_branch_switch_within_session ... ok
[INFO] [stdout] test memory::store::tests::test_observations_no_branch_filter ... ok
[INFO] [stdout] test memory::store::tests::test_purge_does_not_protect_high_only_session ... ok
[INFO] [stdout] test memory::store::tests::test_score_7day_half_life ... ok
[INFO] [stdout] test memory::store::tests::test_score_clamping ... ok
[INFO] [stdout] test memory::store::tests::test_score_absolute_decay_stability ... ok
[INFO] [stdout] test parser::go::tests::test_builtin_types_excluded ... ok
[INFO] [stdout] test memory::store::tests::test_purge_protects_critical_session ... ok
[INFO] [stdout] test parser::go::tests::test_call_edge_function_to_function ... ok
[INFO] [stdout] test parser::go::tests::test_call_edge_selector_expression ... ok
[INFO] [stdout] test parser::go::tests::test_empty_file ... ok
[INFO] [stdout] test parser::go::tests::test_call_inside_closure ... ok
[INFO] [stdout] test parser::go::tests::test_existing_imports_still_work ... ok
[INFO] [stdout] test parser::go::tests::test_generic_receiver ... ok
[INFO] [stdout] test parser::go::tests::test_interface_method_elem_extraction ... ok
[INFO] [stdout] test parser::go::tests::test_interface_method_call ... ok
[INFO] [stdout] test parser::go::tests::test_nested_calls ... ok
[INFO] [stdout] test parser::go::tests::test_method_selector_call ... ok
[INFO] [stdout] test parser::go::tests::test_no_call_edge_outside_function ... ok
[INFO] [stdout] test parser::go::tests::test_parse_import_edges ... ok
[INFO] [stdout] test parser::go::tests::test_parse_symbol_kinds ... ok
[INFO] [stdout] test parser::go::tests::test_raw_string_import ... ok
[INFO] [stdout] test parser::go::tests::test_return_type_edge ... ok
[INFO] [stdout] test parser::go::tests::test_uses_type_channel_param ... ok
[INFO] [stdout] test parser::go::tests::test_parse_symbols ... ok
[INFO] [stdout] test parser::go::tests::test_uses_type_map_param ... ok
[INFO] [stdout] test parser::go::tests::test_uses_type_edge_param ... ok
[INFO] [stdout] test parser::go::tests::test_uses_type_multi_return ... ok
[INFO] [stdout] test parser::go::tests::test_uses_type_slice_param ... ok
[INFO] [stdout] test parser::go::tests::test_uses_type_variadic_param ... ok
[INFO] [stdout] test parser::php::tests::parse_empty_php_file ... ok
[INFO] [stdout] test memory::store::tests::test_score_observations_stale_primary_signal ... ok
[INFO] [stdout] test parser::php::tests::parse_php_only_comments ... ok
[INFO] [stdout] test parser::php::tests::parse_mixed_html_php ... ok
[INFO] [stdout] test parser::php::tests::parse_unclosed_php_tag ... ok
[INFO] [stdout] test memory::store::tests::test_score_observations_recency_primary_signal_when_no_query ... ok
[INFO] [stdout] test parser::php::tests::php_class_constant_extracted ... ok
[INFO] [stdout] test parser::php::tests::php_interface_methods_extracted ... ok
[INFO] [stdout] test parser::php::tests::php_multi_constant_each_separate ... ok
[INFO] [stdout] test parser::php::tests::php_single_constant_preserves_visibility ... ok
[INFO] [stdout] test parser::php::tests::php_trait_use_emits_child_symbols ... ok
[INFO] [stdout] test parser::php::tests::php_property_visibility_in_signature ... ok
[INFO] [stdout] test parser::php::tests::php_trait_use_namespace_qualified ... ok
[INFO] [stdout] test parser::python::tests::parse_empty_file_returns_no_symbols ... ok
[INFO] [stdout] test parser::python::tests::parse_file_with_only_comments ... ok
[INFO] [stdout] test parser::php::tests::php_relative_qualified_trait_not_double_prefixed ... ok
[INFO] [stdout] test parser::python::tests::parse_malformed_syntax_does_not_panic ... ok
[INFO] [stdout] test parser::python::tests::python_cached_property_signature_includes_decorator ... ok
[INFO] [stdout] test parser::python::tests::python_decorated_signature_is_single_line ... ok
[INFO] [stdout] test parser::php::tests::php_fully_qualified_trait_not_double_prefixed ... ok
[INFO] [stdout] test parser::python::tests::python_decorated_init_signature_includes_decorator ... ok
[INFO] [stdout] test parser::python::tests::python_decorated_signature_preserves_arg_spaces ... ok
[INFO] [stdout] test parser::python::tests::python_dotted_cached_property_signature ... ok
[INFO] [stdout] test parser::python::tests::python_init_nested_attr_not_extracted ... ok
[INFO] [stdout] test parser::python::tests::python_non_class_decorated_function_keeps_decorator ... ok
[INFO] [stdout] test parser::python::tests::python_nested_typed_class_var_not_extracted ... ok
[INFO] [stdout] test parser::python::tests::python_property_signature_includes_decorator ... ok
[INFO] [stdout] test parser::python::tests::python_init_self_attr_extracted ... ok
[INFO] [stdout] test parser::python::tests::python_typed_class_var_extracted ... ok
[INFO] [stdout] test parser::rust_lang::tests::enum_variants_extracted_as_children ... ok
[INFO] [stdout] test parser::python::tests::python_typed_field_suppresses_init_duplicate ... ok
[INFO] [stdout] test parser::python::tests::python_untyped_class_var_not_extracted ... ok
[INFO] [stdout] test parser::rust_lang::tests::generic_type_param_trait_preserved ... ok
[INFO] [stdout] test parser::rust_lang::tests::generic_trait_impl_distinct_fqns ... ok
[INFO] [stdout] test parser::rust_lang::tests::impl_methods_remain_top_level ... ok
[INFO] [stdout] test parser::rust_lang::tests::inherent_impl_unchanged ... ok
[INFO] [stdout] test parser::rust_lang::tests::parse_empty_file_returns_no_symbols ... ok
[INFO] [stdout] test parser::rust_lang::tests::inherent_vs_trait_impl_distinct_fqns ... ok
[INFO] [stdout] test parser::rust_lang::tests::parse_file_with_only_comments ... ok
[INFO] [stdout] test parser::rust_lang::tests::parse_macro_heavy_file_does_not_panic ... ok
[INFO] [stdout] test parser::rust_lang::tests::parse_unsafe_block_extracts_fn ... ok
[INFO] [stdout] test parser::rust_lang::tests::path_qualified_trait_preserved ... ok
[INFO] [stdout] test parser::rust_lang::tests::struct_fields_extracted_as_children ... ok
[INFO] [stdout] test parser::rust_lang::tests::trait_consts_extracted_as_children ... ok
[INFO] [stdout] test parser::rust_lang::tests::whitespace_in_trait_is_canonicalized ... ok
[INFO] [stdout] test parser::rust_lang::tests::trait_methods_and_associated_types_extracted ... ok
[INFO] [stdout] test parser::rust_lang::tests::trait_impl_same_method_name_distinct_fqns ... ok
[INFO] [stdout] test parser::typescript::tests::enum_members_use_correct_symbol_kind ... ok
[INFO] [stdout] test parser::typescript::tests::parse_empty_file_returns_no_symbols ... ok
[INFO] [stdout] test parser::typescript::tests::parse_file_with_only_comments ... ok
[INFO] [stdout] test parser::typescript::tests::parse_jsx_dialect_empty_file ... ok
[INFO] [stdout] test parser::typescript::tests::parse_malformed_syntax_does_not_panic ... ok
[INFO] [stdout] test parser::typescript::tests::interface_members_extracted_as_children ... ok
[INFO] [stdout] test parser::typescript::tests::type_alias_signature_captured ... ok
[INFO] [stdout] test policy::tests::test_deny_fqn_prefix ... ok
[INFO] [stdout] test parser::typescript::tests::js_class_field_extracted ... ok
[INFO] [stdout] test policy::tests::test_deny_takes_precedence_over_redact ... ok
[INFO] [stdout] test parser::typescript::tests::js_decorated_class_field_name_not_decorator ... ok
[INFO] [stdout] test policy::tests::test_empty_policy_denies_nothing ... ok
[INFO] [stdout] test policy::tests::test_deny_path_glob ... ok
[INFO] [stdout] test policy::tests::test_fqn_prefix_boundary ... ok
[INFO] [stdout] test policy::tests::test_glob_double_star_crosses_dirs ... ok
[INFO] [stdout] test policy::tests::test_is_denied_by_fqn_extracts_file_component ... ok
[INFO] [stdout] test policy::tests::test_glob_single_star_within_component ... ok
[INFO] [stdout] test policy::tests::test_invalid_glob_skipped ... ok
[INFO] [stdout] test policy::tests::test_is_denied_by_fqn_also_checks_fqn_prefix ... ok
[INFO] [stdout] test policy::tests::test_is_denied_by_fqn_path_glob ... ok
[INFO] [stdout] test policy::tests::test_multiple_deny_rules ... ok
[INFO] [stdout] test policy::tests::test_malformed_policy_returns_default ... ok
[INFO] [stdout] test policy::tests::test_redact_path_glob ... ok
[INFO] [stdout] test policy::tests::test_rule_with_neither_path_nor_fqn_skipped ... ok
[INFO] [stdout] test policy::tests::test_no_policy_file_returns_default ... ok
[INFO] [stdout] test restore::store::tests::test_cleanup_no_restores_dir_is_noop ... ok
[INFO] [stdout] test policy::tests::test_redact_fqn_prefix ... ok
[INFO] [stdout] test memory::store::tests::test_score_observations_with_confidence_boosts_score ... ok
[INFO] [stdout] test restore::store::tests::test_cleanup_removes_empty_hash_dirs ... ok
[INFO] [stdout] test restore::store::tests::test_cleanup_session_guard_protects_recent ... ok
[INFO] [stdout] test restore::store::tests::test_list_restore_points_empty_dir ... ok
[INFO] [stdout] test memory::store::tests::test_score_recency_ordering ... ok
[INFO] [stdout] test restore::store::tests::test_normalize_rel_path_absolute_input ... ok
[INFO] [stdout] test restore::store::tests::test_cleanup_deletes_old_snaps_keeps_new ... ok
[INFO] [stdout] test restore::store::tests::test_find_snap_id_by_millis_picks_highest_seq ... ok
[INFO] [stdout] test restore::store::tests::test_normalize_rel_path_curdir_stripped ... ok
[INFO] [stdout] test restore::store::tests::test_normalize_rel_path_nonexistent_absolute_escape_via_dotdot ... ok
[INFO] [stdout] test restore::store::tests::test_normalize_rel_path_nonexistent_absolute_inside_root_via_symlink ... ok
[INFO] [stdout] test restore::store::tests::test_list_restore_points_sorted_newest_first ... ok
[INFO] [stdout] test restore::store::tests::test_path_hash_is_deterministic ... ok
[INFO] [stdout] test memory::store::tests::test_score_staleness_penalty ... ok
[INFO] [stdout] test restore::store::tests::test_list_restore_points_returns_full_id ... ok
[INFO] [stdout] test restore::store::tests::test_normalize_rel_path_outside_root ... ok
[INFO] [stdout] test restore::store::tests::test_normalize_rel_path_relative_input ... ok
[INFO] [stdout] test restore::store::tests::test_restore_to_snapshot_not_found ... ok
[INFO] [stdout] test restore::store::tests::test_restore_to_snapshot_rejects_path_traversal_id ... ok
[INFO] [stdout] test restore::store::tests::test_snapshot_creates_file_at_correct_path ... ok
[INFO] [stdout] test sensitive::tests::test_is_sensitive_case_insensitive ... ok
[INFO] [stdout] test sensitive::tests::test_is_sensitive_directory_prefixed_paths ... ok
[INFO] [stdout] test sensitive::tests::test_is_sensitive_exact_names ... ok
[INFO] [stdout] test sensitive::tests::test_is_sensitive_extension_patterns ... ok
[INFO] [stdout] test sensitive::tests::test_is_sensitive_non_utf8_filename_returns_false ... ok
[INFO] [stdout] test sensitive::tests::test_is_sensitive_prefix_patterns ... ok
[INFO] [stdout] test restore::store::tests::test_snapshot_nonexistent_file_is_noop ... ok
[INFO] [stdout] test memory::store::tests::test_score_with_semantic_scores_semantic_wins_primary_signal ... ok
[INFO] [stdout] test memory::store::tests::test_score_with_none_semantic_matches_current_behavior ... ok
[INFO] [stdout] test restore::store::tests::test_normalize_rel_path_parentdir_rejected ... ok
[INFO] [stdout] test restore::store::tests::test_snapshot_atomic_no_tmp_left ... ok
[INFO] [stdout] test restore::store::tests::test_restore_to_snapshot_preserves_permissions ... ok
[INFO] [stdout] test workspace::tests::test_absent_workspace_toml_returns_none ... ok
[INFO] [stdout] test restore::store::tests::test_restore_to_snapshot_overwrites_file ... ok
[INFO] [stdout] test workspace::tests::test_duplicate_paths_via_symlinks ... ok
[INFO] [stdout] test workspace::tests::test_malformed_toml_returns_none_with_warning ... ok
[INFO] [stdout] test workspace::tests::test_normalize_missing_path ... ok
[INFO] [stdout] test memory::store::tests::test_scoring_critical_365_day_old_still_meaningful ... ok
[INFO] [stdout] test workspace::tests::test_missing_member_produces_warning ... ok
[INFO] [stdout] test workspace::tests::test_valid_workspace_toml ... ok
[INFO] [stdout] test restore::store::tests::test_snapshot_two_rapid_snapshots_produce_two_files ... ok
[INFO] [stdout] test memory::store::tests::test_scoring_critical_beats_medium_after_30_days ... ok
[INFO] [stdout] test memory::store::tests::test_upsert_session_creates_row ... ok
[INFO] [stdout] test memory::store::tests::test_scoring_low_decays_faster_than_medium ... ok
[INFO] [stdout] test memory::store::tests::test_upsert_session_idempotent ... ok
[INFO] [stdout] test workspace::tests::test_workspace_single_with_warnings ... ok
[INFO] [stdout] test workspace::tests::test_workspace_load_skips_missing_member ... ok
[INFO] [stdout] test workspace::tests::test_workspace_single_mode ... ok
[INFO] [stdout] test workspace::tests::test_workspace_load_with_valid_remote ... ok
[INFO] [stdout] test graph::query::eval::eval_retrieval_harness ... FAILED
[INFO] [stdout] test memory::staleness::tests::batch_exceeding_chunk_size ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- graph::query::eval::eval_retrieval_harness stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'graph::query::eval::eval_retrieval_harness' (66) panicked at src/graph/query.rs:4676:43:
[INFO] [stdout] failed to write bench results JSON: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x63a0f6d32f8a - std[ec419fa8110287d5]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x63a0f6d32f8a - std[ec419fa8110287d5]::backtrace_rs::backtrace::trace_unsynchronized::<std[ec419fa8110287d5]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x63a0f6d32f8a - std[ec419fa8110287d5]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x63a0f6d32f8a - <<std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[35159d6ffb30e017]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x63a0f6d4b5ca - <core[35159d6ffb30e017]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x63a0f6d4b5ca - core[35159d6ffb30e017]::fmt::write
[INFO] [stdout]    6:     0x63a0f6d38062 - std[ec419fa8110287d5]::io::default_write_fmt::<alloc[a8a7aba520129d98]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x63a0f6d38062 - <alloc[a8a7aba520129d98]::vec::Vec<u8> as std[ec419fa8110287d5]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x63a0f6d0e84f - <std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x63a0f6d0e84f - std[ec419fa8110287d5]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x63a0f6d29c79 - std[ec419fa8110287d5]::panicking::default_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x63a0f67c4ebc - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x63a0f67c4ebc - test[a8007afcd3effadc]::test_main_inner::<test[a8007afcd3effadc]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x63a0f6d29e32 - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x63a0f6d29e32 - std[ec419fa8110287d5]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x63a0f6d0e908 - std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x63a0f6d059f9 - std[ec419fa8110287d5]::sys::backtrace::__rust_end_short_backtrace::<std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x63a0f6d0f91d - __rustc[cfb3622dd870db93]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x63a0f6d4be3c - core[35159d6ffb30e017]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x63a0f6d4bb82 - core[35159d6ffb30e017]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x63a0f6669dac - <core[35159d6ffb30e017]::result::Result<(), std[ec419fa8110287d5]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x63a0f6459de5 - olaf[273988f7bf050295]::graph::query::eval::eval_retrieval_harness
[INFO] [stdout]                                at /opt/rustwide/workdir/src/graph/query.rs:4676:43
[INFO] [stdout]   22:     0x63a0f643bf07 - olaf[273988f7bf050295]::graph::query::eval::eval_retrieval_harness::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/graph/query.rs:4492:32
[INFO] [stdout]   23:     0x63a0f663cef6 - <olaf[273988f7bf050295]::graph::query::eval::eval_retrieval_harness::{closure#0} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x63a0f67b819b - <fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x63a0f67b819b - test[a8007afcd3effadc]::__rust_begin_short_backtrace::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:724:18
[INFO] [stdout]   26:     0x63a0f67c598b - test[a8007afcd3effadc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:74
[INFO] [stdout]   27:     0x63a0f67c598b - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x63a0f67c598b - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x63a0f67c598b - std[ec419fa8110287d5]::panicking::catch_unwind::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x63a0f67c598b - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x63a0f67c598b - test[a8007afcd3effadc]::run_test_in_process
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:27
[INFO] [stdout]   32:     0x63a0f67c598b - test[a8007afcd3effadc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:668:43
[INFO] [stdout]   33:     0x63a0f67c0364 - test[a8007afcd3effadc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:698:41
[INFO] [stdout]   34:     0x63a0f67c0364 - std[ec419fa8110287d5]::sys::backtrace::__rust_begin_short_backtrace::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x63a0f67c8592 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x63a0f67c8592 - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x63a0f67c8592 - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x63a0f67c8592 - std[ec419fa8110287d5]::panicking::catch_unwind::<(), core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x63a0f67c8592 - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x63a0f67c8592 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x63a0f67c8592 - <std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x63a0f6d3207f - <alloc[a8a7aba520129d98]::boxed::Box<dyn core[35159d6ffb30e017]::ops::function::FnOnce<(), Output = ()> + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   43:     0x63a0f6d3207f - <std[ec419fa8110287d5]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x7f91debd6aa4 - <unknown>
[INFO] [stdout]   45:     0x7f91dec63a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     graph::query::eval::eval_retrieval_harness
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 722 passed; 1 failed; 1 ignored; 0 measured; 0 filtered out; finished in 5.36s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "d9423c380ab82e948c17aa0085cdaab37a31bed5fb3f14b354966cb3b00af1b6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d9423c380ab82e948c17aa0085cdaab37a31bed5fb3f14b354966cb3b00af1b6", kill_on_drop: false }`
[INFO] [stdout] d9423c380ab82e948c17aa0085cdaab37a31bed5fb3f14b354966cb3b00af1b6
