[INFO] fetching crate overgraph 0.4.1... [INFO] testing overgraph-0.4.1 against master#562dee4820c458d823175268e41601d4c060588a for pr-154210-2 [INFO] extracting crate overgraph 0.4.1 into /workspace/builds/worker-3-tc1/source [INFO] started tweaking crates.io crate overgraph 0.4.1 [INFO] removed 0 missing examples [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate overgraph 0.4.1 [INFO] tweaked toml for crates.io crate overgraph 0.4.1 written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate overgraph 0.4.1 on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate overgraph 0.4.1 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded rmp v0.8.15 [INFO] [stderr] Downloaded rmp-serde v1.3.1 [INFO] [stderr] Downloaded getrandom v0.4.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/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" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b349c2a35dea1365d80b66a5a3d11dcf15acfb25247460ebceaa68339130d9c5 [INFO] running `Command { std: "docker" "start" "-a" "b349c2a35dea1365d80b66a5a3d11dcf15acfb25247460ebceaa68339130d9c5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b349c2a35dea1365d80b66a5a3d11dcf15acfb25247460ebceaa68339130d9c5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b349c2a35dea1365d80b66a5a3d11dcf15acfb25247460ebceaa68339130d9c5", kill_on_drop: false }` [INFO] [stdout] b349c2a35dea1365d80b66a5a3d11dcf15acfb25247460ebceaa68339130d9c5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/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" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5c586344b52be64a10ea4ea3b95baabc7be4eb28734368f0c3861784fbaeaba3 [INFO] running `Command { std: "docker" "start" "-a" "5c586344b52be64a10ea4ea3b95baabc7be4eb28734368f0c3861784fbaeaba3", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling quote v1.0.44 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling memmap2 v0.9.10 [INFO] [stderr] Compiling rayon v1.11.0 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling rmp v0.8.15 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling rmp-serde v1.3.1 [INFO] [stderr] Compiling overgraph v0.4.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 28.25s [INFO] running `Command { std: "docker" "inspect" "5c586344b52be64a10ea4ea3b95baabc7be4eb28734368f0c3861784fbaeaba3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5c586344b52be64a10ea4ea3b95baabc7be4eb28734368f0c3861784fbaeaba3", kill_on_drop: false }` [INFO] [stdout] 5c586344b52be64a10ea4ea3b95baabc7be4eb28734368f0c3861784fbaeaba3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/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" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8569b3c5c057ef73180fd16534575dc03d99d68a18a1c7f04d3aed022a322c6f [INFO] running `Command { std: "docker" "start" "-a" "8569b3c5c057ef73180fd16534575dc03d99d68a18a1c7f04d3aed022a322c6f", kill_on_drop: false }` [INFO] [stderr] Compiling zerocopy v0.8.40 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling clap_lex v1.0.0 [INFO] [stderr] Compiling getrandom v0.4.1 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Compiling rmp v0.8.15 [INFO] [stderr] Compiling clap_builder v4.5.60 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling is-terminal v0.4.17 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling criterion-plot v0.5.0 [INFO] [stderr] Compiling clap v4.5.60 [INFO] [stderr] Compiling tempfile v3.26.0 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling zerocopy-derive v0.8.40 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling rmp-serde v1.3.1 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling overgraph v0.4.1 (/opt/rustwide/workdir) [INFO] [stderr] Compiling half v2.7.1 [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling criterion v0.5.1 [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 30s [INFO] running `Command { std: "docker" "inspect" "8569b3c5c057ef73180fd16534575dc03d99d68a18a1c7f04d3aed022a322c6f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8569b3c5c057ef73180fd16534575dc03d99d68a18a1c7f04d3aed022a322c6f", kill_on_drop: false }` [INFO] [stdout] 8569b3c5c057ef73180fd16534575dc03d99d68a18a1c7f04d3aed022a322c6f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/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" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] c56c7d2e19178d728867775aec2f02ca1564e071cc1b74aaa66674d83d645f9c [INFO] running `Command { std: "docker" "start" "-a" "c56c7d2e19178d728867775aec2f02ca1564e071cc1b74aaa66674d83d645f9c", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.18s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/overgraph-fb1c1dda39bbf29c) [INFO] [stdout] [INFO] [stdout] running 1062 tests [INFO] [stdout] test dense_hnsw::tests::benchmark_dense_hnsw_recall_clustered_64d ... ignored, benchmark-style dense recall harness for clustered high-dimensional data [INFO] [stdout] test dense_hnsw::tests::benchmark_dense_hnsw_recall_near_duplicate_64d ... ignored, benchmark-style dense recall harness for near-duplicate clustered data [INFO] [stdout] test dense_hnsw::tests::benchmark_dense_hnsw_recall_uniform_64d ... ignored, benchmark-style dense recall harness for uniform random high-dimensional data [INFO] [stdout] test dense_hnsw::tests::test_max_neighbors_for_level_uses_double_width_on_base_layer ... ok [INFO] [stdout] test dense_hnsw::tests::test_prune_neighbors_prefers_diverse_candidates ... ok [INFO] [stdout] test encoding::tests::test_invalid_op_tag ... ok [INFO] [stdout] test encoding::tests::test_decode_legacy_upsert_node_without_vector_payload ... ok [INFO] [stdout] test encoding::tests::test_encode_wal_op_into_reuses_buffer ... ok [INFO] [stdout] test encoding::tests::test_node_encoding_deterministic_size ... ok [INFO] [stdout] test encoding::tests::test_roundtrip_delete_edge ... ok [INFO] [stdout] test encoding::tests::test_roundtrip_delete_node ... ok [INFO] [stdout] test encoding::tests::test_roundtrip_empty_props ... ok [INFO] [stdout] test encoding::tests::test_roundtrip_upsert_edge ... ok [INFO] [stdout] test encoding::tests::test_roundtrip_upsert_node ... ok [INFO] [stdout] test encoding::tests::test_roundtrip_upsert_node_with_vectors ... ok [INFO] [stdout] test encoding::tests::test_string_key_at_max_length_ok ... ok [INFO] [stdout] test encoding::tests::test_string_key_overflow_rejected ... ok [INFO] [stdout] test encoding::tests::test_truncated_data ... ok [INFO] [stdout] test engine::tests::benchmark_sparse_flush_and_compaction_overlap ... ignored, benchmark-style sparse build timing harness for flush and compaction [INFO] [stdout] test engine::tests::benchmark_vector_search_sparse_clustered_9216x12of4096 ... ignored, benchmark-style sparse exact timing harness for clustered data [INFO] [stdout] test engine::tests::benchmark_vector_search_sparse_multisegment_filtered ... ignored, benchmark-style sparse exact timing harness for multisegment visibility [INFO] [stdout] test engine::tests::benchmark_vector_search_sparse_uniform_9216x12of4096 ... ignored, benchmark-style sparse exact timing harness for uniform data [INFO] [stdout] test encoding::tests::test_read_bytes_rejects_oversized_length ... ok [INFO] [stdout] test encoding::tests::test_roundtrip_all_prop_types ... ok [INFO] [stdout] test engine::tests::test_adjacency_hashmap_upsert_idempotent ... ok [INFO] [stdout] test dense_hnsw::tests::test_exact_dense_search_above_cutoff_respects_score_and_tiebreak ... ok [INFO] [stdout] test dense_hnsw::tests::test_search_dense_hnsw_ann_sanity_against_exact_oracle ... ok [INFO] [stdout] test engine::tests::test_all_shortest_paths_bfs_after_flush ... ok [INFO] [stdout] test engine::tests::test_all_shortest_paths_bfs_no_path ... ok [INFO] [stdout] test engine::tests::test_all_shortest_paths_bfs_same_node ... ok [INFO] [stdout] test engine::tests::test_all_shortest_paths_bfs_max_paths ... ok [INFO] [stdout] test engine::tests::test_all_shortest_paths_bfs_diamond ... ok [INFO] [stdout] test dense_hnsw::tests::test_search_dense_hnsw_recall_target_harness_on_line_vectors ... ok [INFO] [stdout] test dense_hnsw::tests::test_concurrent_hnsw_build_graph_invariants ... ok [INFO] [stdout] test engine::tests::test_all_shortest_paths_dijkstra_diamond ... ok [INFO] [stdout] test engine::tests::test_all_shortest_paths_dijkstra_max_depth_filtering ... ok [INFO] [stdout] test engine::tests::test_all_shortest_paths_dijkstra_after_flush_weighted ... ok [INFO] [stdout] test engine::tests::test_all_shortest_paths_dijkstra_max_depth_uses_best_constrained_cost ... ok [INFO] [stdout] test engine::tests::test_all_shortest_paths_dijkstra_max_paths ... ok [INFO] [stdout] test dense_hnsw::tests::test_dense_hnsw_writer_produces_high_quality_graph ... ok [INFO] [stdout] test engine::tests::test_async_flush_latency_profile ... ignored [INFO] [stdout] test engine::tests::test_all_shortest_paths_negative_weight_error ... ok [INFO] [stdout] test engine::tests::test_apply_removes_epoch_after_publish ... ok [INFO] [stdout] test engine::tests::test_all_shortest_paths_dijkstra_no_path ... ok [INFO] [stdout] test engine::tests::test_all_shortest_paths_zero_weight_cycle ... ok [INFO] [stdout] test engine::tests::test_all_shortest_paths_bfs_after_compact ... ok [INFO] [stdout] test engine::tests::test_all_shortest_paths_max_paths_zero_no_limit ... ok [INFO] [stdout] test engine::tests::test_auto_flush_disabled_when_zero ... ok [INFO] [stdout] test engine::tests::test_auto_compact_not_triggered_during_compact_flush ... ok [INFO] [stdout] test engine::tests::test_all_shortest_paths_through_immutable ... ok [INFO] [stdout] test engine::tests::test_auto_flush_is_async_not_blocking ... ok [INFO] [stdout] test engine::tests::test_avg_edge_weight_none_for_zero_degree ... ok [INFO] [stdout] test engine::tests::test_avg_edge_weight_basic ... ok [INFO] [stdout] test engine::tests::test_auto_compact_triggers_after_n_flushes ... ok [INFO] [stdout] test engine::tests::test_backpressure_bytes_and_count_combined ... ok [INFO] [stdout] test engine::tests::test_backpressure_blocks_writer_at_hard_cap ... ok [INFO] [stdout] test engine::tests::test_backpressure_counts_all_epochs_including_in_flight ... ok [INFO] [stdout] test engine::tests::test_auto_compact_data_integrity ... ok [INFO] [stdout] test engine::tests::test_auto_flush_triggers_on_threshold ... ok [INFO] [stdout] test engine::tests::test_auto_compact_counter_resets_on_manual_compact ... ok [INFO] [stdout] test engine::tests::test_auto_compact_disabled_when_zero ... ok [INFO] [stdout] test engine::tests::test_backpressure_disabled_when_zero ... ok [INFO] [stdout] test engine::tests::test_backpressure_fires_before_soft_threshold ... ok [INFO] [stdout] test engine::tests::test_backpressure_with_batch_upserts ... ok [INFO] [stdout] test engine::tests::test_backpressure_triggers_on_total_bytes ... ok [INFO] [stdout] test engine::tests::test_batch_ops_get_distinct_seq ... ok [INFO] [stdout] test engine::tests::test_batch_upsert_edge_uniqueness_across_immutable ... ok [INFO] [stdout] test engine::tests::test_batch_upsert_edges ... ok [INFO] [stdout] test engine::tests::test_batch_upsert_edges_temporal_fields ... ok [INFO] [stdout] test engine::tests::test_batch_upsert_edges_with_uniqueness ... ok [INFO] [stdout] test engine::tests::test_batch_upsert_nodes ... ok [INFO] [stdout] test engine::tests::test_batch_upsert_node_dedup_across_immutable ... ok [INFO] [stdout] test engine::tests::test_backpressure_flush_triggers_at_hard_cap_immediate ... ok [INFO] [stdout] test engine::tests::test_backpressure_flush_triggers_at_hard_cap_group_commit ... ok [INFO] [stdout] test engine::tests::test_backpressure_invalidate_edge ... ok [INFO] [stdout] test engine::tests::test_batch_upsert_nodes_with_dedup ... ok [INFO] [stdout] test engine::tests::test_batch_upsert_nodes_with_vectors_survives_restart ... ok [INFO] [stdout] test engine::tests::test_bfs_vs_dijkstra_different_paths ... ok [INFO] [stdout] test engine::tests::test_bg_compact_cancel ... ok [INFO] [stdout] test engine::tests::test_bg_compact_basic ... ok [INFO] [stdout] test engine::tests::test_bg_compact_group_commit_mode ... ok [INFO] [stdout] test engine::tests::test_bg_compact_drop_waits ... ok [INFO] [stdout] test engine::tests::test_bg_compact_flush_during ... ok [INFO] [stdout] test engine::tests::test_bg_compact_immediate_mode ... ok [INFO] [stdout] test engine::tests::test_backpressure_with_edges_and_deletes ... ok [INFO] [stdout] test engine::tests::test_bg_flush_close_drains_all ... ok [INFO] [stdout] test engine::tests::test_bg_compact_no_double ... ok [INFO] [stdout] test engine::tests::test_bg_compaction_applies_prune_policies ... ok [INFO] [stdout] test engine::tests::test_bg_compact_manual_after_bg ... ok [INFO] [stdout] test engine::tests::test_bg_flush_close_fast_preserves_recovery ... ok [INFO] [stdout] test engine::tests::test_bg_compact_writes_during ... ok [INFO] [stdout] test engine::tests::test_clean_shutdown_drains_all_buffered_data ... ok [INFO] [stdout] test engine::tests::test_close_empty_db_is_noop ... ok [INFO] [stdout] test engine::tests::test_bg_flush_close_fast_with_frozen_memtables ... ok [INFO] [stdout] test engine::tests::test_close_and_reopen_recovers_state ... ok [INFO] [stdout] test engine::tests::test_close_fast_group_commit ... ok [INFO] [stdout] test engine::tests::test_close_fast_basic ... ok [INFO] [stdout] test engine::tests::test_close_drains_all_immutables ... ok [INFO] [stdout] test engine::tests::test_bg_flush_writes_continue_during_flush ... ok [INFO] [stdout] test engine::tests::test_bg_flush_multiple_immutables ... ok [INFO] [stdout] test engine::tests::test_close_fast_then_close_normally ... ok [INFO] [stdout] test engine::tests::test_close_with_active_and_immutable_data ... ok [INFO] [stdout] test engine::tests::test_close_fast_preserves_wal_for_recovery ... ok [INFO] [stdout] test engine::tests::test_compact_applies_tombstones ... ok [INFO] [stdout] test engine::tests::test_compact_cleans_up_old_segment_dirs ... ok [INFO] [stdout] test engine::tests::test_compact_all_records_tombstoned ... ok [INFO] [stdout] test engine::tests::test_compact_data_survives_reopen ... ok [INFO] [stdout] test engine::tests::test_compact_merges_two_segments ... ok [INFO] [stdout] test engine::tests::test_compact_no_callback_wrapper ... ok [INFO] [stdout] test engine::tests::test_compact_requires_two_segments ... ok [INFO] [stdout] test engine::tests::test_compact_preserves_neighbors ... ok [INFO] [stdout] test engine::tests::test_compact_node_last_write_wins ... ok [INFO] [stdout] test engine::tests::test_compact_removes_dangling_edges_after_node_delete ... ok [INFO] [stdout] test engine::tests::test_compact_updates_manifest ... ok [INFO] [stdout] test engine::tests::test_compact_with_progress_cancel_during_merge_edges ... ok [INFO] [stdout] test engine::tests::test_backpressure_interacts_with_auto_compact ... ok [INFO] [stdout] test engine::tests::test_compact_with_progress_cancel_during_merge_nodes ... ok [INFO] [stdout] test engine::tests::test_compact_with_progress_cancel_before_write ... ok [INFO] [stdout] test engine::tests::test_close_fast_cancels_bg_compact ... ok [INFO] [stdout] test engine::tests::test_compact_three_segments ... ok [INFO] [stdout] test engine::tests::test_compact_with_progress_records_processed_counts ... ok [INFO] [stdout] test engine::tests::test_compact_with_progress_cancel_during_tombstones ... ok [INFO] [stdout] test engine::tests::test_compact_with_progress_tombstone_counts_all_examined ... ok [INFO] [stdout] test engine::tests::test_compact_with_progress_reports_all_phases ... ok [INFO] [stdout] test engine::tests::test_compact_with_unflushed_tombstone ... ok [INFO] [stdout] test engine::tests::test_compaction_auto_prune_by_weight ... ok [INFO] [stdout] test engine::tests::test_compact_with_unflushed_update ... ok [INFO] [stdout] test engine::tests::test_compaction_multiple_policies_or_logic ... ok [INFO] [stdout] test engine::tests::test_compaction_preserves_last_write_seq ... ok [INFO] [stdout] test engine::tests::test_compaction_no_policies_no_prune ... ok [INFO] [stdout] test engine::tests::test_compaction_auto_prune_cascade_edges ... ok [INFO] [stdout] test engine::tests::test_compaction_preserves_edge_last_write_seq ... ok [INFO] [stdout] test engine::tests::test_component_of_at_epoch_temporal_filtering ... ok [INFO] [stdout] test engine::tests::test_compaction_type_scoped_policy ... ok [INFO] [stdout] test engine::tests::test_compaction_prune_stats_in_nodes_removed ... ok [INFO] [stdout] test engine::tests::test_component_of_basic ... ok [INFO] [stdout] test engine::tests::test_component_of_after_flush ... ok [INFO] [stdout] test engine::tests::test_component_of_after_compaction ... ok [INFO] [stdout] test engine::tests::test_component_of_close_reopen ... ok [INFO] [stdout] test engine::tests::test_component_of_deleted_node ... ok [INFO] [stdout] test engine::tests::test_component_of_missing_node ... ok [INFO] [stdout] test engine::tests::test_component_of_edge_type_filter ... ok [INFO] [stdout] test engine::tests::test_compaction_respects_flush_published_segments ... ok [INFO] [stdout] test engine::tests::test_component_of_node_type_filter ... ok [INFO] [stdout] test engine::tests::test_component_of_self_loop ... ok [INFO] [stdout] test engine::tests::test_component_of_prune_policy ... ok [INFO] [stdout] test engine::tests::test_component_of_undirected_reachability ... ok [INFO] [stdout] test engine::tests::test_connected_components_sees_immutable ... ok [INFO] [stdout] test engine::tests::test_count_nodes_by_type_respects_policies ... ok [INFO] [stdout] test engine::tests::test_count_edges_by_type ... ok [INFO] [stdout] test engine::tests::test_count_nodes_by_type ... ok [INFO] [stdout] test engine::tests::test_crash_after_segment_write_before_manifest_publish ... ok [INFO] [stdout] test engine::tests::test_crash_after_publish_before_wal_retire ... ok [INFO] [stdout] test engine::tests::test_crash_after_wal_delete_before_epoch_removal ... ok [INFO] [stdout] test engine::tests::test_crash_after_freeze_before_flush ... ok [INFO] [stdout] test engine::tests::test_crash_recovery_preserves_deletes ... ok [INFO] [stdout] test engine::tests::test_data_visible_while_in_flight ... ok [INFO] [stdout] test engine::tests::test_data_readable_after_flush ... ok [INFO] [stdout] test engine::tests::test_crash_with_flushed_segment_and_unflushed_wal ... ok [INFO] [stdout] test engine::tests::test_cross_source_reads_memtable_plus_segment ... ok [INFO] [stdout] test engine::tests::test_crash_recovery_preserves_edges ... ok [INFO] [stdout] test engine::tests::test_data_wal_migration ... ok [INFO] [stdout] test engine::tests::test_decay_scoring_orders_by_recency ... ok [INFO] [stdout] test engine::tests::test_default_options_use_group_commit ... ok [INFO] [stdout] test engine::tests::test_decay_scoring_after_flush_segment_sourced ... ok [INFO] [stdout] test engine::tests::test_crash_with_multiple_frozen_generations ... ok [INFO] [stdout] test engine::tests::test_decay_with_limit_returns_top_scored ... ok [INFO] [stdout] test engine::tests::test_decay_zero_lambda_no_reorder ... ok [INFO] [stdout] test engine::tests::test_decay_scoring_with_different_base_weights ... ok [INFO] [stdout] test engine::tests::test_degree_cache_expired_edge_not_counted_but_temporal ... ok [INFO] [stdout] test engine::tests::test_degree_after_flush ... ok [INFO] [stdout] test engine::tests::test_degree_at_epoch_parity_with_neighbors ... ok [INFO] [stdout] test engine::tests::test_degree_basic ... ok [INFO] [stdout] test engine::tests::test_degree_cache_future_dated_edge_is_temporal ... ok [INFO] [stdout] test engine::tests::test_degree_cache_filtered_queries_bypass_cache ... ok [INFO] [stdout] test engine::tests::test_degree_cache_batch_matches_individual ... ok [INFO] [stdout] test engine::tests::test_degree_after_compaction ... ok [INFO] [stdout] test engine::tests::test_dedup_across_active_immutable_and_segments ... ok [INFO] [stdout] test engine::tests::test_degree_cache_future_dated_rebuild_after_flush ... ok [INFO] [stdout] test engine::tests::test_degree_cache_mutation_idempotent_delete ... ok [INFO] [stdout] test engine::tests::test_degree_cache_mutation_delete_memtable_edge ... ok [INFO] [stdout] test engine::tests::test_degree_cache_mutation_node_delete_cascade ... ok [INFO] [stdout] test engine::tests::test_degree_cache_mutation_new_edge ... ok [INFO] [stdout] test engine::tests::test_degree_cache_mutation_self_loop ... ok [INFO] [stdout] test engine::tests::test_degree_cache_mutation_delete_segment_only_edge ... ok [INFO] [stdout] test engine::tests::test_degree_cache_mutation_update_same_endpoints_weight_change ... ok [INFO] [stdout] test engine::tests::test_degree_cache_lifecycle_insert_flush_delete_compact_reopen ... ok [INFO] [stdout] test engine::tests::test_degree_cache_rebuild_memtable_only ... ok [INFO] [stdout] test engine::tests::test_degree_cache_rebuild_segment_only ... ok [INFO] [stdout] test engine::tests::test_degree_cache_temporal_edge_bypasses_cache ... ok [INFO] [stdout] test engine::tests::test_degree_cache_temporal_delete_clears_count ... ok [INFO] [stdout] test engine::tests::test_degree_cache_rebuild_self_loop ... ok [INFO] [stdout] test engine::tests::test_degree_cache_temporal_self_loop ... ok [INFO] [stdout] test engine::tests::test_degree_cache_timeless_to_temporal_update ... ok [INFO] [stdout] test engine::tests::test_degree_cache_rebuild_mixed_sources ... ok [INFO] [stdout] test engine::tests::test_degree_cache_temporal_to_timeless_update ... ok [INFO] [stdout] test engine::tests::test_degree_cache_temporal_rebuild_after_flush ... ok [INFO] [stdout] test engine::tests::test_degree_cache_parity_with_walk ... ok [INFO] [stdout] test engine::tests::test_degree_deleted_neighbor_node ... ok [INFO] [stdout] test engine::tests::test_degree_deleted_edge ... ok [INFO] [stdout] test engine::tests::test_degree_cache_rebuild_with_tombstones ... ok [INFO] [stdout] test engine::tests::test_degree_ignores_expired_edge ... ok [INFO] [stdout] test engine::tests::test_degree_ignores_future_edge ... ok [INFO] [stdout] test engine::tests::test_degree_direction ... ok [INFO] [stdout] test engine::tests::test_degree_nonexistent_node ... ok [INFO] [stdout] test engine::tests::test_degree_cross_source_dedup ... ok [INFO] [stdout] test engine::tests::test_degree_ignores_invalidated_edge ... ok [INFO] [stdout] test engine::tests::test_degree_self_loop_after_flush ... ok [INFO] [stdout] test engine::tests::test_degree_respects_prune_policies ... ok [INFO] [stdout] test engine::tests::test_degree_self_loop ... ok [INFO] [stdout] test engine::tests::test_degree_invalidate_after_flush_shadows_segment ... ok [INFO] [stdout] test engine::tests::test_degree_self_loop_with_normal_edges ... ok [INFO] [stdout] test engine::tests::test_degree_temporal_after_flush ... ok [INFO] [stdout] test engine::tests::test_degree_sees_immutable ... ok [INFO] [stdout] test engine::tests::test_degree_matches_neighbors_len ... ok [INFO] [stdout] test engine::tests::test_degree_survives_restart ... ok [INFO] [stdout] test engine::tests::test_degrees_batch_basic ... ok [INFO] [stdout] test engine::tests::test_degree_type_filter ... ok [INFO] [stdout] test engine::tests::test_degrees_batch_empty_input ... ok [INFO] [stdout] test engine::tests::test_degrees_batch_ignores_expired_edge ... ok [INFO] [stdout] test engine::tests::test_degrees_batch_ignores_future_edge ... ok [INFO] [stdout] test engine::tests::test_degrees_batch_ignores_invalidated_edge ... ok [INFO] [stdout] test engine::tests::test_degrees_batch_after_compaction ... ok [INFO] [stdout] test engine::tests::test_degrees_batch_dedup_across_sources ... ok [INFO] [stdout] test engine::tests::test_degrees_batch_self_loop ... ok [INFO] [stdout] test engine::tests::test_degrees_batch_respects_prune_policies ... ok [INFO] [stdout] test engine::tests::test_degrees_batch_cross_segment ... ok [INFO] [stdout] test engine::tests::test_degrees_batch_matches_individual ... ok [INFO] [stdout] test engine::tests::test_degrees_batch_sees_immutable ... ok [INFO] [stdout] test engine::tests::test_delete_edge_via_api ... ok [INFO] [stdout] test engine::tests::test_degrees_batch_unsorted_input ... ok [INFO] [stdout] test engine::tests::test_degrees_batch_tombstones ... ok [INFO] [stdout] test engine::tests::test_degrees_batch_matches_neighbors_batch ... ok [INFO] [stdout] test engine::tests::test_delete_node_cascades_incoming_segment_edges ... ok [INFO] [stdout] test engine::tests::test_delete_node_cascades_immutable_edges ... ok [INFO] [stdout] test engine::tests::test_delete_node_via_api ... ok [INFO] [stdout] test engine::tests::test_delete_operations ... ok [INFO] [stdout] test engine::tests::test_delete_node_cascades_mixed_sources ... ok [INFO] [stdout] test engine::tests::test_delete_survives_restart ... ok [INFO] [stdout] test engine::tests::test_deleted_edge_excluded_from_segment_neighbors ... ok [INFO] [stdout] test engine::tests::test_delete_node_cascades_segment_edges ... ok [INFO] [stdout] test engine::tests::test_dense_search_tombstone_in_immutable_hides_result ... ok [INFO] [stdout] test engine::tests::test_dense_scoped_search_sees_immutable ... ok [INFO] [stdout] test engine::tests::test_dijkstra_after_flush ... ok [INFO] [stdout] test engine::tests::test_dijkstra_custom_int_weight ... ok [INFO] [stdout] test engine::tests::test_dijkstra_bidir_termination_non_meeting_path ... ok [INFO] [stdout] test engine::tests::test_dense_search_sees_immutable ... ok [INFO] [stdout] test engine::tests::test_dijkstra_direction_both ... ok [INFO] [stdout] test engine::tests::test_dijkstra_custom_weight_field ... ok [INFO] [stdout] test engine::tests::test_dijkstra_equal_cost_different_hops_max_depth ... ok [INFO] [stdout] test engine::tests::test_dijkstra_after_compact ... ok [INFO] [stdout] test engine::tests::test_dijkstra_equal_cost_shorter_hops_arrives_after_settle ... ok [INFO] [stdout] test engine::tests::test_dijkstra_max_depth ... ok [INFO] [stdout] test engine::tests::test_dijkstra_max_cost_ceiling ... ok [INFO] [stdout] test engine::tests::test_dijkstra_max_depth_bidir_total ... ok [INFO] [stdout] test engine::tests::test_dijkstra_nan_weight_error ... ok [INFO] [stdout] test engine::tests::test_dijkstra_negative_weight_error ... ok [INFO] [stdout] test engine::tests::test_dijkstra_max_depth_uses_best_constrained_cost ... ok [INFO] [stdout] test engine::tests::test_dijkstra_no_path ... ok [INFO] [stdout] test engine::tests::test_drop_joins_sync_thread ... ok [INFO] [stdout] test engine::tests::test_dijkstra_same_node ... ok [INFO] [stdout] test engine::tests::test_drop_drains_buffered_data ... ok [INFO] [stdout] test engine::tests::test_dijkstra_weighted_shortest_path ... ok [INFO] [stdout] test engine::tests::test_dijkstra_shortest_path_through_immutable ... ok [INFO] [stdout] test engine::tests::test_dijkstra_zero_weight_edges ... ok [INFO] [stdout] test engine::tests::test_edges_by_type_paged_basic ... ok [INFO] [stdout] test engine::tests::test_edges_by_type_paged_roundtrip ... ok [INFO] [stdout] test engine::tests::test_edge_uniqueness_across_immutable ... ok [INFO] [stdout] test engine::tests::test_edge_uniqueness_across_flush ... ok [INFO] [stdout] test engine::tests::test_edges_by_type_memtable_only ... ok [INFO] [stdout] test engine::tests::test_end_ingest_restores_previous_compact_threshold ... ok [INFO] [stdout] test engine::tests::test_engine_seq_monotonic_across_writes ... ok [INFO] [stdout] test engine::tests::test_engine_seq_correct_after_replay ... ok [INFO] [stdout] test engine::tests::test_edges_by_type_paged_sees_immutable ... ok [INFO] [stdout] test engine::tests::test_engine_seq_survives_flush ... ok [INFO] [stdout] test engine::tests::test_export_empty_db ... ok [INFO] [stdout] test engine::tests::test_edge_uniqueness_respects_cross_segment_tombstone ... ok [INFO] [stdout] test engine::tests::test_engine_seq_survives_reopen ... ok [INFO] [stdout] test engine::tests::test_export_combined_filters ... ok [INFO] [stdout] test engine::tests::test_export_edge_type_filter ... ok [INFO] [stdout] test engine::tests::test_export_across_flush ... ok [INFO] [stdout] test engine::tests::test_export_adjacency_sees_immutable ... ok [INFO] [stdout] test engine::tests::test_export_include_weights_false ... ok [INFO] [stdout] test engine::tests::test_export_full_graph ... ok [INFO] [stdout] test engine::tests::test_export_node_ids_sorted ... ok [INFO] [stdout] test engine::tests::test_export_node_type_filter ... ok [INFO] [stdout] test engine::tests::test_export_respects_tombstones ... ok [INFO] [stdout] test engine::tests::test_export_nodes_only ... ok [INFO] [stdout] test engine::tests::test_export_survives_compaction ... ok [INFO] [stdout] test engine::tests::test_fast_merge_find_nodes_works ... ok [INFO] [stdout] test engine::tests::test_fast_merge_compaction_correctness ... ok [INFO] [stdout] test engine::tests::test_find_nodes_by_time_range_sees_immutable ... ok [INFO] [stdout] test engine::tests::test_fast_merge_with_properties ... ok [INFO] [stdout] test engine::tests::test_fast_merge_matches_single_flush_artifacts_for_vector_segments ... ok [INFO] [stdout] test engine::tests::test_backpressure_flush_then_write_cycle_group_commit ... ok [INFO] [stdout] test engine::tests::test_find_nodes_paged_basic ... ok [INFO] [stdout] test engine::tests::test_fast_merge_survives_reopen ... ok [INFO] [stdout] test engine::tests::test_find_nodes_excludes_deleted ... ok [INFO] [stdout] test engine::tests::test_find_nodes_memtable_only ... ok [INFO] [stdout] test engine::tests::test_find_nodes_paged_cursor_correctness ... ok [INFO] [stdout] test engine::tests::test_find_nodes_paged_default_returns_all ... ok [INFO] [stdout] test engine::tests::test_find_nodes_cross_source ... ok [INFO] [stdout] test engine::tests::test_fast_merge_matches_v3_for_clean_segments ... ok [INFO] [stdout] test engine::tests::test_find_nodes_paged_cross_source_cursor ... ok [INFO] [stdout] test engine::tests::test_find_nodes_paged_excludes_deleted ... ok [INFO] [stdout] test engine::tests::test_find_nodes_paged_policy_refills_past_sparse_filtered_window ... ok [INFO] [stdout] test engine::tests::test_fast_merge_background_matches_sync ... ok [INFO] [stdout] test engine::tests::test_find_nodes_paged_with_policies ... ok [INFO] [stdout] test engine::tests::test_find_nodes_paged_cross_source ... ok [INFO] [stdout] test engine::tests::test_find_nodes_stale_match_after_update_across_flush ... ok [INFO] [stdout] test engine::tests::test_flush_creates_segment ... ok [INFO] [stdout] test engine::tests::test_find_nodes_survives_flush_and_reopen ... ok [INFO] [stdout] test engine::tests::test_find_nodes_update_changes_index ... ok [INFO] [stdout] test engine::tests::test_find_nodes_stale_match_across_segments ... ok [INFO] [stdout] test engine::tests::test_find_nodes_paged_sees_immutable ... ok [INFO] [stdout] test engine::tests::test_find_nodes_sees_immutable ... ok [INFO] [stdout] test engine::tests::test_flush_empty_memtable_is_noop ... ok [INFO] [stdout] test engine::tests::test_flush_retires_wal_generations ... ok [INFO] [stdout] test engine::tests::test_flush_updates_manifest ... ok [INFO] [stdout] test engine::tests::test_fast_merge_eligibility_rules ... ok [INFO] [stdout] test engine::tests::test_freeze_empty_memtable_is_noop ... ok [INFO] [stdout] test engine::tests::test_flush_wait_loop_handles_worker_failure ... ok [INFO] [stdout] test engine::tests::test_freeze_and_read_from_immutable ... ok [INFO] [stdout] test engine::tests::test_freeze_creates_immutable_memtable ... ok [INFO] [stdout] test engine::tests::test_flush_with_wal_generations ... ok [INFO] [stdout] test engine::tests::test_flush_sync_barrier_drains_all_epochs ... ok [INFO] [stdout] test engine::tests::test_get_edge_by_triple_after_flush ... ok [INFO] [stdout] test engine::tests::test_get_edge_by_triple_deleted ... ok [INFO] [stdout] test engine::tests::test_get_edge_by_triple_found ... ok [INFO] [stdout] test engine::tests::test_get_edge_by_triple_after_compaction ... ok [INFO] [stdout] test engine::tests::test_get_edge_by_triple_not_found ... ok [INFO] [stdout] test engine::tests::test_get_edge_by_triple_uniqueness_off_returns_latest ... ok [INFO] [stdout] test engine::tests::test_get_edge_hydrates_last_write_seq_from_segment ... ok [INFO] [stdout] test engine::tests::test_get_edges_batch_hydrates_last_write_seq_from_segment ... ok [INFO] [stdout] test engine::tests::test_get_edge_by_triple_deleted_cross_source ... ok [INFO] [stdout] test engine::tests::test_get_edges_batch_sees_immutable ... ok [INFO] [stdout] test engine::tests::test_get_edges_by_type_paged ... ok [INFO] [stdout] test engine::tests::test_get_edges_bulk ... ok [INFO] [stdout] test engine::tests::test_flushes_while_bg_compact_is_outstanding_count_toward_next_run ... ok [INFO] [stdout] test engine::tests::test_get_edges_bulk_multi_segment_interleaved ... ok [INFO] [stdout] test engine::tests::test_get_edges_bulk_tombstone_cross_segment ... ok [INFO] [stdout] test engine::tests::test_get_edges_by_type_excludes_deleted ... ok [INFO] [stdout] test engine::tests::test_get_edges_bulk_cross_source ... ok [INFO] [stdout] test engine::tests::test_get_edges_by_type_memtable_and_segment ... ok [INFO] [stdout] test engine::tests::test_get_node_by_key_after_flush ... ok [INFO] [stdout] test engine::tests::test_get_node_by_key_deleted ... ok [INFO] [stdout] test engine::tests::test_get_node_by_key_found ... ok [INFO] [stdout] test engine::tests::test_get_node_by_key_not_found ... ok [INFO] [stdout] test engine::tests::test_get_node_by_key_delete_then_recreate ... ok [INFO] [stdout] test engine::tests::test_get_nodes_batch_hydrates_last_write_seq_from_segment ... ok [INFO] [stdout] test engine::tests::test_get_node_by_key_after_compaction ... ok [INFO] [stdout] test engine::tests::test_get_nodes_bulk ... ok [INFO] [stdout] test engine::tests::test_get_nodes_bulk_empty ... ok [INFO] [stdout] test engine::tests::test_get_node_by_key_deleted_cross_source ... ok [INFO] [stdout] test engine::tests::test_get_node_by_key_memtable_shadows_segment ... ok [INFO] [stdout] test engine::tests::test_get_nodes_bulk_duplicate_ids_in_segment ... ok [INFO] [stdout] test engine::tests::test_get_nodes_bulk_duplicate_ids ... ok [INFO] [stdout] test engine::tests::test_get_nodes_bulk_cross_source ... ok [INFO] [stdout] test engine::tests::test_get_nodes_bulk_memtable_shadows_segment ... ok [INFO] [stdout] test engine::tests::test_get_nodes_by_keys_basic ... ok [INFO] [stdout] test engine::tests::test_get_nodes_bulk_after_compaction ... ok [INFO] [stdout] test engine::tests::test_get_nodes_by_keys_different_type_ids ... ok [INFO] [stdout] test engine::tests::test_get_nodes_bulk_mixed_found_missing ... ok [INFO] [stdout] test engine::tests::test_get_nodes_by_keys_empty ... ok [INFO] [stdout] test engine::tests::test_get_nodes_by_keys_delete_then_recreate ... ok [INFO] [stdout] test engine::tests::test_get_nodes_bulk_tombstone_in_newer_segment ... ok [INFO] [stdout] test engine::tests::test_get_nodes_bulk_multi_segment_interleaved ... ok [INFO] [stdout] test engine::tests::test_get_nodes_by_keys_duplicate_keys ... ok [INFO] [stdout] test engine::tests::test_get_nodes_by_keys_delete_recreate_delete_cross_segment ... ok [INFO] [stdout] test engine::tests::test_get_nodes_by_keys_cross_source ... ok [INFO] [stdout] test engine::tests::test_get_nodes_by_keys_mixed_found_missing ... ok [INFO] [stdout] test engine::tests::test_get_nodes_by_keys_immutable_tombstone_shadows_older_immutable ... ok [INFO] [stdout] test engine::tests::test_get_nodes_by_keys_after_compaction ... ok [INFO] [stdout] test engine::tests::test_get_nodes_by_keys_policy_filtering ... ok [INFO] [stdout] test engine::tests::test_get_nodes_by_keys_multi_segment ... ok [INFO] [stdout] test engine::tests::test_get_nodes_by_keys_memtable_shadows_segment ... ok [INFO] [stdout] test engine::tests::test_get_nodes_by_type_paged_hydrates_page_only ... ok [INFO] [stdout] test engine::tests::test_get_nodes_by_keys_tombstone_in_newer_segment ... ok [INFO] [stdout] test engine::tests::test_get_nodes_by_type_excludes_deleted ... ok [INFO] [stdout] test engine::tests::test_get_nodes_by_type_memtable_only ... ok [INFO] [stdout] test engine::tests::test_get_nodes_by_type_cross_source ... ok [INFO] [stdout] test engine::tests::test_get_nodes_by_type_excludes_pruned ... ok [INFO] [stdout] test engine::tests::test_get_nodes_by_keys_tombstone_prevents_fallthrough ... ok [INFO] [stdout] test engine::tests::test_graph_patch_duplicate_edge_delete_safe ... ok [INFO] [stdout] test engine::tests::test_graph_patch_empty ... ok [INFO] [stdout] test engine::tests::test_graph_patch_delete_cascades_segment_edges ... ok [INFO] [stdout] test engine::tests::test_graph_patch_dedup_across_immutable ... ok [INFO] [stdout] test engine::tests::test_graph_patch_after_flush ... ok [INFO] [stdout] test engine::tests::test_graph_patch_invalidate_nonexistent_edge_skipped ... ok [INFO] [stdout] test engine::tests::test_get_nodes_by_type_post_compaction ... ok [INFO] [stdout] test engine::tests::test_graph_patch_edge_delete ... ok [INFO] [stdout] test engine::tests::test_graph_patch_invalidate_pre_existing_edge ... ok [INFO] [stdout] test engine::tests::test_graph_patch_delete_with_cascade ... ok [INFO] [stdout] test engine::tests::test_graph_patch_ordering_upserts_before_deletes ... ok [INFO] [stdout] test engine::tests::test_graph_patch_invalidate_edge_in_immutable ... ok [INFO] [stdout] test engine::tests::test_graph_patch_delete_cascades_immutable_edges ... ok [INFO] [stdout] test engine::tests::test_graph_patch_survives_wal_replay ... ok [INFO] [stdout] test engine::tests::test_graph_patch_two_step_upsert_then_connect ... ok [INFO] [stdout] test engine::tests::test_graph_patch_node_dedup ... ok [INFO] [stdout] test engine::tests::test_group_commit_rejects_invalid_parameters ... ok [INFO] [stdout] test engine::tests::test_graph_patch_mixed_ops ... ok [INFO] [stdout] test engine::tests::test_group_commit_batch_operations ... ok [INFO] [stdout] test engine::tests::test_group_commit_basic_write_close_reopen ... ok [INFO] [stdout] test engine::tests::test_hybrid_accuracy_oracle_20_nodes ... ok [INFO] [stdout] test engine::tests::test_hybrid_degeneration_dense_only ... ok [INFO] [stdout] test engine::tests::test_graph_patch_vectors_survive_wal_replay ... ok [INFO] [stdout] test engine::tests::test_hybrid_default_fusion_mode ... ok [INFO] [stdout] test engine::tests::test_group_commit_with_edges ... ok [INFO] [stdout] test engine::tests::test_hybrid_degeneration_sparse_only ... ok [INFO] [stdout] test engine::tests::test_group_commit_delete_and_compact_cycle ... ok [INFO] [stdout] test engine::tests::test_hybrid_k_zero_returns_empty ... ok [INFO] [stdout] test engine::tests::test_group_commit_flush_cycle ... ok [INFO] [stdout] test engine::tests::test_hybrid_partial_overlap ... ok [INFO] [stdout] test engine::tests::test_hybrid_missing_both_queries_errors ... ok [INFO] [stdout] test engine::tests::test_hybrid_reciprocal_rank_fusion_ordering ... ok [INFO] [stdout] test engine::tests::test_hybrid_type_filter ... ok [INFO] [stdout] test engine::tests::test_hybrid_weighted_rank_fusion_ordering ... ok [INFO] [stdout] test engine::tests::test_hybrid_weighted_rank_fusion_custom_weights ... ok [INFO] [stdout] test engine::tests::test_hybrid_weighted_score_fusion_ordering ... ok [INFO] [stdout] test engine::tests::test_hybrid_weighted_score_fusion_equal_dense_scores ... ok [INFO] [stdout] test engine::tests::test_id_counters_survive_restart ... ok [INFO] [stdout] test engine::tests::test_hybrid_with_scope ... ok [INFO] [stdout] test engine::tests::test_immediate_mode_batch_operations ... ok [INFO] [stdout] test engine::tests::test_immediate_mode_basic_operations ... ok [INFO] [stdout] test engine::tests::test_id_counters_survive_flush ... ok [INFO] [stdout] test engine::tests::test_ingest_mode_is_idempotent_for_saved_threshold ... ok [INFO] [stdout] test engine::tests::test_id_allocation_stable_across_freeze ... ok [INFO] [stdout] test engine::tests::test_invalidate_nonexistent_edge_returns_none ... ok [INFO] [stdout] test engine::tests::test_immutable_tombstones_respected ... ok [INFO] [stdout] test engine::tests::test_invalidate_edge_closes_validity_window ... ok [INFO] [stdout] test engine::tests::test_invalidate_edge_in_immutable ... ok [INFO] [stdout] test engine::tests::test_invalidated_edge_hidden_from_neighbors ... ok [INFO] [stdout] test engine::tests::test_integration_write_flush_write_flush_group_commit ... ok [INFO] [stdout] test engine::tests::test_invalidated_edge_hidden_after_flush ... ok [INFO] [stdout] test engine::tests::test_integration_1000_writes_group_commit ... ok [INFO] [stdout] test engine::tests::test_invalidated_edge_survives_wal_replay ... ok [INFO] [stdout] test engine::tests::test_is_connected_basic ... ok [INFO] [stdout] test engine::tests::test_is_connected_disconnected ... ok [INFO] [stdout] test engine::tests::test_is_connected_same_node ... ok [INFO] [stdout] test engine::tests::test_is_connected_max_depth ... ok [INFO] [stdout] test engine::tests::test_manual_prune_unchanged_by_policies ... ok [INFO] [stdout] test engine::tests::test_last_write_seq_exact_equality_across_reopen ... ok [INFO] [stdout] test engine::tests::test_merge_paged_cross_source_sorted_output ... ok [INFO] [stdout] test engine::tests::test_merge_paged_cursor_seek ... ok [INFO] [stdout] test engine::tests::test_merge_paged_dedup_across_sources ... ok [INFO] [stdout] test engine::tests::test_merge_paged_early_termination ... ok [INFO] [stdout] test engine::tests::test_map_props_roundtrip_memtable_and_segment ... ok [INFO] [stdout] test engine::tests::test_last_write_seq_exact_across_freeze_reopen ... ok [INFO] [stdout] test engine::tests::test_merge_paged_with_policies ... ok [INFO] [stdout] test engine::tests::test_manifest_id_counters_survive_restart ... ok [INFO] [stdout] test engine::tests::test_max_immutable_memtables_blocks ... ok [INFO] [stdout] test engine::tests::test_multi_freeze_flush_retires_each_wal_gen ... ok [INFO] [stdout] test engine::tests::test_multiple_epochs_all_visible_during_flush ... ok [INFO] [stdout] test engine::tests::test_immediate_mode_flush_compact_cycle ... ok [INFO] [stdout] test engine::tests::test_multiple_flushes_accumulate_segments ... ok [INFO] [stdout] test engine::tests::test_ingest_mode_suppresses_auto_compact ... ok [INFO] [stdout] test engine::tests::test_multiple_flush_reopen_cycles ... ok [INFO] [stdout] test engine::tests::test_max_immutable_memtables_disabled_when_zero ... ok [INFO] [stdout] test engine::tests::test_multiple_immutable_tombstone_shadows_older ... ok [INFO] [stdout] test engine::tests::test_neighbor_weight_survives_flush ... ok [INFO] [stdout] test engine::tests::test_neighbors_after_flush ... ok [INFO] [stdout] test engine::tests::test_neighbors_batch_empty_input ... ok [INFO] [stdout] test engine::tests::test_multiple_freezes_before_flush ... ok [INFO] [stdout] test engine::tests::test_multiple_immutable_memtables_newest_wins ... ok [INFO] [stdout] test engine::tests::test_negative_decay_lambda_returns_error ... ok [INFO] [stdout] test engine::tests::test_neighbors_batch_basic ... ok [INFO] [stdout] test engine::tests::test_neighbors_batch_direction_both ... ok [INFO] [stdout] test engine::tests::test_neighbors_batch_self_loop_dedup ... ok [INFO] [stdout] test engine::tests::test_neighbors_batch_matches_individual ... ok [INFO] [stdout] test engine::tests::test_neighbors_batch_dedup_across_sources ... ok [INFO] [stdout] test engine::tests::test_neighbors_batch_cross_segment ... ok [INFO] [stdout] test engine::tests::test_neighbors_paged_basic ... ok [INFO] [stdout] test engine::tests::test_neighbors_batch_sees_immutable ... ok [INFO] [stdout] test engine::tests::test_neighbors_batch_unsorted_input ... ok [INFO] [stdout] test engine::tests::test_neighbors_paged_policy_refills_past_sparse_filtered_window ... ok [INFO] [stdout] test engine::tests::test_neighbors_paged_roundtrip_matches_neighbors ... ok [INFO] [stdout] test engine::tests::test_neighbors_paged_respects_tombstones ... ok [INFO] [stdout] test engine::tests::test_neighbors_batch_respects_tombstones ... ok [INFO] [stdout] test engine::tests::test_neighbors_incoming ... ok [INFO] [stdout] test engine::tests::test_neighbors_outgoing ... ok [INFO] [stdout] test engine::tests::test_neighbors_batch_with_type_filter ... ok [INFO] [stdout] test engine::tests::test_neighbors_paged_cross_source ... ok [INFO] [stdout] test engine::tests::test_neighbors_paged_with_temporal_filter ... ok [INFO] [stdout] test engine::tests::test_neighbors_paged_temporal_default_matches_neighbors ... ok [INFO] [stdout] test engine::tests::test_neighbors_paged_temporal_cursor_correctness ... ok [INFO] [stdout] test engine::tests::test_neighbors_with_limit ... ok [INFO] [stdout] test engine::tests::test_neighbors_with_type_filter ... ok [INFO] [stdout] test engine::tests::test_neighbors_survive_restart ... ok [INFO] [stdout] test engine::tests::test_nodes_by_type_paged_basic ... ok [INFO] [stdout] test engine::tests::test_neighbors_paged_sees_immutable ... ok [INFO] [stdout] test engine::tests::test_neighbors_sees_immutable ... ok [INFO] [stdout] test engine::tests::test_nodes_by_type_paged_default_returns_all ... ok [INFO] [stdout] test engine::tests::test_nodes_by_type_paged_empty_type ... ok [INFO] [stdout] test engine::tests::test_nodes_by_type_paged_cursor_past_end ... ok [INFO] [stdout] test engine::tests::test_nodes_by_type_memtable_only ... ok [INFO] [stdout] test engine::tests::test_nodes_by_type_paged_respects_tombstones ... ok [INFO] [stdout] test engine::tests::test_nodes_by_type_paged_policy_cursor_correctness ... ok [INFO] [stdout] test engine::tests::test_nodes_by_type_paged_policy_refills_past_sparse_filtered_window ... ok [INFO] [stdout] test engine::tests::test_nodes_by_type_paged_cross_source ... ok [INFO] [stdout] test engine::tests::test_nodes_by_type_paged_respects_prune_policies ... ok [INFO] [stdout] test engine::tests::test_open_nonexistent_without_create ... ok [INFO] [stdout] test engine::tests::test_nodes_by_type_paged_roundtrip ... ok [INFO] [stdout] test engine::tests::test_nodes_by_type_cross_source ... ok [INFO] [stdout] test engine::tests::test_nodes_by_type_excludes_deleted ... ok [INFO] [stdout] test engine::tests::test_open_creates_new_db ... ok [INFO] [stdout] test engine::tests::test_open_rejects_invalid_vector_payloads_from_wal_replay ... ok [INFO] [stdout] test engine::tests::test_neighbors_batch_large_graph_parity ... ok [INFO] [stdout] test engine::tests::test_open_persists_and_validates_dense_vector_manifest ... ok [INFO] [stdout] test engine::tests::test_nodes_by_type_paged_sees_immutable ... ok [INFO] [stdout] test engine::tests::test_open_rejects_malformed_vector_frame_from_wal_replay ... ok [INFO] [stdout] test engine::tests::test_open_canonicalizes_vector_payloads_from_wal_replay ... ok [INFO] [stdout] test engine::tests::test_orphan_segment_cleanup_on_open ... ok [INFO] [stdout] test engine::tests::test_orphan_segment_ignored_on_reopen_cp8 ... ok [INFO] [stdout] test engine::tests::test_open_rejects_compacted_dense_segment_truncated_vector_blob ... ok [INFO] [stdout] test engine::tests::test_paged_cursor_on_deleted_id ... ok [INFO] [stdout] test engine::tests::test_orphan_wal_generation_ignored ... ok [INFO] [stdout] test engine::tests::test_orphan_segment_does_not_reuse_id ... ok [INFO] [stdout] test engine::tests::test_open_rejects_standard_compacted_dense_segment_missing_hnsw_graph ... ok [INFO] [stdout] test engine::tests::test_open_rejects_compacted_dense_segment_missing_hnsw_graph ... ok [INFO] [stdout] test engine::tests::test_paged_limit_zero_returns_all ... ok [INFO] [stdout] test engine::tests::test_orphan_cleanup_preserves_valid_segments ... ok [INFO] [stdout] test engine::tests::test_path_apis_same_nonexistent_node_return_empty ... ok [INFO] [stdout] test engine::tests::test_paged_single_item_pages ... ok [INFO] [stdout] test engine::tests::test_paged_limit_larger_than_result_set ... ok [INFO] [stdout] test engine::tests::test_path_apis_after_reopen_weighted_and_unweighted ... ok [INFO] [stdout] test engine::tests::test_point_in_time_query_with_invalidated_edge ... ok [INFO] [stdout] test engine::tests::test_path_apis_respect_prune_policy_visibility ... ok [INFO] [stdout] test engine::tests::test_point_in_time_query_sees_valid_edges ... ok [INFO] [stdout] test engine::tests::test_point_in_time_query_after_flush ... ok [INFO] [stdout] test engine::tests::test_point_in_time_traverse_depth_two ... ok [INFO] [stdout] test engine::tests::test_plain_segment_flush_reopen_v6_fast_path ... ok [INFO] [stdout] test engine::tests::test_ppr_approx_empty_seeds ... ok [INFO] [stdout] test engine::tests::test_point_in_time_with_decay ... ok [INFO] [stdout] test engine::tests::test_path_apis_respect_deleted_edges_after_flush_and_compact ... ok [INFO] [stdout] test engine::tests::test_ppr_approx_edge_type_filter ... ok [INFO] [stdout] test engine::tests::test_ppr_approx_filters_deleted_seeds ... ok [INFO] [stdout] test engine::tests::test_ppr_approx_small_graph_matches_exact_order ... ok [INFO] [stdout] test engine::tests::test_ppr_approx_respects_deleted_nodes ... ok [INFO] [stdout] test engine::tests::test_ppr_across_flush ... ok [INFO] [stdout] test engine::tests::test_ppr_empty_seeds ... ok [INFO] [stdout] test engine::tests::test_ppr_approx_across_flush ... ok [INFO] [stdout] test engine::tests::test_ppr_deleted_seed_returns_empty ... ok [INFO] [stdout] test engine::tests::test_ppr_known_values ... ok [INFO] [stdout] test engine::tests::test_ppr_duplicate_seeds ... ok [INFO] [stdout] test engine::tests::test_ppr_high_damping_spreads_rank ... ok [INFO] [stdout] test engine::tests::test_ppr_low_damping_seed_dominates ... ok [INFO] [stdout] test engine::tests::test_ppr_edge_type_filter ... ok [INFO] [stdout] test engine::tests::test_ppr_cycle_converges ... ok [INFO] [stdout] test engine::tests::test_ppr_nonexistent_seed_returns_empty ... ok [INFO] [stdout] test engine::tests::test_ppr_approx_survives_compaction ... ok [INFO] [stdout] test engine::tests::test_ppr_single_node_no_edges ... ok [INFO] [stdout] test engine::tests::test_ppr_respects_deleted_nodes ... ok [INFO] [stdout] test engine::tests::test_ppr_max_results ... ok [INFO] [stdout] test engine::tests::test_ppr_simple_chain ... ok [INFO] [stdout] test engine::tests::test_ppr_multiple_seeds ... ok [INFO] [stdout] test engine::tests::test_ppr_weighted_edges ... ok [INFO] [stdout] test engine::tests::test_prune_already_deleted_node_ignored ... ok [INFO] [stdout] test engine::tests::test_prune_by_weight_only ... ok [INFO] [stdout] test engine::tests::test_prune_by_age_only ... ok [INFO] [stdout] test engine::tests::test_prune_cascade_deletes_edges ... ok [INFO] [stdout] test engine::tests::test_prune_combo_age_and_weight ... ok [INFO] [stdout] test engine::tests::test_prune_empty_db ... ok [INFO] [stdout] test engine::tests::test_prune_after_flush_segment_nodes ... ok [INFO] [stdout] test engine::tests::test_ppr_survives_compaction ... ok [INFO] [stdout] test engine::tests::test_prune_cascade_edges_in_segment ... ok [INFO] [stdout] test engine::tests::test_prune_empty_policy_rejects ... ok [INFO] [stdout] test engine::tests::test_prune_policy_validation ... ok [INFO] [stdout] test engine::tests::test_prune_policy_survives_close_reopen ... ok [INFO] [stdout] test engine::tests::test_prune_negative_age_rejected ... ok [INFO] [stdout] test engine::tests::test_prune_empty_result_no_match ... ok [INFO] [stdout] test engine::tests::test_prune_cross_source_memtable_and_segment ... ok [INFO] [stdout] test engine::tests::test_prune_finds_targets_in_immutable_memtable ... ok [INFO] [stdout] test engine::tests::test_prune_zero_age_rejected ... ok [INFO] [stdout] test engine::tests::test_prune_type_id_only_rejects ... ok [INFO] [stdout] test engine::tests::test_prune_type_scoped ... ok [INFO] [stdout] test engine::tests::test_prune_shared_edge_dedup ... ok [INFO] [stdout] test engine::tests::test_prune_type_scoped_with_age ... ok [INFO] [stdout] test engine::tests::test_prune_weight_boundary ... ok [INFO] [stdout] test engine::tests::test_prune_survives_wal_replay ... ok [INFO] [stdout] test engine::tests::test_prune_respects_tombstones_in_immutable_memtable ... ok [INFO] [stdout] test engine::tests::test_read_time_policy_add_remove_takes_effect ... ok [INFO] [stdout] test engine::tests::test_read_time_policy_delete_node_cascade_unaffected ... ok [INFO] [stdout] test engine::tests::test_read_time_policy_get_node ... ok [INFO] [stdout] test engine::tests::test_read_time_policy_find_nodes ... ok [INFO] [stdout] test engine::tests::test_read_time_policy_extract_subgraph ... ok [INFO] [stdout] test engine::tests::test_read_time_policy_get_node_by_key ... ok [INFO] [stdout] test engine::tests::test_read_time_policy_get_node_after_flush ... ok [INFO] [stdout] test engine::tests::test_read_time_policy_get_node_by_key_after_flush ... ok [INFO] [stdout] test engine::tests::test_published_pending_retire_not_replayed ... ok [INFO] [stdout] test engine::tests::test_read_time_policy_get_nodes_batch ... ok [INFO] [stdout] test engine::tests::test_read_time_policy_multiple_policies_or ... ok [INFO] [stdout] test engine::tests::test_read_time_policy_neighbors ... ok [INFO] [stdout] test engine::tests::test_read_time_policy_graph_patch_dedup_unaffected ... ok [INFO] [stdout] test engine::tests::test_read_time_policy_neighbors_after_flush ... ok [INFO] [stdout] test engine::tests::test_read_time_policy_no_policies_zero_overhead ... ok [INFO] [stdout] test engine::tests::test_read_time_policy_neighbors_limit ... ok [INFO] [stdout] test engine::tests::test_read_time_policy_nodes_by_type ... ok [INFO] [stdout] test engine::tests::test_remove_prune_policy ... ok [INFO] [stdout] test engine::tests::test_read_time_policy_top_k ... ok [INFO] [stdout] test engine::tests::test_read_time_policy_type_scoped ... ok [INFO] [stdout] test engine::tests::test_read_time_policy_upsert_dedup_unaffected ... ok [INFO] [stdout] test engine::tests::test_read_time_policy_traverse_depth_two ... ok [INFO] [stdout] test engine::tests::test_read_time_policy_prune_still_works ... ok [INFO] [stdout] test engine::tests::test_read_time_policy_upsert_dedup_after_flush ... ok [INFO] [stdout] test engine::tests::test_reopen_fails_if_published_pending_retire_segment_is_missing ... ok [INFO] [stdout] test engine::tests::test_scan_max_segment_id_finds_highest ... ok [INFO] [stdout] test engine::tests::test_scan_max_segment_id_no_segments_dir ... ok [INFO] [stdout] test engine::tests::test_reopen_engine_seq_continuity ... ok [INFO] [stdout] test engine::tests::test_removed_policy_no_longer_prunes ... ok [INFO] [stdout] test engine::tests::test_reopen_after_flush_then_more_writes ... ok [INFO] [stdout] test engine::tests::test_replay_multiple_wal_generations ... ok [INFO] [stdout] test engine::tests::test_repeated_crash_reopen_cycles ... ok [INFO] [stdout] test engine::tests::test_reopen_replays_frozen_epochs_oldest_first ... ok [INFO] [stdout] test engine::tests::test_repeated_crash_after_freeze_preserves_data ... ok [INFO] [stdout] test engine::tests::test_segment_data_survives_reopen ... ok [INFO] [stdout] test engine::tests::test_set_and_list_prune_policies ... ok [INFO] [stdout] test engine::tests::test_self_loop_in_top_k ... ok [INFO] [stdout] test engine::tests::test_self_loop_neighbors_outgoing ... ok [INFO] [stdout] test engine::tests::test_segments_non_overlapping_detection ... ok [INFO] [stdout] test engine::tests::test_shortest_path_after_flush ... ok [INFO] [stdout] test engine::tests::test_shortest_path_cycle_safe ... ok [INFO] [stdout] test engine::tests::test_shortest_path_diamond_finds_shortest ... ok [INFO] [stdout] test engine::tests::test_segments_overlapping_detection ... ok [INFO] [stdout] test engine::tests::test_shortest_path_across_flush_boundary ... ok [INFO] [stdout] test engine::tests::test_self_loop_survives_flush_and_compact ... ok [INFO] [stdout] test engine::tests::test_shortest_path_direct_neighbors ... ok [INFO] [stdout] test engine::tests::test_shortest_path_directed_no_reverse ... ok [INFO] [stdout] test engine::tests::test_shortest_path_edge_type_filter ... ok [INFO] [stdout] test engine::tests::test_shortest_path_after_compact ... ok [INFO] [stdout] test engine::tests::test_shortest_path_incoming_direction ... ok [INFO] [stdout] test engine::tests::test_shortest_path_max_depth_cutoff ... ok [INFO] [stdout] test engine::tests::test_shortest_path_nonexistent_node ... ok [INFO] [stdout] test engine::tests::test_shortest_path_multi_hop ... ok [INFO] [stdout] test engine::tests::test_shortest_path_no_path_disconnected ... ok [INFO] [stdout] test engine::tests::test_shortest_path_same_node ... ok [INFO] [stdout] test engine::tests::test_shortest_path_temporal_filtering ... ok [INFO] [stdout] test engine::tests::test_shortest_path_memtable_plus_segments ... ok [INFO] [stdout] test engine::tests::test_shortest_path_with_deleted_edge ... ok [INFO] [stdout] test engine::tests::test_shortest_path_through_immutable ... ok [INFO] [stdout] test engine::tests::test_source_list_find_edge_by_triple_across_segment ... ok [INFO] [stdout] test engine::tests::test_source_list_find_node_across_segments ... ok [INFO] [stdout] test engine::tests::test_source_list_find_node_by_key_across_segment ... ok [INFO] [stdout] test engine::tests::test_shortest_path_with_deleted_node ... ok [INFO] [stdout] test engine::tests::test_source_list_find_node_tombstoned_in_memtable_segment_has_record ... ok [INFO] [stdout] test engine::tests::test_stats_fresh_db ... ok [INFO] [stdout] test engine::tests::test_stats_group_commit_sync_mode ... ok [INFO] [stdout] test engine::tests::test_sparse_search_tombstone_in_immutable_hides_result ... ok [INFO] [stdout] test engine::tests::test_sparse_search_sees_immutable ... ok [INFO] [stdout] test engine::tests::test_stats_pending_wal_bytes_group_commit ... ok [INFO] [stdout] test engine::tests::test_stats_immutable_memtable_fields ... ok [INFO] [stdout] test engine::tests::test_stale_frozen_epochs_cleaned_on_reopen_then_flush_works ... ok [INFO] [stdout] test engine::tests::test_standard_compaction_clears_stale_vector_payloads ... ok [INFO] [stdout] test engine::tests::test_stats_last_compaction_ms_bg ... ok [INFO] [stdout] test engine::tests::test_stats_last_compaction_ms ... ok [INFO] [stdout] test engine::tests::test_stats_tombstones ... ok [INFO] [stdout] test engine::tests::test_standard_path_used_for_overlapping_segments ... ok [INFO] [stdout] test engine::tests::test_subgraph_cycle ... ok [INFO] [stdout] test engine::tests::test_subgraph_depth_limits_traversal ... ok [INFO] [stdout] test engine::tests::test_stats_segments_after_flush ... ok [INFO] [stdout] test engine::tests::test_subgraph_direction_both ... ok [INFO] [stdout] test engine::tests::test_subgraph_diamond_graph ... ok [INFO] [stdout] test engine::tests::test_subgraph_depth_zero ... ok [INFO] [stdout] test engine::tests::test_subgraph_cross_segment ... ok [INFO] [stdout] test engine::tests::test_subgraph_direction_incoming ... ok [INFO] [stdout] test engine::tests::test_subgraph_nonexistent_start_node ... ok [INFO] [stdout] test engine::tests::test_subgraph_disconnected_not_reached ... ok [INFO] [stdout] test engine::tests::test_subgraph_large_fan_out ... ok [INFO] [stdout] test engine::tests::test_subgraph_edge_type_filter ... ok [INFO] [stdout] test engine::tests::test_subgraph_linear_chain_depth_1 ... ok [INFO] [stdout] test engine::tests::test_subgraph_linear_chain_depth_3 ... ok [INFO] [stdout] test engine::tests::test_subgraph_with_deleted_edge ... ok [INFO] [stdout] test engine::tests::test_subgraph_preserves_node_properties ... ok [INFO] [stdout] test engine::tests::test_subgraph_self_loop ... ok [INFO] [stdout] test engine::tests::test_subgraph_temporal_filter ... ok [INFO] [stdout] test engine::tests::test_subgraph_with_deleted_node ... ok [INFO] [stdout] test engine::tests::test_sum_edge_weights_basic ... ok [INFO] [stdout] test engine::tests::test_sum_edge_weights_after_flush ... ok [INFO] [stdout] test engine::tests::test_sync_forces_immediate_flush ... ok [INFO] [stdout] test engine::tests::test_sum_weight_matches_neighbors ... ok [INFO] [stdout] test engine::tests::test_temporal_adjacency_postings_survive_flush ... ok [INFO] [stdout] test engine::tests::test_sync_noop_in_immediate_mode ... ok [INFO] [stdout] test engine::tests::test_temporal_fields_survive_flush_and_segment_read ... ok [INFO] [stdout] test engine::tests::test_sum_edge_weights_sees_immutable ... ok [INFO] [stdout] test engine::tests::test_temporal_fields_survive_wal_replay ... ok [INFO] [stdout] test engine::tests::test_time_range_boundary_conditions ... ok [INFO] [stdout] test engine::tests::test_shortest_path_large_fan_out ... ok [INFO] [stdout] test engine::tests::test_time_range_memtable_only ... ok [INFO] [stdout] test engine::tests::test_time_range_across_flush ... ok [INFO] [stdout] test engine::tests::test_time_range_paged_policy_refills_past_sparse_filtered_window ... ok [INFO] [stdout] test engine::tests::test_time_range_paged ... ok [INFO] [stdout] test engine::tests::test_time_range_dedup_across_sources ... ok [INFO] [stdout] test engine::tests::test_temporal_fields_survive_compaction ... ok [INFO] [stdout] test engine::tests::test_time_range_paged_stale_suppressed ... ok [INFO] [stdout] test engine::tests::test_time_range_survives_reopen ... ok [INFO] [stdout] test engine::tests::test_time_range_upsert_updates_index ... ok [INFO] [stdout] test engine::tests::test_time_range_respects_tombstones ... ok [INFO] [stdout] test engine::tests::test_time_range_stale_segment_suppressed_by_newer_version ... ok [INFO] [stdout] test engine::tests::test_time_range_stale_segment_suppressed_across_segments ... ok [INFO] [stdout] test engine::tests::test_time_range_with_prune_policy ... ok [INFO] [stdout] test engine::tests::test_time_range_survives_compaction ... ok [INFO] [stdout] test engine::tests::test_top_k_by_recency ... ok [INFO] [stdout] test engine::tests::test_tombstone_last_write_seq_survives_flush_reopen ... ok [INFO] [stdout] test engine::tests::test_top_k_by_decay ... ok [INFO] [stdout] test engine::tests::test_tombstone_hides_segment_data ... ok [INFO] [stdout] test engine::tests::test_top_k_across_segments ... ok [INFO] [stdout] test engine::tests::test_tombstone_survives_second_flush ... ok [INFO] [stdout] test engine::tests::test_top_k_excludes_deleted_neighbors ... ok [INFO] [stdout] test engine::tests::test_tombstone_survives_flush_reopen ... ok [INFO] [stdout] test engine::tests::test_top_k_by_weight ... ok [INFO] [stdout] test engine::tests::test_top_k_k_greater_than_neighbors ... ok [INFO] [stdout] test engine::tests::test_top_k_with_type_filter ... ok [INFO] [stdout] test engine::tests::test_top_k_negative_lambda_returns_error ... ok [INFO] [stdout] test engine::tests::test_top_k_zero_returns_empty ... ok [INFO] [stdout] test engine::tests::test_traversal_sees_immutable_edges ... ok [INFO] [stdout] test engine::tests::test_traverse_cursor_past_end_returns_empty_page ... ok [INFO] [stdout] test engine::tests::test_traverse_depth_two_cursor_past_end_returns_empty ... ok [INFO] [stdout] test engine::tests::test_traverse_basic_depth_and_order ... ok [INFO] [stdout] test engine::tests::test_top_k_neighbors_sees_immutable ... ok [INFO] [stdout] test engine::tests::test_traverse_depth_two_filtered_emission_matches_old_constrained_shape ... ok [INFO] [stdout] test engine::tests::test_traverse_cursor_resume_across_pages_without_dup_or_skip ... ok [INFO] [stdout] test engine::tests::test_traverse_depth_two_cross_segment ... ok [INFO] [stdout] test engine::tests::test_traverse_depth_two_paged_basic ... ok [INFO] [stdout] test engine::tests::test_traverse_cycle_safe_and_unique ... ok [INFO] [stdout] test engine::tests::test_traverse_depth_two_paged_roundtrip ... ok [INFO] [stdout] test engine::tests::test_traverse_cursor_resume_within_same_depth_layer ... ok [INFO] [stdout] test engine::tests::test_traverse_depth_two_nonexistent_or_hidden_start ... ok [INFO] [stdout] test engine::tests::test_traverse_depth_two_excludes_origin_and_hop1 ... ok [INFO] [stdout] test engine::tests::test_traverse_depth_two_incoming ... ok [INFO] [stdout] test engine::tests::test_sync_failure_poisons_engine ... ok [INFO] [stdout] test engine::tests::test_traverse_depth_two_respects_edge_type_filter ... ok [INFO] [stdout] test engine::tests::test_traverse_depth_two_respects_limit ... ok [INFO] [stdout] test engine::tests::test_traverse_depth_two_reproduces_basic_two_hop ... ok [INFO] [stdout] test engine::tests::test_traverse_depth_window_and_limit ... ok [INFO] [stdout] test engine::tests::test_traverse_exact_page_size_cutoff_is_last_page ... ok [INFO] [stdout] test engine::tests::test_traverse_edge_filter_and_node_type_filter_is_emission_only ... ok [INFO] [stdout] test engine::tests::test_traverse_flush_compact_and_reopen_parity ... ok [INFO] [stdout] test engine::tests::test_traverse_hidden_or_missing_start_returns_empty ... ok [INFO] [stdout] test engine::tests::test_traverse_last_page_cursor_is_none_for_isolated_start ... ok [INFO] [stdout] test engine::tests::test_traverse_incoming_and_both_directions ... ok [INFO] [stdout] test engine::tests::test_traverse_last_page_cursor_is_none_when_deeper_work_is_filtered_out ... ok [INFO] [stdout] test engine::tests::test_type_index_survives_flush_and_reopen ... ok [INFO] [stdout] test engine::tests::test_traverse_pagination_with_prune_policy_uses_filtered_path ... ok [INFO] [stdout] test engine::tests::test_traverse_pagination_with_node_type_filter_uses_filtered_path ... ok [INFO] [stdout] test engine::tests::test_traverse_respects_deleted_temporal_and_prune_visibility ... ok [INFO] [stdout] test engine::tests::test_upsert_edge_custom_temporal_fields ... ok [INFO] [stdout] test engine::tests::test_traverse_via_edge_id_uses_deterministic_tie_break ... ok [INFO] [stdout] test engine::tests::test_upsert_edge_new ... ok [INFO] [stdout] test engine::tests::test_upsert_after_delete_across_flush_gets_new_id ... ok [INFO] [stdout] test engine::tests::test_upsert_dedup_across_flush_boundary ... ok [INFO] [stdout] test engine::tests::test_upsert_edge_default_temporal_fields ... ok [INFO] [stdout] test engine::tests::test_upsert_edge_with_uniqueness_dedup ... ok [INFO] [stdout] test engine::tests::test_upsert_edge_without_uniqueness_creates_duplicates ... ok [INFO] [stdout] test engine::tests::test_upsert_node_accepts_default_weight ... ok [INFO] [stdout] test engine::tests::test_upsert_node_dedup ... ok [INFO] [stdout] test engine::tests::test_upsert_node_dense_vector_requires_config ... ok [INFO] [stdout] test engine::tests::test_upsert_node_different_types_same_key ... ok [INFO] [stdout] test engine::tests::test_upsert_node_id_counter_monotonic ... ok [INFO] [stdout] test engine::tests::test_upsert_node_new ... ok [INFO] [stdout] test engine::tests::test_upsert_node_preserves_created_at ... ok [INFO] [stdout] test engine::tests::test_upsert_node_rejects_negative_sparse_weights ... ok [INFO] [stdout] test engine::tests::test_upsert_node_rejects_wrong_dense_dimension ... ok [INFO] [stdout] test engine::tests::test_upsert_node_dedup_across_immutable ... ok [INFO] [stdout] test engine::tests::test_upsert_overwrites_on_replay ... ok [INFO] [stdout] test engine::tests::test_upsert_survives_restart ... ok [INFO] [stdout] test engine::tests::test_upsert_node_with_vectors_survives_restart ... ok [INFO] [stdout] test engine::tests::test_v3_matches_any_prune_policy_meta ... ok [INFO] [stdout] test engine::tests::test_v3_cross_segment_edges ... ok [INFO] [stdout] test engine::tests::test_v3_compact_reopen_durability ... ok [INFO] [stdout] test engine::tests::test_v3_compact_preserves_edges_across_segments ... ok [INFO] [stdout] test engine::tests::test_v3_edge_cascade_high_fanout ... ok [INFO] [stdout] test engine::tests::test_v3_planner_edge_cascade_on_tombstone ... ok [INFO] [stdout] test engine::tests::test_v3_index_parity ... ok [INFO] [stdout] test engine::tests::test_v3_fast_merge_index_parity ... ok [INFO] [stdout] test engine::tests::test_v3_planner_basic_winner_selection ... ok [INFO] [stdout] test engine::tests::test_v3_planner_prune_policy_edge_cascade ... ok [INFO] [stdout] test engine::tests::test_v3_planner_overlapping_multi_segment ... ok [INFO] [stdout] test engine::tests::test_v3_mixed_workload_stress ... ok [INFO] [stdout] test engine::tests::test_v3_deterministic_output ... ok [INFO] [stdout] test engine::tests::test_v3_planner_prune_policy_or_semantics ... ok [INFO] [stdout] test engine::tests::test_v3_planner_prune_policy_from_metadata ... ok [INFO] [stdout] test engine::tests::test_vector_search_dense_combines_shadowing_tombstones_type_filter_and_policy ... ok [INFO] [stdout] test engine::tests::test_v3_planner_tombstone_handling ... ok [INFO] [stdout] test engine::tests::test_v3_reopen_durability ... ok [INFO] [stdout] test engine::tests::test_v3_policy_or_and_semantics ... ok [INFO] [stdout] test engine::tests::test_vector_search_dense_empty_when_unconfigured_or_no_vectors ... ok [INFO] [stdout] test engine::tests::test_vector_search_dense_exhausts_segments_before_returning_top_k ... ok [INFO] [stdout] test engine::tests::test_vector_search_dense_default_ef_search_matches_explicit_default ... ok [INFO] [stdout] test engine::tests::test_vector_search_dense_memtable_shadows_segment_and_collapses_duplicates ... ok [INFO] [stdout] test engine::tests::test_vector_search_dense_rejects_missing_query_and_wrong_dimension ... ok [INFO] [stdout] test engine::tests::test_vector_search_dense_background_compaction_parity ... ok [INFO] [stdout] test engine::tests::test_vector_search_dense_newer_segment_shadows_older_segment ... ok [INFO] [stdout] test engine::tests::test_vector_search_dense_overfetch_recovers_visible_k ... ok [INFO] [stdout] test engine::tests::test_vector_search_dense_fast_merge_compaction_parity ... ok [INFO] [stdout] test engine::tests::test_vector_search_dense_scope_combines_start_edge_filters_temporal_policy_and_shadowing ... ok [INFO] [stdout] test engine::tests::test_vector_search_dense_small_graph_matches_exact_oracle ... ok [INFO] [stdout] test engine::tests::test_vector_search_dense_four_segment_visibility_and_ordering ... ok [INFO] [stdout] test engine::tests::test_v3_tombstone_overlap_stress ... ok [INFO] [stdout] test engine::tests::test_vector_search_dense_type_filter_and_deleted_node_exclusion ... ok [INFO] [stdout] test engine::tests::test_vector_search_hybrid_flush_and_reopen_parity ... ok [INFO] [stdout] test engine::tests::test_vector_search_dense_scope_compaction_and_reopen_parity ... ok [INFO] [stdout] test engine::tests::test_vector_search_dense_supports_euclidean_and_dot_product_metrics ... ok [INFO] [stdout] test engine::tests::test_vector_search_rejects_unimplemented_modes ... ok [INFO] [stdout] test engine::tests::test_vector_search_scope_matches_unscoped_results_filtered_by_reachable_ids ... ok [INFO] [stdout] test engine::tests::test_vector_search_sparse_combines_shadowing_tombstones_type_filter_and_policy ... ok [INFO] [stdout] test engine::tests::test_vector_search_sparse_exact_ranking_and_query_canonicalization ... ok [INFO] [stdout] test engine::tests::test_vector_search_sparse_empty_when_no_sparse_vectors ... ok [INFO] [stdout] test engine::tests::test_vector_search_dense_standard_compaction_parity ... ok [INFO] [stdout] test engine::tests::test_vector_search_sparse_flush_and_reopen_parity ... ok [INFO] [stdout] test engine::tests::test_vector_search_sparse_newer_non_match_hides_older_match ... ok [INFO] [stdout] test engine::tests::test_vector_search_sparse_rejects_negative_query_weights ... ok [INFO] [stdout] test engine::tests::test_vector_search_sparse_newer_segment_shadows_older_segment_candidate ... ok [INFO] [stdout] test engine::tests::test_vector_search_sparse_background_compaction_parity_with_mixed_vectors ... ok [INFO] [stdout] test engine::tests::test_vector_search_sparse_fast_merge_compaction_parity ... ok [INFO] [stdout] test engine::tests::test_vector_search_sparse_four_segment_visibility_and_ordering ... ok [INFO] [stdout] test engine::tests::test_vector_search_sparse_scope_combines_start_edge_filters_temporal_policy_and_shadowing ... ok [INFO] [stdout] test engine::tests::test_vector_search_sparse_zero_overlap_returns_empty ... ok [INFO] [stdout] test engine::tests::test_vector_search_sparse_type_filter_deleted_and_policy_exclusion ... ok [INFO] [stdout] test engine::tests::test_vector_segment_flush_reopen_mixed_nodes ... ok [INFO] [stdout] test engine::tests::test_vector_search_sparse_scope_compaction_and_reopen_parity ... ok [INFO] [stdout] test engine::tests::test_wal_generation_survives_close_fast ... ok [INFO] [stdout] test engine::tests::test_vector_segments_survive_fast_merge_reopen ... ok [INFO] [stdout] test engine::tests::test_vector_search_sparse_standard_compaction_parity ... ok [INFO] [stdout] test engine::tests::test_wcc_after_close_reopen ... ok [INFO] [stdout] test engine::tests::test_wal_replay_with_deletes ... ok [INFO] [stdout] test engine::tests::test_wcc_agrees_with_component_of ... ok [INFO] [stdout] test engine::tests::test_vector_segments_survive_standard_compaction_reopen ... ok [INFO] [stdout] test engine::tests::test_wcc_after_flush ... ok [INFO] [stdout] test engine::tests::test_wcc_agrees_with_component_of_filtered ... ok [INFO] [stdout] test engine::tests::test_wcc_deleted_nodes_and_edges ... ok [INFO] [stdout] test engine::tests::test_wcc_empty_graph ... ok [INFO] [stdout] test engine::tests::test_wcc_deterministic_component_ids ... ok [INFO] [stdout] test engine::tests::test_wcc_at_epoch_temporal_filtering ... ok [INFO] [stdout] test engine::tests::test_wcc_direction_ignored ... ok [INFO] [stdout] test engine::tests::test_wcc_edge_type_filter ... ok [INFO] [stdout] test engine::tests::test_wcc_isolated_nodes ... ok [INFO] [stdout] test engine::tests::test_wcc_memtable_only ... ok [INFO] [stdout] test engine::tests::test_wcc_prune_policy_hides_nodes ... ok [INFO] [stdout] test engine::tests::test_wcc_multiple_components ... ok [INFO] [stdout] test engine::tests::test_wcc_node_type_filter ... ok [INFO] [stdout] test engine::tests::test_wcc_after_compaction ... ok [INFO] [stdout] test engine::tests::test_wcc_single_component ... ok [INFO] [stdout] test engine::tests::test_weighted_path_apis_respect_prune_policy_visibility ... ok [INFO] [stdout] test engine::tests::test_write_and_read_back ... ok [INFO] [stdout] test engine::tests::test_worker_failure_keeps_epoch_visible ... ok [INFO] [stdout] test engine::tests::test_write_after_reported_flush_failure_retries_in_background ... ok [INFO] [stdout] test engine::tests::test_wcc_parallel_edges ... ok [INFO] [stdout] test engine::tests::test_wcc_self_loops ... ok [INFO] [stdout] test engine::tests::test_write_after_freeze_goes_to_new_generation ... ok [INFO] [stdout] test engine::tests::test_write_op_batch ... ok [INFO] [stdout] test manifest::tests::test_default_manifest ... ok [INFO] [stdout] test manifest::tests::test_load_manifest_missing_dense_vector_defaults_to_none ... ok [INFO] [stdout] test manifest::tests::test_load_manifest_readonly_does_not_write ... ok [INFO] [stdout] test manifest::tests::test_load_nonexistent_manifest ... ok [INFO] [stdout] test manifest::tests::test_manifest_atomic_no_partial_write ... ok [INFO] [stdout] test engine::tests::test_write_op_normalizes_node_vectors ... ok [INFO] [stdout] test engine::tests::test_write_op_batch_survives_restart ... ok [INFO] [stdout] test manifest::tests::test_manifest_recovery_from_tmp ... ok [INFO] [stdout] test manifest::tests::test_manifest_fallback_to_prev ... ok [INFO] [stdout] test memtable::tests::test_adjacency_built_on_edge_insert ... ok [INFO] [stdout] test memtable::tests::test_adjacency_idempotent_on_edge_upsert ... ok [INFO] [stdout] test memtable::tests::test_adjacency_lists_pruned_after_edge_delete ... ok [INFO] [stdout] test memtable::tests::test_apply_op_stores_last_write_seq ... ok [INFO] [stdout] test memtable::tests::test_basic_insert_and_get ... ok [INFO] [stdout] test manifest::tests::test_manifest_preserves_prev ... ok [INFO] [stdout] test memtable::tests::test_delete_edge_removes_from_adjacency ... ok [INFO] [stdout] test memtable::tests::test_delete_removes_from_indexes ... ok [INFO] [stdout] test memtable::tests::test_deleted_node_excluded_from_neighbors ... ok [INFO] [stdout] test memtable::tests::test_edge_triple_index ... ok [INFO] [stdout] test memtable::tests::test_edge_type_index_pruned_on_type_change ... ok [INFO] [stdout] test memtable::tests::test_empty_index_sets_pruned_after_deletes ... ok [INFO] [stdout] test memtable::tests::test_estimated_size_includes_type_indexes ... ok [INFO] [stdout] test memtable::tests::test_estimated_size_includes_vector_bytes ... ok [INFO] [stdout] test memtable::tests::test_for_each_adj_entry_breaks_early ... ok [INFO] [stdout] test memtable::tests::test_max_ids ... ok [INFO] [stdout] test memtable::tests::test_neighbors_both_direction ... ok [INFO] [stdout] test memtable::tests::test_neighbors_both_with_limit_preserves_self_loop_budget_semantics ... ok [INFO] [stdout] test memtable::tests::test_neighbors_with_type_filter ... ok [INFO] [stdout] test memtable::tests::test_neighbors_with_limit ... ok [INFO] [stdout] test memtable::tests::test_node_key_index ... ok [INFO] [stdout] test memtable::tests::test_node_key_index_pruned_after_delete ... ok [INFO] [stdout] test memtable::tests::test_prop_index_basic_lookup ... ok [INFO] [stdout] test manifest::tests::test_write_and_load_manifest ... ok [INFO] [stdout] test memtable::tests::test_prop_index_cleaned_on_delete ... ok [INFO] [stdout] test memtable::tests::test_prop_index_multiple_props_per_node ... ok [INFO] [stdout] test memtable::tests::test_prop_index_pruned_on_upsert_type_change ... ok [INFO] [stdout] test memtable::tests::test_prop_index_pruned_after_delete ... ok [INFO] [stdout] test memtable::tests::test_re_upsert_after_delete ... ok [INFO] [stdout] test memtable::tests::test_prop_index_re_upsert_after_delete ... ok [INFO] [stdout] test memtable::tests::test_prop_index_updated_on_upsert ... ok [INFO] [stdout] test memtable::tests::test_time_index_delete_removes_entry ... ok [INFO] [stdout] test memtable::tests::test_time_index_range_boundaries ... ok [INFO] [stdout] test memtable::tests::test_time_index_insert_and_query ... ok [INFO] [stdout] test memtable::tests::test_time_index_update_moves_entry ... ok [INFO] [stdout] test memtable::tests::test_type_edge_index_basic ... ok [INFO] [stdout] test memtable::tests::test_tombstone_carries_seq ... ok [INFO] [stdout] test memtable::tests::test_type_node_index_basic ... ok [INFO] [stdout] test memtable::tests::test_type_index_re_upsert_after_delete ... ok [INFO] [stdout] test memtable::tests::test_type_index_updated_on_delete ... ok [INFO] [stdout] test memtable::tests::test_upsert_overwrites_key_index ... ok [INFO] [stdout] test memtable::tests::test_upsert_updates_last_write_seq ... ok [INFO] [stdout] test segment_reader::tests::test_batch_strategy_prefers_seek_for_sparse_range ... ok [INFO] [stdout] test segment_reader::tests::test_batch_strategy_prefers_merge_for_dense_large_range ... ok [INFO] [stdout] test segment_reader::tests::test_batch_strategy_prefers_seek_for_tiny_key_count ... ok [INFO] [stdout] test segment_reader::tests::test_binary_search_key_index_many ... ok [INFO] [stdout] test segment_reader::tests::test_decode_edge_at_truncated_returns_error ... ok [INFO] [stdout] test segment_reader::tests::test_decode_node_at_truncated_returns_error ... ok [INFO] [stdout] test engine::tests::test_write_dedup_across_multiple_immutables ... ok [INFO] [stdout] test segment_reader::tests::test_all_nodes_hydrates_mixed_vectors ... ok [INFO] [stdout] test segment_reader::tests::test_binary_search_many_nodes ... ok [INFO] [stdout] test engine::tests::test_write_op_batch_normalizes_node_vectors ... ok [INFO] [stdout] test segment_reader::tests::test_empty_segment_reader ... ok [INFO] [stdout] test segment_reader::tests::test_format_version_absent_is_rejected ... ok [INFO] [stdout] test segment_reader::tests::test_edge_triple_index_excludes_tombstoned ... ok [INFO] [stdout] test segment_reader::tests::test_format_version_bad_magic_rejected ... ok [INFO] [stdout] test segment_reader::tests::test_format_version_bad_size_rejected ... ok [INFO] [stdout] test segment_reader::tests::test_edge_triple_index_roundtrip ... ok [INFO] [stdout] test segment_reader::tests::test_format_version_future_version_rejected ... ok [INFO] [stdout] test segment_reader::tests::test_format_version_v4_rejected ... ok [INFO] [stdout] test segment_reader::tests::test_for_each_adj_posting_batch_breaks_early ... ok [INFO] [stdout] test segment_reader::tests::test_for_each_adj_posting_breaks_early ... ok [INFO] [stdout] test segment_reader::tests::test_get_node_found ... ok [INFO] [stdout] test segment_reader::tests::test_full_segment_roundtrip ... ok [INFO] [stdout] test segment_reader::tests::test_get_edge_not_found ... ok [INFO] [stdout] test segment_reader::tests::test_get_edge_found ... ok [INFO] [stdout] test segment_reader::tests::test_get_node_not_found ... ok [INFO] [stdout] test engine::tests::test_write_path_applies_finished_bg_compact ... ok [INFO] [stdout] test segment_reader::tests::test_get_node_with_properties ... ok [INFO] [stdout] test segment_reader::tests::test_neighbor_weight_preserved_in_segment ... ok [INFO] [stdout] test segment_reader::tests::test_get_node_tombstoned ... ok [INFO] [stdout] test segment_reader::tests::test_get_node_with_vectors ... ok [INFO] [stdout] test segment_reader::tests::test_neighbors_incoming ... ok [INFO] [stdout] test segment_reader::tests::test_neighbors_outgoing ... ok [INFO] [stdout] test segment_reader::tests::test_neighbors_with_type_filter ... ok [INFO] [stdout] test segment_reader::tests::test_neighbors_no_adjacency ... ok [INFO] [stdout] test segment_reader::tests::test_neighbors_with_limit ... ok [INFO] [stdout] test segment_reader::tests::test_neighbors_both_with_limit_preserves_self_loop_budget_semantics ... ok [INFO] [stdout] test segment_reader::tests::test_node_by_key_not_found ... ok [INFO] [stdout] test segment_reader::tests::test_node_by_key_found ... ok [INFO] [stdout] test segment_reader::tests::test_open_keeps_dense_hnsw_empty_for_vectorless_segments ... ok [INFO] [stdout] test segment_reader::tests::test_open_rejects_dense_hnsw_dimension_mismatch ... ok [INFO] [stdout] test segment_reader::tests::test_open_exposes_dense_hnsw_header_for_dense_segments ... ok [INFO] [stdout] test segment_reader::tests::test_open_rejects_dense_hnsw_ef_construction_mismatch ... ok [INFO] [stdout] test segment_reader::tests::test_open_rejects_missing_sparse_posting_files_for_sparse_segments ... ok [INFO] [stdout] test segment_reader::tests::test_open_rejects_dense_hnsw_without_dense_config ... ok [INFO] [stdout] test segment_reader::tests::test_open_rejects_dense_hnsw_hnsw_param_mismatch ... ok [INFO] [stdout] test segment_reader::tests::test_open_rejects_missing_dense_hnsw_files_for_dense_segments ... ok [INFO] [stdout] test segment_reader::tests::test_open_rejects_dense_hnsw_files_in_v6_segment ... ok [INFO] [stdout] test segment_reader::tests::test_open_rejects_dense_hnsw_metric_mismatch ... ok [INFO] [stdout] test segment_reader::tests::test_open_rejects_orphan_vector_blob ... ok [INFO] [stdout] test segment_reader::tests::test_open_rejects_sparse_posting_files_in_v7_segment ... ok [INFO] [stdout] test segment_reader::tests::test_open_rejects_sparse_vectors_in_v7_segment_without_postings ... ok [INFO] [stdout] test segment_reader::tests::test_open_rejects_vector_blob_with_trailing_bytes ... ok [INFO] [stdout] test segment_reader::tests::test_open_rejects_sparse_posting_parity_mismatch ... ok [INFO] [stdout] test segment_reader::tests::test_open_rejects_vector_metadata_count_mismatch ... ok [INFO] [stdout] test segment_reader::tests::test_prop_index_excludes_tombstoned ... ok [INFO] [stdout] test segment_reader::tests::test_truncated_nodes_dat_returns_error ... ok [INFO] [stdout] test segment_writer::tests::test_encode_edge_record_roundtrip ... ok [INFO] [stdout] test segment_writer::tests::test_encode_node_record_roundtrip ... ok [INFO] [stdout] test segment_writer::tests::test_segment_dir_paths ... ok [INFO] [stdout] test segment_reader::tests::test_prop_index_roundtrip ... ok [INFO] [stdout] test segment_writer::tests::test_valid_to_sentinel_roundtrip ... ok [INFO] [stdout] test segment_writer::tests::test_varint_roundtrip_single_byte_max ... ok [INFO] [stdout] test segment_writer::tests::test_varint_roundtrip_two_byte_boundary ... ok [INFO] [stdout] test segment_writer::tests::test_varint_roundtrip_u64_max ... ok [INFO] [stdout] test segment_writer::tests::test_varint_roundtrip_zero ... ok [INFO] [stdout] test segment_reader::tests::test_sidecar_data_offset_matches_nodes_dat ... ok [INFO] [stdout] test segment_writer::tests::test_write_adjacency_empty ... ok [INFO] [stdout] test segment_writer::tests::test_sidecars_empty ... ok [INFO] [stdout] test segment_reader::tests::test_sidecar_node_meta_roundtrip ... ok [INFO] [stdout] test segment_writer::tests::test_write_edges_dat_empty ... ok [INFO] [stdout] test segment_reader::tests::test_sidecar_edge_meta_roundtrip ... ok [INFO] [stdout] test segment_writer::tests::test_write_key_index_empty ... ok [INFO] [stdout] test segment_writer::tests::test_write_edges_dat_multiple ... ok [INFO] [stdout] test segment_writer::tests::test_write_adjacency_single_node ... ok [INFO] [stdout] test segment_writer::tests::test_write_key_index_sorted_by_type_and_key ... ok [INFO] [stdout] test segment_reader::tests::test_truncated_tombstones_returns_error ... ok [INFO] [stdout] test segment_writer::tests::test_write_nodes_dat_empty ... ok [INFO] [stdout] test segment_writer::tests::test_write_edge_meta_roundtrip ... ok [INFO] [stdout] test segment_writer::tests::test_write_adjacency_sorted_index ... ok [INFO] [stdout] test segment_writer::tests::test_write_nodes_dat_multiple ... ok [INFO] [stdout] test segment_writer::tests::test_write_nodes_with_properties ... ok [INFO] [stdout] test segment_writer::tests::test_write_node_meta_roundtrip ... ok [INFO] [stdout] test segment_writer::tests::test_write_tombstones_mixed ... ok [INFO] [stdout] test segment_writer::tests::test_write_tombstones_empty ... ok [INFO] [stdout] test source_list::tests::test_collect_deleted_edges_across_sources ... ok [INFO] [stdout] test source_list::tests::test_collect_deleted_nodes_deduplicates ... ok [INFO] [stdout] test source_list::tests::test_find_edge_active_memtable ... ok [INFO] [stdout] test source_list::tests::test_find_edge_by_triple_active ... ok [INFO] [stdout] test source_list::tests::test_collect_deleted_nodes_across_sources ... ok [INFO] [stdout] test source_list::tests::test_find_edge_by_triple_tombstoned_in_newer_source ... ok [INFO] [stdout] test segment_writer::tests::test_write_segment_empty_memtable ... ok [INFO] [stdout] test source_list::tests::test_find_node_active_tombstone_shadows_immutable ... ok [INFO] [stdout] test source_list::tests::test_find_edge_tombstoned ... ok [INFO] [stdout] test segment_writer::tests::test_write_segment_full ... ok [INFO] [stdout] test segment_writer::tests::test_write_segment_with_sparse_only_vectors_skips_dense_hnsw ... ok [INFO] [stdout] test segment_writer::tests::test_write_segment_with_vectors_writes_vector_sidecars ... ok [INFO] [stdout] test source_list::tests::test_find_node_active_wins_over_immutable ... ok [INFO] [stdout] test source_list::tests::test_find_node_active_memtable ... ok [INFO] [stdout] test source_list::tests::test_find_node_by_key_active ... ok [INFO] [stdout] test source_list::tests::test_find_node_by_key_tombstoned_in_newer_source ... ok [INFO] [stdout] test source_list::tests::test_find_node_immutable_memtable ... ok [INFO] [stdout] test source_list::tests::test_find_node_immutable_tombstone_shadows_older_immutable ... ok [INFO] [stdout] test source_list::tests::test_find_node_newer_immutable_wins ... ok [INFO] [stdout] test source_list::tests::test_find_node_tombstoned_in_active ... ok [INFO] [stdout] test source_list::tests::test_is_edge_deleted ... ok [INFO] [stdout] test source_list::tests::test_is_node_deleted ... ok [INFO] [stdout] test source_list::tests::test_is_node_deleted_active_live_overrides_immutable_tombstone ... ok [INFO] [stdout] test sparse_postings::tests::test_sparse_dot_score_matches_overlap_only ... ok [INFO] [stdout] test sparse_postings::tests::test_accumulate_sparse_posting_scores_exact_dot_product ... ok [INFO] [stdout] test sparse_postings::tests::test_write_validate_and_collect_sparse_postings ... ok [INFO] [stdout] test sparse_postings::tests::test_accumulate_sparse_posting_scores_skips_interleaved_missing_dimensions ... ok [INFO] [stdout] test types::tests::test_canonicalize_sparse_vector_rejects_negative_values ... ok [INFO] [stdout] test types::tests::test_canonicalize_sparse_vector_rejects_non_finite_values ... ok [INFO] [stdout] test types::tests::test_canonicalize_sparse_vector_sorts_merges_and_drops_zeros ... ok [INFO] [stdout] test types::tests::test_component_options_default ... ok [INFO] [stdout] test types::tests::test_default_db_options ... ok [INFO] [stdout] test types::tests::test_degree_options_default ... ok [INFO] [stdout] test types::tests::test_direction_serde_roundtrip ... ok [INFO] [stdout] test types::tests::test_manifest_state_serde ... ok [INFO] [stdout] test types::tests::test_neighbor_entry_serde_roundtrip ... ok [INFO] [stdout] test types::tests::test_neighbor_options_default ... ok [INFO] [stdout] test types::tests::test_op_tag_roundtrip ... ok [INFO] [stdout] test types::tests::test_page_request_default ... ok [INFO] [stdout] test types::tests::test_page_result_has_more ... ok [INFO] [stdout] test types::tests::test_page_result_last_page ... ok [INFO] [stdout] test types::tests::test_prop_value_equality ... ok [INFO] [stdout] test types::tests::test_prop_value_map ... ok [INFO] [stdout] test types::tests::test_validate_dense_vector_config_rejects_invalid_values ... ok [INFO] [stdout] test types::tests::test_prop_value_map_msgpack_roundtrip ... ok [INFO] [stdout] test types::tests::test_validate_dense_vector_rejects_wrong_length_and_non_finite_values ... ok [INFO] [stdout] test types::tests::test_shortest_path_options_default ... ok [INFO] [stdout] test types::tests::test_traverse_options_default ... ok [INFO] [stdout] test types::tests::test_upsert_edge_options_default ... ok [INFO] [stdout] test wal::tests::test_wal_append_returns_size ... ok [INFO] [stdout] test types::tests::test_upsert_node_options_default ... ok [INFO] [stdout] test wal::tests::test_wal_empty_existing_file ... ok [INFO] [stdout] test wal::tests::test_wal_decode_error_is_crash_boundary_not_hard_error ... ok [INFO] [stdout] test wal::tests::test_wal_empty_file ... ok [INFO] [stdout] test wal::tests::test_wal_header_written_on_create ... ok [INFO] [stdout] test wal::tests::test_wal_malformed_recognized_record_is_hard_error ... ok [INFO] [stdout] test wal::tests::test_wal_rejects_non_overgraph_file ... ok [INFO] [stdout] test wal::tests::test_wal_mixed_operations ... ok [INFO] [stdout] test wal::tests::test_wal_reader_rejects_older_wal_version ... ok [INFO] [stdout] test wal::tests::test_wal_rejects_wrong_version ... ok [INFO] [stdout] test wal::tests::test_wal_remove ... ok [INFO] [stdout] test wal::tests::test_wal_reopen_writer_and_append ... ok [INFO] [stdout] test wal::tests::test_wal_corrupt_crc_detection ... ok [INFO] [stdout] test wal::tests::test_wal_writer_validates_existing_file ... ok [INFO] [stdout] test wal::tests::test_wal_corrupt_tail_recovery ... ok [INFO] [stdout] test wal::tests::test_wal_truncated_by_one_byte_in_payload ... ok [INFO] [stdout] test wal::tests::test_wal_truncate ... ok [INFO] [stdout] test wal::tests::test_wal_write_and_read_single ... ok [INFO] [stdout] test wal_sync::tests::test_poisoned_state_is_visible ... ok [INFO] [stdout] test wal_sync::tests::test_append_batch_returns_size ... ok [INFO] [stdout] test wal_sync::tests::test_sync_thread_shutdown_with_zero_buffered ... ok [INFO] [stdout] test wal_sync::tests::test_truncate_and_reset ... ok [INFO] [stdout] test wal::tests::test_wal_write_and_read_many ... ok [INFO] [stdout] test wal_sync::tests::test_shutdown_with_pending_buffered_data ... ok [INFO] [stdout] test wal_sync::tests::test_sync_thread_basic_operation ... ok [INFO] [stdout] test wal_sync::tests::test_multiple_sync_cycles_drain_all ... ok [INFO] [stdout] test engine::tests::test_vector_search_dense_scope_large_reachable_set_excludes_better_unreachable_nodes ... ok [INFO] [stdout] test engine::tests::test_vector_search_sparse_scope_large_reachable_set_excludes_better_unreachable_nodes ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1054 passed; 0 failed; 8 ignored; 0 measured; 0 filtered out; finished in 24.03s [INFO] [stdout] [INFO] [stderr] Running tests/phase1_integration.rs (/opt/rustwide/target/debug/deps/phase1_integration-a044a84c6ebc781e) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test test_crash_recovery_without_close ... ok [INFO] [stdout] test test_wal_replay_last_write_wins ... ok [INFO] [stdout] test test_full_phase1_lifecycle ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s [INFO] [stdout] [INFO] [stderr] Running tests/phase2_integration.rs (/opt/rustwide/target/debug/deps/phase2_integration-c8502b19fc2f30e0) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test test_graph_state_survives_restart ... ok [INFO] [stdout] test test_full_graph_query_patterns ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.31s [INFO] [stdout] [INFO] [stderr] Running tests/phase3_integration.rs (/opt/rustwide/target/debug/deps/phase3_integration-79b6dae1f7f91ba3) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test test_flush_close_reopen_reads_from_segments ... ok [INFO] [stdout] test test_multi_segment_survives_reopen ... ok [INFO] [stdout] test test_large_graph_with_flush_and_cross_source_queries ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.37s [INFO] [stdout] [INFO] [stderr] Running tests/phase4_integration.rs (/opt/rustwide/target/debug/deps/phase4_integration-b8e3129601d558c9) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test test_reads_consistent_through_compaction_lifecycle ... ok [INFO] [stdout] test test_compaction_removes_deleted_records_and_shrinks_disk ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 6.68s [INFO] [stdout] [INFO] [stderr] Running tests/phase5_integration.rs (/opt/rustwide/target/debug/deps/phase5_integration-b3789ac6fcbe63ce) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test test_secondary_indexes_across_flush_compact_reopen ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.34s [INFO] [stdout] [INFO] [stderr] Running tests/robustness_integration.rs (/opt/rustwide/target/debug/deps/robustness_integration-ef2cc81643115fe4) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test test_engine_wal_truncated_record_recovery ... ok [INFO] [stdout] test test_crash_recovery_with_deletes ... ok [INFO] [stdout] test test_engine_manifest_corruption_recovery ... ok [INFO] [stdout] test test_crash_recovery_wal_replay ... ok [INFO] [stdout] test test_temporal_edges_cross_source ... ok [INFO] [stdout] test test_large_scale_100k_nodes ... ok [INFO] [stdout] [INFO] [stderr] Doc-tests overgraph [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 9.46s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 16 tests [INFO] [stdout] test src/engine/graph_ops.rs - engine::DatabaseEngine::connected_components (line 5744) - compile ... ok [INFO] [stdout] test src/engine/graph_ops.rs - engine::DatabaseEngine::component_of (line 5945) - compile ... ok [INFO] [stdout] test src/engine/write.rs - engine::DatabaseEngine::upsert_edge (line 63) - compile ... ok [INFO] [stdout] test src/engine/write.rs - engine::DatabaseEngine::upsert_node (line 10) - compile ... ok [INFO] [stdout] test src/lib.rs - (line 11) - compile ... ok [INFO] [stdout] test src/types.rs - types::ComponentOptions (line 855) ... ok [INFO] [stdout] test src/types.rs - types::SubgraphOptions (line 727) ... ok [INFO] [stdout] test src/types.rs - types::AllShortestPathsOptions (line 788) ... ok [INFO] [stdout] test src/types.rs - types::IsConnectedOptions (line 826) ... ok [INFO] [stdout] test src/types.rs - types::TopKOptions (line 657) ... ok [INFO] [stdout] test src/types.rs - types::DegreeOptions (line 631) ... ok [INFO] [stdout] test src/types.rs - types::ShortestPathOptions (line 753) ... ok [INFO] [stdout] test src/types.rs - types::UpsertEdgeOptions (line 566) ... ok [INFO] [stdout] test src/types.rs - types::NeighborOptions (line 599) ... ok [INFO] [stdout] test src/types.rs - types::UpsertNodeOptions (line 535) ... ok [INFO] [stdout] test src/types.rs - types::TraverseOptions (line 686) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.99s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "c56c7d2e19178d728867775aec2f02ca1564e071cc1b74aaa66674d83d645f9c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c56c7d2e19178d728867775aec2f02ca1564e071cc1b74aaa66674d83d645f9c", kill_on_drop: false }` [INFO] [stdout] c56c7d2e19178d728867775aec2f02ca1564e071cc1b74aaa66674d83d645f9c