[INFO] cloning repository https://github.com/Youzini-afk/OpenLocus-Lab
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Youzini-afk/OpenLocus-Lab" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FYouzini-afk%2FOpenLocus-Lab", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FYouzini-afk%2FOpenLocus-Lab'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 756828ec0d3abc93a19525e17939acf746dd9a15
[INFO] testing Youzini-afk/OpenLocus-Lab against 1.98.0-beta.1 for beta-1.98-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FYouzini-afk%2FOpenLocus-Lab" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Youzini-afk/OpenLocus-Lab
[INFO] finished tweaking git repo https://github.com/Youzini-afk/OpenLocus-Lab
[INFO] tweaked toml for git repo https://github.com/Youzini-afk/OpenLocus-Lab written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Youzini-afk/OpenLocus-Lab 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/Youzini-afk/OpenLocus-Lab 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-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] b4f085771996857ae73dd64203b0033a54b8d139336e006d2cf999db345332ec
[INFO] running `Command { std: "docker" "start" "b4f085771996857ae73dd64203b0033a54b8d139336e006d2cf999db345332ec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b4f085771996857ae73dd64203b0033a54b8d139336e006d2cf999db345332ec", 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" "b4f085771996857ae73dd64203b0033a54b8d139336e006d2cf999db345332ec" "/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" "b4f085771996857ae73dd64203b0033a54b8d139336e006d2cf999db345332ec", 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" "b4f085771996857ae73dd64203b0033a54b8d139336e006d2cf999db345332ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling memchr v2.8.1
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling log v0.4.32
[INFO] [stderr]    Compiling tree-sitter-language v0.1.7
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling yoke v0.8.3
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling cc v1.2.63
[INFO] [stderr]    Compiling bitflags v2.13.0
[INFO] [stderr]    Compiling zerocopy v0.8.52
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling winnow v1.0.3
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling toml_writer v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]    Compiling blake3 v1.8.5
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling toml_datetime v0.7.5+spec-1.1.0
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling toml v0.9.12+spec-1.1.0
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling num-conv v0.2.2
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling openlocus-core v0.1.0 (/opt/rustwide/workdir/crates/openlocus-core)
[INFO] [stderr]    Compiling ignore v0.4.26
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling ownedbytes v0.9.0
[INFO] [stderr]    Compiling either v1.16.0
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling openlocus-repo v0.1.0 (/opt/rustwide/workdir/crates/openlocus-repo)
[INFO] [stderr]    Compiling bitpacking v0.9.3
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling tantivy-common v0.10.0
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling utf8-ranges v1.0.5
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling zeroize v1.9.0
[INFO] [stderr]    Compiling tantivy-fst v0.5.0
[INFO] [stderr]    Compiling rustls-pki-types v1.14.1
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling rand_distr v0.4.3
[INFO] [stderr]    Compiling tantivy-bitpacker v0.9.0
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling regex v1.12.4
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling murmurhash32 v0.3.1
[INFO] [stderr]    Compiling tantivy-stacker v0.6.0
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling bon-macros v3.9.2
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling downcast-rs v2.0.2
[INFO] [stderr]    Compiling fastdivide v0.4.2
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling tantivy-query-grammar v0.25.0
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling sketches-ddsketch v0.3.1
[INFO] [stderr]    Compiling hyperloglogplus v0.4.1
[INFO] [stderr]    Compiling rust-stemmers v1.2.0
[INFO] [stderr]    Compiling tantivy-tokenizer-api v0.6.0
[INFO] [stderr]    Compiling uuid v1.23.3
[INFO] [stderr]    Compiling tree-sitter v0.25.10
[INFO] [stderr]    Compiling fs4 v0.13.1
[INFO] [stderr]    Compiling tree-sitter-python v0.23.6
[INFO] [stderr]    Compiling tree-sitter-javascript v0.23.1
[INFO] [stderr]    Compiling tree-sitter-typescript v0.23.2
[INFO] [stderr]    Compiling tree-sitter-rust v0.24.2
[INFO] [stderr]    Compiling measure_time v0.9.0
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling memmap2 v0.9.10
[INFO] [stderr]    Compiling levenshtein_automata v0.2.1
[INFO] [stderr]    Compiling lz4_flex v0.11.6
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling oneshot v0.1.13
[INFO] [stderr]    Compiling htmlescape v0.3.1
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling census v0.4.2
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling webpki-roots v1.0.7
[INFO] [stderr]    Compiling openlocus-store v0.1.0 (/opt/rustwide/workdir/crates/openlocus-store)
[INFO] [stderr]    Compiling streaming-iterator v0.1.9
[INFO] [stderr]    Compiling bon v3.9.2
[INFO] [stderr]    Compiling webpki-roots v0.26.11
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling openlocus-graph v0.1.0 (/opt/rustwide/workdir/crates/openlocus-graph)
[INFO] [stderr]    Compiling openlocus-derived v0.1.0 (/opt/rustwide/workdir/crates/openlocus-derived)
[INFO] [stderr]    Compiling openlocus-ast v0.1.0 (/opt/rustwide/workdir/crates/openlocus-ast)
[INFO] [stderr]    Compiling zstd v0.13.3
[INFO] [stderr]    Compiling tantivy-sstable v0.6.0
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling tantivy-columnar v0.6.0
[INFO] [stderr]    Compiling ureq v2.12.1
[INFO] [stderr]    Compiling tantivy v0.25.0
[INFO] [stderr]    Compiling openlocus-provider v0.1.0 (/opt/rustwide/workdir/crates/openlocus-provider)
[INFO] [stderr]    Compiling openlocus-retrieval v0.1.0 (/opt/rustwide/workdir/crates/openlocus-retrieval)
[INFO] [stderr]    Compiling openlocus-index v0.1.0 (/opt/rustwide/workdir/crates/openlocus-index)
[INFO] [stderr]    Compiling openlocus-context v0.1.0 (/opt/rustwide/workdir/crates/openlocus-context)
[INFO] [stderr]    Compiling openlocus-cli v0.1.0 (/opt/rustwide/workdir/crates/openlocus-cli)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 06s
[INFO] running `Command { std: "docker" "inspect" "b4f085771996857ae73dd64203b0033a54b8d139336e006d2cf999db345332ec", 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" "b4f085771996857ae73dd64203b0033a54b8d139336e006d2cf999db345332ec" "/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 openlocus-provider v0.1.0 (/opt/rustwide/workdir/crates/openlocus-provider)
[INFO] [stderr]    Compiling openlocus-index v0.1.0 (/opt/rustwide/workdir/crates/openlocus-index)
[INFO] [stderr]    Compiling openlocus-context v0.1.0 (/opt/rustwide/workdir/crates/openlocus-context)
[INFO] [stderr]    Compiling openlocus-ast v0.1.0 (/opt/rustwide/workdir/crates/openlocus-ast)
[INFO] [stderr]    Compiling openlocus-retrieval v0.1.0 (/opt/rustwide/workdir/crates/openlocus-retrieval)
[INFO] [stderr]    Compiling openlocus-graph v0.1.0 (/opt/rustwide/workdir/crates/openlocus-graph)
[INFO] [stderr]    Compiling openlocus-cli v0.1.0 (/opt/rustwide/workdir/crates/openlocus-cli)
[INFO] [stderr]    Compiling openlocus-store v0.1.0 (/opt/rustwide/workdir/crates/openlocus-store)
[INFO] [stderr]    Compiling openlocus-derived v0.1.0 (/opt/rustwide/workdir/crates/openlocus-derived)
[INFO] [stderr]    Compiling openlocus-repo v0.1.0 (/opt/rustwide/workdir/crates/openlocus-repo)
[INFO] [stderr]    Compiling openlocus-core v0.1.0 (/opt/rustwide/workdir/crates/openlocus-core)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 24.24s
[INFO] running `Command { std: "docker" "inspect" "b4f085771996857ae73dd64203b0033a54b8d139336e006d2cf999db345332ec", 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" "b4f085771996857ae73dd64203b0033a54b8d139336e006d2cf999db345332ec" "/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.46s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/openlocus_ast-a8d08a4c0f465cb0)
[INFO] [stdout] 
[INFO] [stdout] running 17 tests
[INFO] [stdout] test chunk::tests::rust_struct_item ... ok
[INFO] [stdout] test chunk::tests::unicode_line_range ... ok
[INFO] [stdout] test chunk::tests::python_decorator ... ok
[INFO] [stdout] test chunk::tests::rust_function_and_impl ... ok
[INFO] [stdout] test chunk::tests::oversized_node_split ... ok
[INFO] [stdout] test chunk::tests::parse_error_fallback ... ok
[INFO] [stdout] test chunk::tests::no_overlap_in_chunks ... ok
[INFO] [stdout] test chunk::tests::unsupported_language_fallback ... ok
[INFO] [stdout] test symbol::tests::multiline_python_header_includes_decorator_and_signature_only ... ok
[INFO] [stdout] test symbol::tests::multiline_rust_signature_stops_at_open_brace ... ok
[INFO] [stdout] test symbol::tests::python_class_symbol ... ok
[INFO] [stdout] test symbol::tests::parse_error_returns_empty ... ok
[INFO] [stdout] test symbol::tests::rust_impl_symbol ... ok
[INFO] [stdout] test symbol::tests::unsupported_returns_empty ... ok
[INFO] [stdout] test symbol::tests::rust_fn_symbol ... ok
[INFO] [stdout] test symbol::tests::ts_interface_symbol ... ok
[INFO] [stdout] test chunk::tests::typescript_interface_and_arrow ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/openlocus_cli-a8e46e8b91307390)
[INFO] [stdout] 
[INFO] [stdout] running 28 tests
[INFO] [stdout] test tests::cli_flow_state_inside_source_is_rejected_fail_closed ... ok
[INFO] [stdout] test tests::cli_index_purge_accepts_state_root_flag ... ok
[INFO] [stdout] test tests::cli_index_build_accepts_source_and_state_root_flags ... ok
[INFO] [stdout] test tests::cli_index_build_legacy_no_flags_still_works ... ok
[INFO] [stdout] test tests::cli_search_bm25_persistent_accepts_source_and_state_root_flags ... ok
[INFO] [stdout] test tests::discover_repo_root_accepts_real_openlocus_directory ... ok
[INFO] [stdout] test tests::discover_repo_root_rejects_file_openlocus_marker ... ok
[INFO] [stdout] test tests::discover_repo_root_preserves_git_marker ... ok
[INFO] [stdout] test tests::discover_repo_root_rejects_symlinked_openlocus_marker ... ok
[INFO] [stdout] test tests::cli_purge_rejects_unsafe_source_index_relation_sentinel_intact ... ok
[INFO] [stdout] test tests::evidencecore_currentness_line_insertion_invalidates_old_and_rematerialized_validates ... ok
[INFO] [stdout] test tests::evidencecore_currentness_rejects_deleted_file ... ok
[INFO] [stdout] test tests::evidencecore_currentness_validates_current_citation ... ok
[INFO] [stdout] test tests::evidencecore_currentness_rejects_moved_old_path_and_accepts_new_citation ... ok
[INFO] [stdout] test tests::evidencecore_currentness_near_duplicate_does_not_rescue_stale_original ... ok
[INFO] [stdout] test tests::evidencecore_currentness_rejects_stale_edit ... ok
[INFO] [stdout] test tests::fast_context_cli_branch_dangling_traces_dir_no_fallback_write ... ok
[INFO] [stdout] test tests::resolve_roots_both_explicit_is_separated ... ok
[INFO] [stdout] test tests::fast_context_cli_branch_dangling_final_trace_file_no_fallback_write ... ok
[INFO] [stdout] test tests::resolve_roots_no_flags_is_colocated ... ok
[INFO] [stdout] test tests::resolve_roots_source_root_alone_defaults_state_to_source ... ok
[INFO] [stdout] test tests::resolve_roots_state_root_alone_is_rejected_fail_closed ... ok
[INFO] [stdout] test tests::persistent_index_build_dangling_traces_dir_no_source_trace ... ok
[INFO] [stdout] test tests::cli_flow_explicit_root_build_and_persistent_query_end_to_end ... ok
[INFO] [stdout] test tests::cli_purge_succeeds_source_under_state_outside_index_sentinel_intact ... ok
[INFO] [stdout] test tests::persistent_safe_separated_trace_to_state_and_legacy_colocated_trace ... ok
[INFO] [stdout] test tests::cli_flow_legacy_no_flags_is_colocated_end_to_end ... ok
[INFO] [stdout] test tests::cli_purge_legacy_colocated_succeeds ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.20s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/openlocus-f6a249ae0def546b)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/openlocus_context-4ca7f69a9a61b800)
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test plan::tests::final_citation_validation_rejects_stale_hash ... ok
[INFO] [stdout] test plan::tests::final_citation_validation_rejects_excerpt_mismatch ... ok
[INFO] [stdout] test plan::tests::has_identifier_tokens_detects_patterns ... ok
[INFO] [stdout] test plan::tests::top_file_paths_picks_most_frequent ... ok
[INFO] [stdout] test plan::tests::fast_context_unknown_channel_rejected ... ok
[INFO] [stdout] test plan::tests::fast_context_empty_query_no_panic ... ok
[INFO] [stdout] test plan::tests::token_budget_trims_evidence ... ok
[INFO] [stdout] test plan::tests::fast_context_pack_shape ... ok
[INFO] [stdout] test plan::tests::fast_context_actions_replayable ... ok
[INFO] [stdout] test plan::tests::fast_context_citation_valid ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/openlocus_core-760c45fc396d97af)
[INFO] [stdout] test plan::tests::fast_context_budget_respected ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 21 tests
[INFO] [stdout] test evidence::tests::channel_str_roundtrip ... ok
[INFO] [stdout] test evidence::tests::evidence_core_serializes_with_snake_case ... ok
[INFO] [stdout] test evidence::tests::evidence_pack_serializes ... ok
[INFO] [stdout] test policy::tests::default_policy_is_sane ... ok
[INFO] [stdout] test evidence::tests::evidence_with_meta_roundtrip ... ok
[INFO] [stdout] test policy::tests::load_from_missing_dir_returns_default ... ok
[INFO] [stdout] test trace::tests::append_trace_at_roots_colocated_matches_legacy ... ok
[INFO] [stdout] test policy::tests::policy_roundtrip_toml ... ok
[INFO] [stdout] test trace::tests::append_trace_creates_file ... ok
[INFO] [stdout] test trace::tests::append_trace_at_roots_colocated_rejects_symlinked_traces_dir_without_target_mutation ... ok
[INFO] [stdout] test trace::tests::append_trace_at_roots_colocated_rejects_symlinked_daily_file_without_target_mutation ... ok
[INFO] [stdout] test trace::tests::append_trace_at_roots_rejects_dangling_symlink_at_traces_dir ... ok
[INFO] [stdout] test trace::tests::append_trace_at_roots_separated_writes_to_state_only ... ok
[INFO] [stdout] test trace::tests::trace_event_serializes ... ok
[INFO] [stdout] test trace::tests::append_trace_at_roots_rejects_trace_overlap_with_source ... ok
[INFO] [stdout] test trace::tests::append_trace_at_roots_rejects_dangling_symlink_at_final ... ok
[INFO] [stdout] test trace::tests::append_trace_legacy_safe_succeeds_writes_event ... ok
[INFO] [stdout] test trace::tests::append_trace_legacy_rejects_symlinked_traces_dir_without_target_mutation ... ok
[INFO] [stdout] test trace::tests::write_fast_context_trace_at_roots_writes_file ... ok
[INFO] [stdout] test trace::tests::write_fast_context_trace_at_roots_rejects_dangling_symlink_at_final ... ok
[INFO] [stdout] test trace::tests::append_trace_legacy_rejects_symlinked_daily_file_without_target_mutation ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/openlocus_derived-791b1db3f36c9570)
[INFO] [stdout] 
[INFO] [stdout] running 27 tests
[INFO] [stdout] test generator::tests::generate_chunk_summary_no_full_code ... ok
[INFO] [stdout] test generator::tests::view_id_stable_on_same_input ... ok
[INFO] [stdout] test generator::tests::no_raw_full_snippet_at_data_level_1 ... ok
[INFO] [stdout] test generator::tests::secret_prefix_filtered_from_query_aliases ... ok
[INFO] [stdout] test model::tests::kind_from_str_loose ... ok
[INFO] [stdout] test model::tests::high_risk_kinds ... ok
[INFO] [stdout] test generator::tests::high_risk_kinds_blocked ... ok
[INFO] [stdout] test generator::tests::generate_symbol_tags ... ok
[INFO] [stdout] test generator::tests::high_entropy_token_filtered ... ok
[INFO] [stdout] test model::tests::view_id_changes_on_kind_change ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/openlocus_graph-cf197985202a3001)
[INFO] [stdout] test generator::tests::secret_key_filtered_from_symbol_tags ... ok
[INFO] [stdout] test generator::tests::generate_query_aliases ... ok
[INFO] [stdout] test model::tests::view_id_changes_on_source_change ... ok
[INFO] [stdout] test model::tests::view_id_is_deterministic ... ok
[INFO] [stdout] test store::tests::list_empty_store ... ok
[INFO] [stdout] test model::tests::view_id_changes_on_policy_mode_change ... ok
[INFO] [stdout] test store::tests::corrupt_jsonl_yields_parse_errors ... ok
[INFO] [stdout] test model::tests::view_id_changes_on_generator_version_change ... ok
[INFO] [stdout] test validation::tests::validate_blocked_data_level ... ok
[INFO] [stdout] test store::tests::purge_removes_artifacts ... ok
[INFO] [stdout] test store::tests::upsert_and_list ... ok
[INFO] [stdout] test validation::tests::validate_blocked_kind ... ok
[INFO] [stdout] test store::tests::upsert_replaces_existing ... ok
[INFO] [stdout] test validation::tests::validate_valid_view ... ok
[INFO] [stdout] test validation::tests::validate_stale_view ... ok
[INFO] [stdout] test validation::tests::validate_invalid_range ... ok
[INFO] [stdout] test validation::tests::validate_path_unsafe ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 27 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 18 tests
[INFO] [stdout] test graph::tests::parse_python_import ... ok
[INFO] [stdout] test graph::tests::parse_rust_mod_simple ... ok
[INFO] [stdout] test graph::tests::impact_edges_depth1 ... ok
[INFO] [stdout] test graph::tests::is_test_file_detection ... ok
[INFO] [stdout] test graph::tests::normalize_path_dots ... ok
[INFO] [stdout] test graph::tests::parse_ts_import_from ... ok
[INFO] [stdout] test graph::tests::parse_rust_use_simple ... ok
[INFO] [stdout] test graph::tests::test_edges_filter ... ok
[INFO] [stdout] test graph::tests::impact_edges_depth2_blocked ... ok
[INFO] [stdout] test materialize::tests::materialize_stale_edge_fails ... ok
[INFO] [stdout] test graph::tests::traversal_records_skipped ... ok
[INFO] [stdout] test materialize::tests::materialize_invalid_range_rejected ... ok
[INFO] [stdout] test materialize::tests::materialize_valid_edge ... ok
[INFO] [stdout] test graph::tests::stale_records_skipped ... ok
[INFO] [stdout] test materialize::tests::materialize_batch_skips_invalid ... ok
[INFO] [stdout] test graph::tests::stale_record_no_test_or_config_edges ... ok
[INFO] [stdout] test graph::tests::policy_excluded_no_nodes_or_edges ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/openlocus_index-18068be8338480a0)
[INFO] [stdout] test graph::tests::build_graph_integration ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 131 tests
[INFO] [stdout] test manifest::tests::chunk_strategy_from_cli ... ok
[INFO] [stdout] test manifest::tests::manifest_exists_check ... ok
[INFO] [stdout] test manifest::tests::unknown_schema_refused ... ok
[INFO] [stdout] test path_safety::tests::parent_rel_handles_multi_segment ... ok
[INFO] [stdout] test manifest::tests::policy_hash_changes_with_policy ... ok
[INFO] [stdout] test path_safety::tests::rel_components_normal_path_ok ... ok
[INFO] [stdout] test manifest::tests::manifest_with_ast_strategy ... ok
[INFO] [stdout] test manifest::tests::policy_hash_deterministic ... ok
[INFO] [stdout] test path_safety::tests::rel_components_rejects_absolute ... ok
[INFO] [stdout] test manifest::tests::manifest_at_state_root_loads_from_state_root_not_caller_cwd ... ok
[INFO] [stdout] test path_safety::tests::rel_components_rejects_parent_dir ... ok
[INFO] [stdout] test manifest::tests::manifest_roundtrip ... ok
[INFO] [stdout] test manifest::tests::r7_manifest_loads ... ok
[INFO] [stdout] test persistent::tests::b0_build_rejects_linked_tantivy_dir_before_mutation ... ok
[INFO] [stdout] test persistent::tests::b0_build_rejects_linked_openlocus_dir_before_mutation ... ok
[INFO] [stdout] test persistent::tests::b0_status_rejects_linked_manifest_before_read ... ok
[INFO] [stdout] test persistent::tests::b0_purge_rejects_linked_artifact_and_deletes_nothing ... ok
[INFO] [stdout] test persistent::tests::b0_build_rejects_linked_tantivy_descendant_before_mutation ... ok
[INFO] [stdout] test persistent::tests::b0_build_rejects_linked_manifest_final_before_mutation ... ok
[INFO] [stdout] test persistent::tests::b0_build_rejects_linked_index_dir_before_mutation ... ok
[INFO] [stdout] test persistent::tests::b0_build_rejects_linked_manifest_tmp_before_mutation ... ok
[INFO] [stdout] test persistent::tests::build_empty_records ... ok
[INFO] [stdout] test persistent::tests::b0_purge_idempotent_after_first_purge ... ok
[INFO] [stdout] test persistent::tests::canonicalize_artifact_path_rejects_non_notfound_metadata_error ... ok
[INFO] [stdout] test persistent::tests::b0_colocated_and_nonexistent_state_root_compatibility ... ok
[INFO] [stdout] test persistent::tests::b0_update_rejects_linked_manifest_tmp_before_commit ... ok
[INFO] [stdout] test persistent::tests::build_and_search ... ok
[INFO] [stdout] test persistent::tests::dirty_clean_after_build ... ok
[INFO] [stdout] test persistent::tests::dirty_no_index_requires_rebuild ... ok
[INFO] [stdout] test persistent::tests::build_rejects_directory_shaped_manifest_final_preserves_tantivy ... ok
[INFO] [stdout] test persistent::tests::build_ast_strategy ... ok
[INFO] [stdout] test persistent::tests::dirty_skipped_empty_file_clean_after_build ... ok
[INFO] [stdout] test persistent::tests::dirty_skipped_empty_unchanged_remains_clean ... ok
[INFO] [stdout] test persistent::tests::dirty_detects_added ... ok
[INFO] [stdout] test persistent::tests::dirty_skipped_unsafe_entry_does_not_read_outside_root ... ok
[INFO] [stdout] test persistent::tests::build_rejects_directory_shaped_tmp_preserves_tantivy_and_manifest ... ok
[INFO] [stdout] test persistent::tests::dirty_skipped_non_utf8_unchanged_remains_clean ... ok
[INFO] [stdout] test persistent::tests::dirty_skipped_to_nonempty_modified ... ok
[INFO] [stdout] test persistent::tests::dirty_skipped_unchanged_clean ... ok
[INFO] [stdout] test persistent::tests::dirty_skipped_unsafe_symlink_does_not_read_outside_root ... ok
[INFO] [stdout] test persistent::tests::dirty_skipped_read_error_now_readable_same_sha_is_modified ... ok
[INFO] [stdout] test persistent::tests::preflight_index_artifacts_rejects_wrong_kind_per_artifact_table ... ok
[INFO] [stdout] test persistent::tests::purge_idempotent ... ok
[INFO] [stdout] test persistent::tests::dirty_detects_deleted ... ok
[INFO] [stdout] test persistent::tests::dirty_detects_modified ... ok
[INFO] [stdout] test persistent::tests::legacy_open_and_search_remains_success_after_binding_fix ... ok
[INFO] [stdout] test persistent::tests::empty_content_sha_skipped ... ok
[INFO] [stdout] test persistent::tests::dirty_skipped_unsafe_symlink_now_safe_same_bytes_promotes ... ok
[INFO] [stdout] test persistent::tests::purge_removes_artifacts ... ok
[INFO] [stdout] test persistent::tests::regression_current_indexed_hit_materializes_verified_current_evidence ... ok
[INFO] [stdout] test persistent::tests::policy_gate_refuses_mismatched_policy ... ok
[INFO] [stdout] test persistent::tests::regression_deleted_file_after_build_is_skipped_and_validate_reports_deleted ... ok
[INFO] [stdout] test persistent::tests::regression_same_content_duplicate_does_not_rescue_stale_original_path ... ok
[INFO] [stdout] test persistent::tests::regression_unsafe_record_path_is_skipped_by_build_and_not_searchable ... ok
[INFO] [stdout] test persistent::tests::purge_rejects_directory_shaped_tmp_deletes_nothing_preserves_tree ... ok
[INFO] [stdout] test persistent::tests::regression_stale_edit_after_build_is_skipped_and_counted ... ok
[INFO] [stdout] test persistent::tests::regression_validate_reports_manifest_indexed_unsafe_path ... ok
[INFO] [stdout] test persistent::tests::legacy_apis_use_repo_root_openlocus_index ... ok
[INFO] [stdout] test persistent::tests::regression_moved_old_path_not_emitted_and_rebuilt_new_path_emits_current ... ok
[INFO] [stdout] test persistent::tests::purge_rejects_file_shaped_tantivy_deletes_nothing_preserves_tree ... ok
[INFO] [stdout] test persistent::tests::regression_line_insertion_invalidates_old_index_until_rebuild ... ok
[INFO] [stdout] test persistent::tests::regression_symlink_escape_after_build_is_skipped_by_search_and_validate ... ok
[INFO] [stdout] test persistent::tests::search_and_reusable_open_refuse_missing_manifest ... ok
[INFO] [stdout] test persistent::tests::reusable_index_handle_policy_mismatch ... ok
[INFO] [stdout] test persistent::tests::search_at_source_root_accepts_canonical_alias_of_bound_source ... ok
[INFO] [stdout] test persistent::tests::search_at_source_root_rejects_nonexistent_caller_source_fail_closed ... ok
[INFO] [stdout] test persistent::tests::search_at_source_root_rejects_wrong_source_even_with_matching_content ... ok
[INFO] [stdout] test persistent::tests::search_freshness_verified_current ... ok
[INFO] [stdout] test persistent::tests::separated_build_writes_to_state_root_only ... ok
[INFO] [stdout] test persistent::tests::reusable_index_handle_open_and_search ... ok
[INFO] [stdout] test persistent::tests::search_no_token_overlap_skipped ... ok
[INFO] [stdout] test persistent::tests::separated_build_ignores_state_root_files_entirely ... ok
[INFO] [stdout] test persistent::tests::search_skips_stale_hit ... ok
[INFO] [stdout] test persistent::tests::separated_policy_loaded_from_source_root ... ok
[INFO] [stdout] test persistent::tests::search_skips_deleted_file ... ok
[INFO] [stdout] test persistent::tests::separated_deleted_source_hit_is_skipped_and_validate_reports_deleted ... ok
[INFO] [stdout] test persistent::tests::separated_manifest_has_no_absolute_source_path ... ok
[INFO] [stdout] test persistent::tests::separated_purge_only_state_index_cannot_delete_source ... ok
[INFO] [stdout] test persistent::tests::separated_dirty_uses_state_root_and_source_for_currentness ... ok
[INFO] [stdout] test persistent::tests::separated_search_uses_state_root_index_and_source_for_reread ... ok
[INFO] [stdout] test persistent::tests::separated_open_and_search_at_state_root ... ok
[INFO] [stdout] test persistent::tests::separated_status_uses_state_root_and_source_for_currentness ... ok
[INFO] [stdout] test persistent::tests::separated_validate_uses_state_root_and_source_for_currentness ... ok
[INFO] [stdout] test persistent::tests::separated_state_root_conflicting_files_are_never_indexed_or_read ... ok
[INFO] [stdout] test persistent::tests::search_span_bounded ... ok
[INFO] [stdout] test persistent::tests::single_path_update_skipped_still_empty_same_sha_is_noop ... ok
[INFO] [stdout] test persistent::tests::status_and_dirty_reject_manifest_indexed_parent_escape_as_unclean ... ok
[INFO] [stdout] test persistent::tests::separated_stale_source_hit_is_skipped ... ok
[INFO] [stdout] test persistent::tests::status_no_index ... ok
[INFO] [stdout] test persistent::tests::strict_range_validation_no_clamp ... ok
[INFO] [stdout] test persistent::tests::single_path_update_promotes_skipped_same_sha ... ok
[INFO] [stdout] test persistent::tests::separated_two_state_roots_for_one_source_are_independent ... ok
[INFO] [stdout] test persistent::tests::status_detects_stale ... ok
[INFO] [stdout] test persistent::tests::status_after_ast_build ... ok
[INFO] [stdout] test persistent::tests::status_and_dirty_reject_indexed_symlink_escape_even_with_matching_content ... ok
[INFO] [stdout] test persistent::tests::separated_update_uses_state_root_for_writes_source_for_reads ... ok
[INFO] [stdout] test persistent::tests::status_after_build ... ok
[INFO] [stdout] test persistent::tests::update_dirty_deleted_file ... ok
[INFO] [stdout] test persistent::tests::update_refuses_missing_manifest ... ok
[INFO] [stdout] test persistent::tests::update_refuses_chunk_strategy_mismatch ... ok
[INFO] [stdout] test persistent::tests::update_chunk_count_matches_tantivy_after_1_to_many_modification ... ok
[INFO] [stdout] test persistent::tests::update_chunk_count_matches_tantivy_after_deletion_of_differing_chunk_counts ... ok
[INFO] [stdout] test persistent::tests::update_refuses_policy_mismatch ... ok
[INFO] [stdout] test persistent::tests::update_refuses_schema_mismatch ... ok
[INFO] [stdout] test persistent::tests::update_skipped_read_error_now_readable_same_sha_promotes ... ok
[INFO] [stdout] test persistent::tests::update_rejects_directory_shaped_tmp_before_commit_preserves_manifest_and_tantivy ... ok
[INFO] [stdout] test persistent::tests::update_dirty_added_file ... ok
[INFO] [stdout] test persistent::tests::update_single_path_rejects_absolute_and_parent_paths_before_probe ... ok
[INFO] [stdout] test persistent::tests::update_dirty_modified_file ... ok
[INFO] [stdout] test persistent::tests::update_chunk_count_matches_tantivy_split_root_mode ... ok
[INFO] [stdout] test persistent::tests::update_single_path ... ok
[INFO] [stdout] test persistent::tests::validate_no_index ... ok
[INFO] [stdout] test persistent::tests::validate_separated_roots_allows_nonexistent_state_outside_source ... ok
[INFO] [stdout] test persistent::tests::validate_separated_roots_allows_source_under_state_outside_index ... ok
[INFO] [stdout] test persistent::tests::validate_separated_roots_allows_state_outside_source ... ok
[INFO] [stdout] test persistent::tests::validate_separated_roots_colocated_is_ok ... ok
[INFO] [stdout] test persistent::tests::validate_separated_roots_rejects_artifact_below_source ... ok
[INFO] [stdout] test persistent::tests::validate_separated_roots_rejects_artifact_equals_source ... ok
[INFO] [stdout] test persistent::tests::validate_separated_roots_rejects_dangling_symlink_at_artifact_path ... ok
[INFO] [stdout] test persistent::tests::validate_separated_roots_rejects_canonical_aliases_both_directions ... ok
[INFO] [stdout] test persistent::tests::validate_separated_roots_rejects_dangling_symlink_in_ancestor_chain ... ok
[INFO] [stdout] test persistent::tests::validate_separated_roots_rejects_nonexistent_state_inside_source ... ok
[INFO] [stdout] test persistent::tests::validate_separated_roots_rejects_parent_dir_in_unresolved_suffix ... ok
[INFO] [stdout] test persistent::tests::validate_separated_roots_rejects_source_below_artifact ... ok
[INFO] [stdout] test persistent::tests::validate_separated_roots_rejects_symlink_loop_at_artifact_path ... ok
[INFO] [stdout] test persistent::tests::validate_detects_deleted ... ok
[INFO] [stdout] test persistent::tests::validate_detects_policy_mismatch ... ok
[INFO] [stdout] test persistent::tests::update_skipped_to_nonempty_promotes_to_indexed ... ok
[INFO] [stdout] test persistent::tests::validate_after_build ... ok
[INFO] [stdout] test persistent::tests::update_chunk_count_matches_tantivy_after_repeated_incremental_updates ... ok
[INFO] [stdout] test persistent::tests::validate_detects_stale ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 131 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.82s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/openlocus_provider-319f3a353f6fc657)
[INFO] [stdout] 
[INFO] [stdout] running 58 tests
[INFO] [stdout] test audit::tests::read_empty_audit ... ok
[INFO] [stdout] test cache::tests::cache_key_differs_for_different_data_level ... ok
[INFO] [stdout] test cache::tests::cache_key_differs_for_different_source_sha ... ok
[INFO] [stdout] test cache::tests::cache_key_differs_for_different_view_kind ... ok
[INFO] [stdout] test audit::tests::append_and_read_audit ... ok
[INFO] [stdout] test cache::tests::cache_key_stable ... ok
[INFO] [stdout] test cache::tests::cache_key_differs_for_different_model ... ok
[INFO] [stdout] test cache::tests::cache_key_differs_for_different_text_sha ... ok
[INFO] [stdout] test dense_store::tests::cosine_similarity_empty ... ok
[INFO] [stdout] test audit::tests::audit_no_raw_text_or_vector ... ok
[INFO] [stdout] test dense_store::tests::cosine_similarity_len_mismatch ... ok
[INFO] [stdout] test dense_store::tests::build_and_search ... ok
[INFO] [stdout] test dense_store::tests::build_skips_empty_files ... ok
[INFO] [stdout] test dense_store::tests::cosine_similarity_zero_vector ... ok
[INFO] [stdout] test dense_store::tests::query_embed_audit_event_not_cache_hit ... ok
[INFO] [stdout] test dense_store::tests::audit_no_raw_query_text ... ok
[INFO] [stdout] test dense_store::tests::purge_removes_store ... ok
[INFO] [stdout] test dense_store::tests::cosine_similarity_orthogonal ... ok
[INFO] [stdout] test dense_store::tests::cosine_similarity_identical ... ok
[INFO] [stdout] test gate::tests::gate_allows_clean_text_with_block_on_match ... ok
[INFO] [stdout] test gate::tests::gate_allows_mock_data_level_0 ... ok
[INFO] [stdout] test gate::tests::gate_blocks_data_level_above_1_local ... ok
[INFO] [stdout] test dense_store::tests::search_missing_store_returns_graceful ... ok
[INFO] [stdout] test gate::tests::gate_blocks_remote_by_default ... ok
[INFO] [stdout] test gate::tests::gate_blocks_data_level_above_metadata_max ... ok
[INFO] [stdout] test gate::tests::gate_blocks_disabled_provider ... ok
[INFO] [stdout] test dense_store::tests::store_no_raw_text ... ok
[INFO] [stdout] test dense_store::tests::single_line_file_range_is_1_to_1 ... ok
[INFO] [stdout] test dense_store::tests::short_file_range_does_not_exceed_total_lines ... ok
[INFO] [stdout] test gate::tests::gate_blocks_secret_with_block_on_match ... ok
[INFO] [stdout] test gate::tests::scan_secrets_clean ... ok
[INFO] [stdout] test gate::tests::scan_secrets_high_entropy ... ok
[INFO] [stdout] test mock::tests::deterministic_vector_different_dimensions ... ok
[INFO] [stdout] test gate::tests::scan_secrets_prefixes ... ok
[INFO] [stdout] test mock::tests::deterministic_vector_different_provider ... ok
[INFO] [stdout] test mock::tests::deterministic_vector_differs_for_different_inputs ... ok
[INFO] [stdout] test mock::tests::deterministic_vector_stable ... ok
[INFO] [stdout] test mock::tests::mock_metadata ... ok
[INFO] [stdout] test model::tests::embed_input_skips_text_in_serialize ... ok
[INFO] [stdout] test model::tests::audit_event_has_no_raw_text_or_vector ... ok
[INFO] [stdout] test model::tests::provider_locality_checks ... ok
[INFO] [stdout] test mock::tests::mock_embed_produces_vector ... ok
[INFO] [stdout] test gate::tests::scan_secrets_markers ... ok
[INFO] [stdout] test mock::tests::deterministic_vector_normalized ... ok
[INFO] [stdout] test model::tests::embedding_record_has_no_raw_text ... ok
[INFO] [stdout] test openai::tests::config_blocks_without_allow_remote ... ok
[INFO] [stdout] test openai::tests::config_parses_valid_env ... ok
[INFO] [stdout] test openai::tests::config_requires_all_vars ... ok
[INFO] [stdout] test provider::tests::create_provider_mock ... ok
[INFO] [stdout] test openai::tests::config_can_disable_dimensions_request_field ... ok
[INFO] [stdout] test dense_store::tests::search_orders_by_score ... ok
[INFO] [stdout] test provider::tests::create_provider_openai_is_env_gated_or_configured ... ok
[INFO] [stdout] test openai::tests::config_requires_valid_dimensions ... ok
[INFO] [stdout] test openai::tests::embeddings_url_trims_trailing_slash ... ok
[INFO] [stdout] test provider::tests::create_provider_unknown ... ok
[INFO] [stdout] test provider::tests::disabled_provider_returns_error ... ok
[INFO] [stdout] test provider::tests::create_provider_disabled ... ok
[INFO] [stdout] test openai::tests::provider_metadata_reflects_config ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 58 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/openlocus_repo-a79eb813b5265046)
[INFO] [stdout] running 16 tests
[INFO] [stdout] test read::tests::accept_symlink_within_repo ... ok
[INFO] [stdout] test read::tests::guess_language_tests ... ok
[INFO] [stdout] test read::tests::parse_range_path ... ok
[INFO] [stdout] test read::tests::parse_single_line ... ok
[INFO] [stdout] test read::tests::parse_simple_path ... ok
[INFO] [stdout] test read::tests::read_file_full ... ok
[INFO] [stdout] test read::tests::reject_traversal ... ok
[INFO] [stdout] test scan::tests::glob_matching ... ok
[INFO] [stdout] test read::tests::read_file_with_range ... ok
[INFO] [stdout] test scan::tests::scan_finds_files ... ok
[INFO] [stdout] test scan::tests::scan_computes_sha ... ok
[INFO] [stdout] test scan::tests::scan_include_restricts_files ... ok
[INFO] [stdout] test scan::tests::scan_skips_binary ... ok
[INFO] [stdout] test read::tests::reject_absolute_path ... ok
[INFO] [stdout] test read::tests::reject_symlink_escape ... ok
[INFO] [stdout] test scan::tests::scan_include_gitignored ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/openlocus_retrieval-1c751cfeae0004b6)
[INFO] [stdout] 
[INFO] [stdout] running 27 tests
[INFO] [stdout] test bm25_search::tests::bm25_parse_failure_does_not_return_all_docs ... ok
[INFO] [stdout] test bm25_search::tests::tokenize_query_filters_noise ... ok
[INFO] [stdout] test regex_search::tests::distant_matches_return_separate_evidence ... ok
[INFO] [stdout] test regex_search::tests::regex_search_finds_matches ... ok
[INFO] [stdout] test bm25_search::tests::bm25_content_sha_from_file ... ok
[INFO] [stdout] test regex_search::tests::search_computes_content_sha_from_file ... ok
[INFO] [stdout] test bm25_search::tests::bm25_freshness_is_verified_current ... ok
[INFO] [stdout] test regex_search::tests::search_respects_limit ... ok
[INFO] [stdout] test rrf::tests::rrf_combines_and_deduplicates ... ok
[INFO] [stdout] test rrf::tests::rrf_preserves_narrow_spans ... ok
[INFO] [stdout] test rrf::tests::rrf_same_span_merges_channels ... ok
[INFO] [stdout] test rrf::tests::rrf_sorted_deterministic_tiebreak ... ok
[INFO] [stdout] test rrf::tests::rrf_overlap_dedup_keeps_narrower_and_merges ... ok
[INFO] [stdout] test symbol_search::tests::symbol_boundary_fn_partial ... ok
[INFO] [stdout] test bm25_search::tests::bm25_line_guard_prevents_invalid_range ... ok
[INFO] [stdout] test regex_search::tests::text_search_escapes_query ... ok
[INFO] [stdout] test bm25_search::tests::bm25_skips_chunk_with_no_token_overlap ... ok
[INFO] [stdout] test symbol_search::tests::symbol_pattern_matches_basic ... ok
[INFO] [stdout] test bm25_search::tests::bm25_span_bounded ... ok
[INFO] [stdout] test symbol_search::tests::symbol_search_narrow_span ... ok
[INFO] [stdout] test bm25_search::tests::bm25_finds_matching_file ... ok
[INFO] [stdout] test symbol_search::tests::symbol_search_python_class ... ok
[INFO] [stdout] test symbol_search::tests::symbol_boundary_prevents_partial_match ... ok
[INFO] [stdout] test bm25_search::tests::bm25_stale_check_skips_hash_mismatch ... ok
[INFO] [stdout] test symbol_search::tests::symbol_search_finds_struct ... ok
[INFO] [stdout] test symbol_search::tests::symbol_search_content_sha_from_file ... ok
[INFO] [stdout] test symbol_search::tests::symbol_search_finds_rust_fn ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 27 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.50s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/openlocus_store-000ff98dddd84755)
[INFO] [stdout] 
[INFO] [stdout] running 18 tests
[INFO] [stdout] test conservative::tests::conservative_capabilities ... ok
[INFO] [stdout] test tdb_placeholder::tests::tdb_placeholder_all_caps_false ... ok
[INFO] [stdout] test conservative::tests::conservative_skips_traversal_record ... ok
[INFO] [stdout] test conservative::tests::conservative_skips_empty_file_no_invalid_chunks ... ok
[INFO] [stdout] test conservative::tests::conservative_purge ... ok
[INFO] [stdout] test tdb_placeholder::tests::tdb_placeholder_build_unsupported ... ok
[INFO] [stdout] test conservative::tests::conservative_ignores_secrets ... ok
[INFO] [stdout] test tests::capabilities_none ... ok
[INFO] [stdout] test tests::materialize_rejects_empty_content_sha ... ok
[INFO] [stdout] test tests::materialize_citation_valid ... ok
[INFO] [stdout] test tdb_placeholder::tests::tdb_placeholder_health_unavailable ... ok
[INFO] [stdout] test conservative::tests::conservative_skips_stale_record ... ok
[INFO] [stdout] test tests::materialize_rejects_stale_hit ... ok
[INFO] [stdout] test tests::materialize_sha_and_excerpt_from_same_bytes ... ok
[INFO] [stdout] test tests::materialize_rejects_invalid_range ... ok
[INFO] [stdout] test tests::materialize_valid_hit ... ok
[INFO] [stdout] test tdb_placeholder::tests::tdb_placeholder_purge_unsupported ... ok
[INFO] [stdout] test conservative::tests::conservative_build_from_records ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests openlocus_ast
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests openlocus_cli
[INFO] [stderr]    Doc-tests openlocus_context
[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] [stdout] 
[INFO] [stderr]    Doc-tests openlocus_core
[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] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests openlocus_derived
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests openlocus_graph
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests openlocus_index
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests openlocus_provider
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests openlocus_repo
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests openlocus_retrieval
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests openlocus_store
[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" "b4f085771996857ae73dd64203b0033a54b8d139336e006d2cf999db345332ec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b4f085771996857ae73dd64203b0033a54b8d139336e006d2cf999db345332ec", kill_on_drop: false }`
[INFO] [stdout] b4f085771996857ae73dd64203b0033a54b8d139336e006d2cf999db345332ec
