[INFO] fetching crate arrowspace 0.22.0... [INFO] testing arrowspace-0.22.0 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7 [INFO] extracting crate arrowspace 0.22.0 into /workspace/builds/worker-4-tc1/source [INFO] started tweaking crates.io crate arrowspace 0.22.0 [INFO] finished tweaking crates.io crate arrowspace 0.22.0 [INFO] tweaked toml for crates.io crate arrowspace 0.22.0 written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate arrowspace 0.22.0 on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate arrowspace 0.22.0 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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded typetag-impl v0.2.21 [INFO] [stderr] Downloaded rand_pcg v0.9.0 [INFO] [stderr] Downloaded typetag v0.2.21 [INFO] [stderr] Downloaded arrow-data v57.0.0 [INFO] [stderr] Downloaded arrow-string v57.0.0 [INFO] [stderr] Downloaded flatbuffers v25.9.23 [INFO] [stderr] Downloaded lexical-write-integer v1.0.6 [INFO] [stderr] Downloaded arrow-csv v57.0.0 [INFO] [stderr] Downloaded arrow-ord v57.0.0 [INFO] [stderr] Downloaded arrow-arith v57.0.0 [INFO] [stderr] Downloaded arrow-row v57.0.0 [INFO] [stderr] Downloaded arrow-schema v57.0.0 [INFO] [stderr] Downloaded arrow-select v57.0.0 [INFO] [stderr] Downloaded parquet v57.0.0 [INFO] [stderr] Downloaded arrow-array v57.0.0 [INFO] [stderr] Downloaded arrow v57.0.0 [INFO] [stderr] Downloaded arrow-json v57.0.0 [INFO] [stderr] Downloaded lexical-write-float v1.0.6 [INFO] [stderr] Downloaded arrow-cast v57.0.0 [INFO] [stderr] Downloaded arrow-ipc v57.0.0 [INFO] [stderr] Downloaded arrow-buffer v57.0.0 [INFO] [stderr] Downloaded smartcore v0.4.5 [INFO] [stderr] Downloaded sprs v0.11.3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 03b30ff4e2577d5d4716ac7368618b9ad06a7c11dce63c023c1fed539b38a69c [INFO] running `Command { std: "docker" "start" "-a" "03b30ff4e2577d5d4716ac7368618b9ad06a7c11dce63c023c1fed539b38a69c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "03b30ff4e2577d5d4716ac7368618b9ad06a7c11dce63c023c1fed539b38a69c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "03b30ff4e2577d5d4716ac7368618b9ad06a7c11dce63c023c1fed539b38a69c", kill_on_drop: false }` [INFO] [stdout] 03b30ff4e2577d5d4716ac7368618b9ad06a7c11dce63c023c1fed539b38a69c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ae9cfebb42d6f348f0ad8c37af9c1118707b93d498393a43dcd92f5083b58720 [INFO] running `Command { std: "docker" "start" "-a" "ae9cfebb42d6f348f0ad8c37af9c1118707b93d498393a43dcd92f5083b58720", kill_on_drop: false }` [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling proc-macro2 v1.0.103 [INFO] [stderr] Compiling quote v1.0.41 [INFO] [stderr] Compiling num-complex v0.2.4 [INFO] [stderr] Compiling matrixmultiply v0.3.10 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling rawpointer v0.2.1 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling anstream v0.6.21 [INFO] [stderr] Compiling rayon v1.11.0 [INFO] [stderr] Compiling dashmap v6.1.0 [INFO] [stderr] Compiling rand_core v0.9.3 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling num-complex v0.4.6 [INFO] [stderr] Compiling approx v0.3.2 [INFO] [stderr] Compiling ordered-float v5.1.0 [INFO] [stderr] Compiling approx v0.5.1 [INFO] [stderr] Compiling syn v2.0.108 [INFO] [stderr] Compiling num-bigint v0.4.6 [INFO] [stderr] Compiling num-iter v0.1.45 [INFO] [stderr] Compiling alga v0.9.3 [INFO] [stderr] Compiling regex-automata v0.4.13 [INFO] [stderr] Compiling ndarray v0.16.1 [INFO] [stderr] Compiling rand_distr v0.5.1 [INFO] [stderr] Compiling num-rational v0.4.2 [INFO] [stderr] Compiling num v0.4.3 [INFO] [stderr] Compiling smartcore v0.4.5 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling regex v1.12.2 [INFO] [stderr] Compiling env_filter v0.1.4 [INFO] [stderr] Compiling env_logger v0.11.8 [INFO] [stderr] Compiling sprs v0.11.3 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling arrowspace v0.22.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 24.85s [INFO] running `Command { std: "docker" "inspect" "ae9cfebb42d6f348f0ad8c37af9c1118707b93d498393a43dcd92f5083b58720", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ae9cfebb42d6f348f0ad8c37af9c1118707b93d498393a43dcd92f5083b58720", kill_on_drop: false }` [INFO] [stdout] ae9cfebb42d6f348f0ad8c37af9c1118707b93d498393a43dcd92f5083b58720 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 857cfeba2f03eee9ea21f7f2696523aaffce0f2024eb5d21dcf537bc88cbeda8 [INFO] running `Command { std: "docker" "start" "-a" "857cfeba2f03eee9ea21f7f2696523aaffce0f2024eb5d21dcf537bc88cbeda8", kill_on_drop: false }` [INFO] [stderr] Compiling zerocopy v0.8.27 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling typeid v1.0.3 [INFO] [stderr] Compiling erased-serde v0.4.8 [INFO] [stderr] Compiling typetag v0.2.21 [INFO] [stderr] Compiling zerocopy-derive v0.8.27 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling typetag-impl v0.2.21 [INFO] [stderr] Compiling inventory v0.3.21 [INFO] [stderr] Compiling clap_builder v4.5.50 [INFO] [stderr] Compiling serde_json v1.0.145 [INFO] [stderr] Compiling rustix v1.1.2 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Compiling sprs v0.11.3 [INFO] [stderr] Compiling plotters v0.3.7 [INFO] [stderr] Compiling rand_xoshiro v0.7.0 [INFO] [stderr] Compiling rand_pcg v0.9.0 [INFO] [stderr] Compiling criterion-plot v0.6.0 [INFO] [stderr] Compiling clap v4.5.50 [INFO] [stderr] Compiling tempfile v3.23.0 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling half v2.7.1 [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling rand_distr v0.5.1 [INFO] [stderr] Compiling criterion v0.7.0 [INFO] [stderr] Compiling rand_distr v0.4.3 [INFO] [stderr] Compiling smartcore v0.4.5 [INFO] [stderr] Compiling arrowspace v0.22.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 38.67s [INFO] running `Command { std: "docker" "inspect" "857cfeba2f03eee9ea21f7f2696523aaffce0f2024eb5d21dcf537bc88cbeda8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "857cfeba2f03eee9ea21f7f2696523aaffce0f2024eb5d21dcf537bc88cbeda8", kill_on_drop: false }` [INFO] [stdout] 857cfeba2f03eee9ea21f7f2696523aaffce0f2024eb5d21dcf537bc88cbeda8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] b025c4c6e965482a14e7f8b7deeeced4c51a91e4230a4760a06f643fe9f7449d [INFO] running `Command { std: "docker" "start" "-a" "b025c4c6e965482a14e7f8b7deeeced4c51a91e4230a4760a06f643fe9f7449d", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.27s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/arrowspace-5f3b06c0f0a47dac) [INFO] [stdout] [INFO] [stdout] running 198 tests [INFO] [stdout] test tests::test_arrow::test_builder_lambda_computation_with_different_tau_modes ... ok [INFO] [stdout] test tests::test_arrow::test_builder_spectral_laplacian_computation ... ok [INFO] [stdout] test tests::test_arrow::test_builder_with_normalized_vs_unnormalized_items ... ok [INFO] [stdout] test tests::test_builder::test_density_adaptive_high_rate ... ok [INFO] [stdout] test tests::test_builder::test_density_adaptive_aggressive_sampling ... ok [INFO] [stdout] test tests::test_builder::test_density_adaptive_sampling_basic ... ok [INFO] [stdout] test tests::test_builder::simple_build ... ok [INFO] [stdout] test tests::test_builder::test_density_adaptive_with_duplicates ... ok [INFO] [stdout] test tests::test_arrow::test_builder_normalisation_flag_is_preserved ... ok [INFO] [stdout] test tests::test_builder::test_density_adaptive_with_uniform_data ... ok [INFO] [stdout] test tests::test_builder::test_simple_random_high_rate ... ignored, flaky, depends on how sampling happens [INFO] [stdout] test tests::test_builder::test_simple_random_vs_density_adaptive ... ignored, flaky, depends on what happens in clustering [INFO] [stdout] test tests::test_builder::build_from_rows_with_lambda_graph ... ok [INFO] [stdout] test tests::test_clustering::test_calinski_harabasz_single_cluster ... ok [INFO] [stdout] test tests::test_clustering::test_calinski_harabasz_three_clusters ... ok [INFO] [stdout] test tests::test_clustering::test_calinski_harabasz_well_separated ... ok [INFO] [stdout] test tests::test_clustering::test_clustering_heuristic_trait_interface ... ok [INFO] [stdout] test tests::test_clustering::test_consistent_results_with_seed ... ok [INFO] [stdout] test tests::test_clustering::test_euclidean_dist_basic ... ok [INFO] [stdout] test tests::test_clustering::test_euclidean_dist_identity ... ok [INFO] [stdout] test tests::test_clustering::test_euclidean_dist_one_dimensional ... ok [INFO] [stdout] test tests::test_clustering::test_intrinsic_dimension_full_space ... ok [INFO] [stdout] test tests::test_builder::test_density_adaptive_vs_no_sampling ... ok [INFO] [stdout] test tests::test_clustering::test_intrinsic_dimension_plane ... ok [INFO] [stdout] test tests::test_clustering::test_intrinsic_dimension_small_n ... ok [INFO] [stdout] test tests::test_clustering::test_kmeans_convergence_early_stop ... ok [INFO] [stdout] test tests::test_clustering::test_kmeans_empty_cluster_recovery ... ok [INFO] [stdout] test tests::test_clustering::test_intrinsic_dimension_line ... ok [INFO] [stdout] test tests::test_clustering::test_kmeans_k_greater_than_n ... ok [INFO] [stdout] test tests::test_clustering::test_kmeans_lloyd_gaussian_blobs ... ok [INFO] [stdout] test tests::test_clustering::test_kmeans_lloyd_k_equals_n ... ok [INFO] [stdout] test tests::test_clustering::test_kmeans_k_equals_zero - should panic ... ok [INFO] [stdout] test tests::test_clustering::test_kmeans_single_row - should panic ... ok [INFO] [stdout] test tests::test_clustering::test_nearest_centroid_middle ... ok [INFO] [stdout] test tests::test_clustering::test_nearest_centroid_single ... ok [INFO] [stdout] test tests::test_clustering::test_optimal_k_heuristic_degenerate_identical ... ok [INFO] [stdout] test tests::test_clustering::test_optimal_k_heuristic_single_feature ... ok [INFO] [stdout] test tests::test_builder::test_with_deterministic_seed ... ok [INFO] [stdout] test tests::test_clustering::test_optimal_k_heuristic_small_n ... ok [INFO] [stdout] test tests::test_clustering::test_optimal_k_heuristic_spherical_clusters ... ok [INFO] [stdout] test tests::test_clustering::test_optimal_k_heuristic_synthetic_three_clusters ... ok [INFO] [stdout] test tests::test_clustering::test_optimal_k_minimum_viable_dataset ... ok [INFO] [stdout] test tests::test_clustering::test_optimal_k_heuristic_high_dimensional_random ... ok [INFO] [stdout] test tests::test_clustering::test_optimal_k_performance_large_dataset ... ignored [INFO] [stdout] test tests::test_clustering::test_optimal_k_mixed_scale_features ... ok [INFO] [stdout] test tests::test_clustering::test_step1_bounds_high_dimensional ... ok [INFO] [stdout] test tests::test_clustering::test_readme_example ... ok [INFO] [stdout] test tests::test_clustering::test_step1_bounds_small_dataset ... ok [INFO] [stdout] test tests::test_clustering::test_threshold_all_points_identical ... ok [INFO] [stdout] test tests::test_clustering::test_threshold_from_pilot_large_variance ... ok [INFO] [stdout] test tests::test_clustering::test_threshold_from_pilot_single_point_per_cluster ... ok [INFO] [stdout] test tests::test_clustering::test_threshold_from_pilot_two_clusters ... ok [INFO] [stdout] test tests::test_clustering::test_threshold_very_tight_clusters ... ok [INFO] [stdout] test tests::test_clustering::test_threshold_zero_variance_clusters ... ok [INFO] [stdout] test tests::test_clustering::test_step1_bounds_large_n_small_f ... ok [INFO] [stdout] test tests::test_builder::lambda_graph_shape_matches_rows ... ok [INFO] [stdout] test tests::test_builder::test_density_adaptive_maintains_lambda_quality ... ok [INFO] [stdout] test tests::test_builder::test_constant_sampler_preserves_outliers ... ok [INFO] [stdout] test tests::test_builder::test_builder_unit_norm_diagonal_similarity ... ok [INFO] [stdout] test tests::test_eigenmaps::test_eigenmaps_non_sensical_undecidable_query - should panic ... ok [INFO] [stdout] test tests::test_eigenmaps::test_search_without_taumode_panics - should panic ... ok [INFO] [stdout] test tests::test_energy_builder::test_build_energy_requires_dims_reduction - should panic ... ok [INFO] [stdout] test tests::test_arrow::test_builder_direction_vs_magnitude_sensitivity ... ok [INFO] [stdout] test tests::test_energy_builder::test_energy_build_custom_params ... ok [INFO] [stdout] test tests::test_energy_builder::test_energy_build_basic ... ok [INFO] [stdout] test tests::test_energy_builder::test_energy_build_lambda_statistics ... ok [INFO] [stdout] test tests::test_builder::test_density_adaptive_sampling_statistics ... ok [INFO] [stdout] test tests::test_eigenmaps::test_eigenmaps_stages_produce_valid_state ... ok [INFO] [stdout] test tests::test_energy_builder::test_energy_build_taumode_consistency ... ok [INFO] [stdout] test tests::test_arrow::test_builder_clustering_produces_valid_assignments ... ok [INFO] [stdout] test tests::test_eigenmaps::test_eigenmaps_vs_build_with_spectral ... ok [INFO] [stdout] test tests::test_energy_builder::test_energy_build_with_projection ... ok [INFO] [stdout] test tests::test_arrow::test_builder_cluster_radius_impact ... ok [INFO] [stdout] test tests::test_energy_builder::test_energy_build_diffusion_splits ... ok [INFO] [stdout] test tests::test_energy_search::test_energy_search_empty_k ... ok [INFO] [stdout] test tests::test_energy_search::test_energy_search_high_dimensional ... ok [INFO] [stdout] test tests::test_energy_builder::test_energy_laplacian_properties ... ok [INFO] [stdout] test tests::test_eigenmaps::test_eigenmaps_vs_build_different_taumode ... ok [INFO] [stdout] test tests::test_energy_search::test_energy_search_basic ... ok [INFO] [stdout] test tests::test_energy_search::test_energy_search_k_scaling ... ok [INFO] [stdout] test tests::test_energy_search::test_energy_no_cosine_dependence ... ok [INFO] [stdout] test tests::test_arrow::test_builder_dimensionality_reduction ... ok [INFO] [stdout] test tests::test_energy_search::test_energy_search_single ... ok [INFO] [stdout] test tests::test_energy_builder::test_build_energy_dimensionality_reduction ... ok [INFO] [stdout] test tests::test_energy_search::test_energy_search_optical_compression ... ok [INFO] [stdout] test tests::test_energy_builder::test_energy_build_with_optical_compression ... ok [INFO] [stdout] test tests::test_clustering::test_optimal_k_very_high_dimensional ... ok [INFO] [stdout] test tests::test_energy_search::test_energy_search_weight_tuning ... ok [INFO] [stdout] test tests::test_builder::test_simple_random_aggressive_sampling ... ok [INFO] [stdout] test tests::test_energy_search::test_energy_vs_standard_lambda_distribution ... ok [INFO] [stdout] test tests::test_energy_search::test_energy_search_optimized ... ok [INFO] [stdout] test tests::test_graph_factory::test_builder_basic_clustering_with_synthetic_data ... ok [INFO] [stdout] test tests::test_eigenmaps::test_eigenmaps_vs_build_basic ... ok [INFO] [stdout] test tests::test_graph_factory::test_builder_minimum_items ... ok [INFO] [stdout] test tests::test_graph_factory::test_builder_laplacian_symmetry ... ok [INFO] [stdout] test tests::test_graph_factory::test_builder_laplacian_diagonal_properties ... ok [INFO] [stdout] test tests::test_builder::build_with_lambda_graph_over_product_like_rows ... ok [INFO] [stdout] test tests::test_graph_factory::test_builder_lambda_values_are_nonnegative ... ok [INFO] [stdout] test tests::test_energy_search::test_energy_vs_standard_graph_structure ... ok [INFO] [stdout] test tests::test_graph_factory::test_builder_scale_invariance_with_normalization ... ok [INFO] [stdout] test tests::test_laplacian::test_arrowspace_integration_pattern_sparse ... ok [INFO] [stdout] test tests::test_laplacian::test_basic_laplacian_construction ... ok [INFO] [stdout] test tests::test_laplacian::test_cosine_similarity_based_construction ... ok [INFO] [stdout] test tests::test_laplacian::test_eps_parameter_constraint ... ok [INFO] [stdout] test tests::test_laplacian::test_insufficient_data_panics - should panic ... ok [INFO] [stdout] test tests::test_laplacian::test_k_parameter_constraint ... ok [INFO] [stdout] test tests::test_laplacian::test_laplacian_mathematical_properties ... ok [INFO] [stdout] test tests::test_graph_factory::test_builder_parameter_preservation ... ok [INFO] [stdout] test tests::test_laplacian::test_numerical_stability ... ok [INFO] [stdout] test tests::test_laplacian::test_with_adjacency_output ... ok [INFO] [stdout] test tests::test_laplacian::test_optimized_sparse_matrix_laplacian ... ok [INFO] [stdout] test tests::test_laplacian_unnormalised::test_builder_graph_params_preservation ... ok [INFO] [stdout] test tests::test_laplacian_unnormalised::test_builder_normalized_vs_unnormalized_clustering ... ok [INFO] [stdout] test tests::test_laplacian_unnormalised::test_cosine_similarity_scale_invariance ... ok [INFO] [stdout] test tests::test_laplacian_unnormalised::test_hybrid_similarity_components ... ok [INFO] [stdout] test tests::test_energy_search::test_energy_search_score_monotonicity ... ok [INFO] [stdout] test tests::test_laplacian_unnormalised::test_magnitude_penalty_computation ... ok [INFO] [stdout] test tests::test_laplacian_unnormalised::test_hybrid_similarity_scale_sensitivity ... ok [INFO] [stdout] test tests::test_graph_factory::test_builder_with_high_noise ... ok [INFO] [stdout] test tests::test_laplacian_unnormalised::test_builder_lambda_comparison_normalized_vs_unnormalized ... ok [INFO] [stdout] test tests::test_graph_factory::test_builder_spectral_laplacian_shape ... ok [INFO] [stdout] test tests::test_motives::test_motives_basic ... ok [INFO] [stdout] test tests::test_motives::test_motives_basic_2 ... ok [INFO] [stdout] test tests::test_motives::test_motives_energy_basic ... ok [INFO] [stdout] test tests::test_motives::test_motives_eigen_vs_energy_consistency ... ok [INFO] [stdout] test tests::test_energy_search::test_energy_vs_standard_build_time ... ok [INFO] [stdout] test tests::test_laplacian_unnormalised::test_with_deterministic_clustering ... ok [INFO] [stdout] test tests::test_querying_proj::test_project_query_consistency ... ok [INFO] [stdout] test tests::test_querying_proj::test_prepare_query_item_consistency ... ok [INFO] [stdout] test tests::test_energy_search::test_energy_vs_energy_extra_dims_reduction_recall_at_k ... FAILED [INFO] [stdout] test tests::test_arrow::test_builder_lambda_statistics has been running for over 60 seconds [INFO] [stdout] test tests::test_arrow::test_builder_with_inline_sampling has been running for over 60 seconds [INFO] [stdout] test tests::test_energy_search::test_energy_search_self_retrieval ... ok [INFO] [stdout] test tests::test_querying_proj::test_project_query_zero_vector ... ok [INFO] [stdout] test tests::test_querying_proj::test_project_query_preserves_dot_product_sign ... ok [INFO] [stdout] test tests::test_querying_proj::test_projection_preserves_relative_distances ... ok [INFO] [stdout] test tests::test_querying_proj::test_query_with_nan_values - should panic ... ok [INFO] [stdout] test tests::test_querying_proj::test_query_dimension_mismatch_panics - should panic ... ok [INFO] [stdout] test tests::test_querying_proj::test_project_query_no_projection ... ok [INFO] [stdout] test tests::test_querying_proj::test_range_search_with_query_lambda ... ok [INFO] [stdout] test tests::test_querying_proj::test_project_query_preserves_scale_approximately ... ok [INFO] [stdout] test tests::test_querying_proj::test_query_with_projection_enabled ... ok [INFO] [stdout] test tests::test_reduction::test_full_pipeline_implicit_projection ... ok [INFO] [stdout] test tests::test_reduction::test_implicit_projection_creates ... ok [INFO] [stdout] test tests::test_reduction::test_implicit_projection_deterministic ... ok [INFO] [stdout] test tests::test_reduction::test_implicit_projection_different_seeds ... ok [INFO] [stdout] test tests::test_reduction::test_implicit_projection_dimensions ... ok [INFO] [stdout] test tests::test_reduction::test_implicit_projection_linearity ... ok [INFO] [stdout] test tests::test_reduction::test_implicit_projection_non_trivial ... ok [INFO] [stdout] test tests::test_reduction::test_implicit_projection_preserves_scale ... ok [INFO] [stdout] test tests::test_reduction::test_implicit_projection_zero_vector ... ok [INFO] [stdout] test tests::test_reduction::test_jl_dimension_basic ... ok [INFO] [stdout] test tests::test_reduction::test_jl_dimension_edge_case_small_epsilon ... ok [INFO] [stdout] test tests::test_reduction::test_jl_dimension_formula_correctness ... ok [INFO] [stdout] test tests::test_reduction::test_jl_dimension_grows_with_n ... ok [INFO] [stdout] test tests::test_reduction::test_jl_dimension_inversely_proportional_epsilon ... ok [INFO] [stdout] test tests::test_reduction::test_jl_dimension_large_dataset ... ok [INFO] [stdout] test tests::test_reduction::test_jl_dimension_minimum_bound ... ok [INFO] [stdout] test tests::test_reduction::test_jl_dimension_reasonable_range ... ok [INFO] [stdout] test tests::test_reduction::test_jl_dimension_tight_epsilon ... ok [INFO] [stdout] test tests::test_reduction::test_memory_efficiency ... ok [INFO] [stdout] test tests::test_reduction::test_project_matrix_different_rows_different_projections ... ok [INFO] [stdout] test tests::test_reduction::test_project_matrix_dimensions ... ok [INFO] [stdout] test tests::test_reduction::test_project_matrix_preserves_rows ... ok [INFO] [stdout] test tests::test_reduction::test_project_matrix_zero_matrix ... ok [INFO] [stdout] test tests::test_sparsification::test_sfgrass_basic ... ok [INFO] [stdout] test tests::test_sparsification::test_sfgrass_larger ... ok [INFO] [stdout] test tests::test_sparsification::test_sfgrass_vs_no_sparsification ... ignored, depends on number of nodes [INFO] [stdout] test tests::test_energy_search::test_energy_vs_standard_precision_at_k ... ok [INFO] [stdout] test tests::test_taumode::test_builder_compute_lambdas_basic ... ok [INFO] [stdout] test tests::test_taumode::test_builder_lambdas_consistency_properties ... ok [INFO] [stdout] test tests::test_taumode::test_builder_lambdas_invariants ... ok [INFO] [stdout] test tests::test_querying_proj::test_search_returns_top_k_exactly ... ok [INFO] [stdout] test tests::test_taumode::test_builder_lambdas_different_tau_modes ... ok [INFO] [stdout] test tests::test_energy_search::test_energy_vs_standard_search_overlap ... ok [INFO] [stdout] test tests::test_arrow::test_builder_lambda_statistics ... ok [INFO] [stdout] test tests::test_taumode::test_rayleigh_quotient_scale_invariance ... ok [INFO] [stdout] test tests::test_taumode::test_select_tau_fixed ... ok [INFO] [stdout] test tests::test_taumode::test_select_tau_floor_enforcement ... ok [INFO] [stdout] test tests::test_taumode::test_select_tau_mean ... ok [INFO] [stdout] test tests::test_taumode::test_select_tau_median ... ok [INFO] [stdout] test tests::test_taumode::test_select_tau_percentile ... ok [INFO] [stdout] test tests::test_taumode::test_tau_floor_constant ... ok [INFO] [stdout] test tests::test_arrow::test_builder_with_inline_sampling ... ok [INFO] [stdout] test tests::test_taumode::test_taumode_consistency_with_projection ... ok [INFO] [stdout] test tests::test_taumode::test_energy_lambda_computation_bounds ... ok [INFO] [stdout] test tests::test_querying_proj::test_search_lambda_aware_alpha_effect ... ok [INFO] [stdout] test tests::test_energy_search::test_energy_vs_standard_recall_at_k ... ok [INFO] [stdout] test tests::test_taumode::test_taumode_energy_consistency_with_projection ... ok [INFO] [stdout] test tests::test_energy_search::test_energy_search_lambda_proximity has been running for over 60 seconds [INFO] [stdout] test tests::test_graph_factory::test_builder_normalization_effects ... ok [INFO] [stdout] test tests::test_graph_factory::test_builder_with_different_dimensions ... ok [INFO] [stdout] test tests::test_querying_proj::test_project_query_different_queries_differ ... ok [INFO] [stdout] test tests::test_energy_search::test_energy_search_lambda_proximity ... ok [INFO] [stdout] test tests::test_querying_proj::test_project_query_linearity ... ok [INFO] [stdout] test tests::test_querying_proj::test_query_without_projection ... ok [INFO] [stdout] test tests::test_taumode::test_energy_dimension_consistency ... ok [INFO] [stdout] test tests::test_taumode::test_builder_lambdas_nondeterministic_with_projection ... ok [INFO] [stdout] test tests::test_querying_proj::test_search_lambda_aware_hybrid ... ok [INFO] [stdout] test tests::test_querying_proj::test_lambda_values_reasonable_range ... ok [INFO] [stdout] test tests::test_taumode::test_builder_lambdas_with_larger_dataset ... ok [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- tests::test_energy_search::test_energy_vs_energy_extra_dims_reduction_recall_at_k stdout ---- [INFO] [stdout] [2025-11-11T08:14:58Z INFO arrowspace::tests::test_energy_search] Test: energy vs energy (with vs without extra dims reduction) recall@k [INFO] [stdout] [2025-11-11T08:14:58Z INFO arrowspace::builder] Initializing new ArrowSpaceBuilder [INFO] [stdout] [2025-11-11T08:14:58Z DEBUG arrowspace::builder] Creating ArrowSpaceBuilder with default parameters [INFO] [stdout] [2025-11-11T08:14:58Z INFO arrowspace::builder] Configuring lambda graph: eps=0.8, k=3, p=2, sigma=None [INFO] [stdout] [2025-11-11T08:14:58Z DEBUG arrowspace::builder] Lambda graph will use raw item magnitudes for normalization [INFO] [stdout] [2025-11-11T08:14:58Z INFO arrowspace::builder] Setting custom clustering seed: 333 [INFO] [stdout] [2025-11-11T08:14:58Z INFO arrowspace::builder] Configuring inline sampling: None [INFO] [stdout] [2025-11-11T08:14:58Z INFO arrowspace::energymaps] Creating adaptive EnergyParams from ArrowSpaceBuilder [INFO] [stdout] [2025-11-11T08:14:58Z WARN arrowspace::energymaps] Using dim-reduction heuristic: optical_tokens=200 (consider setting expected_nitems for better scaling) [INFO] [stdout] [2025-11-11T08:14:58Z DEBUG arrowspace::energymaps] Adaptive params: neighbor_k=15, candidate_m=45, optical_tokens=Some(200) [INFO] [stdout] [2025-11-11T08:14:58Z INFO arrowspace::eigenmaps] EigenMaps::start_clustering: N=78 items, F=100 features [INFO] [stdout] [2025-11-11T08:14:58Z DEBUG arrowspace::eigenmaps] Creating ArrowSpace with taumode: Median [INFO] [stdout] [2025-11-11T08:14:58Z INFO arrowspace::sampling] Simple random sampler with keep rate 100.0% [INFO] [stdout] [2025-11-11T08:14:58Z INFO arrowspace::eigenmaps] Computing optimal clustering parameters [INFO] [stdout] [2025-11-11T08:14:58Z INFO arrowspace::clustering] Computing optimal K for clustering: N=78, F=100 [INFO] [stdout] [2025-11-11T08:14:59Z DEBUG arrowspace::clustering] Two-NN mean ratio: 1.0263, estimated ID: 39 [INFO] [stdout] [2025-11-11T08:14:59Z DEBUG arrowspace::clustering] Intrinsic dimension estimate: 39 [INFO] [stdout] [2025-11-11T08:14:59Z DEBUG arrowspace::clustering] Testing K in range [3, 7] with step 1 [INFO] [stdout] [2025-11-11T08:15:00Z DEBUG arrowspace::clustering] Best K=3 with penalized score=-9.2674 [INFO] [stdout] [2025-11-11T08:15:04Z DEBUG arrowspace::clustering] Standard threshold: radius=7373.836370 [INFO] [stdout] [2025-11-11T08:15:04Z DEBUG arrowspace::eigenmaps] Optimal clustering: K=3, radius=7373.836370, intrinsic_dim=39 [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::eigenmaps] Running incremental clustering: max_clusters=3, radius=7373.836370 [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::clustering] Starting incremental clustering with inline sampling [INFO] [stdout] [2025-11-11T08:15:04Z DEBUG arrowspace::clustering] Parameters: max_clusters=3, radius=7373.8364 [INFO] [stdout] [2025-11-11T08:15:04Z DEBUG arrowspace::clustering] Clustering produced 3 centroids from 78 rows (100% sampling) [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::eigenmaps] Clustering complete: 3 centroids, 78 items assigned [INFO] [stdout] [2025-11-11T08:15:04Z DEBUG arrowspace::reduction] Computing JL optimal dimensions for n_points 3 [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::eigenmaps] Applying JL projection: 100 features → 50 dimensions (ε=0.20) [INFO] [stdout] [2025-11-11T08:15:04Z DEBUG arrowspace::reduction] Computing project matrix for projection ImplicitProjection { original_dim: 100, reduced_dim: 50, seed: 66771395109405666 } [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::eigenmaps] Projection complete: 2.0x compression, stored as 8-byte seed [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::energymaps] EnergyMaps::optical_compress_centroids: target=200 tokens, trim_q=0.10 [INFO] [stdout] [2025-11-11T08:15:04Z DEBUG arrowspace::energymaps] Input centroids: 3 × 50 (X centroids, F features) [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::energymaps] Optical compression skipped: budget 200 >= centroids 3 [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::energymaps] EnergyMaps::bootstrap_centroid_laplacian: k=3, normalise=false [INFO] [stdout] [2025-11-11T08:15:04Z DEBUG arrowspace::energymaps] Building bootstrap L₀ on 3 centroids (nodes) × 50 features [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::laplacian] Building Laplacian matrix for 3 items with 50 features [INFO] [stdout] [2025-11-11T08:15:04Z DEBUG arrowspace::laplacian] Graph parameters: eps=0.8, k=2, p=2, sigma=None, normalise=false [INFO] [stdout] [2025-11-11T08:15:04Z DEBUG arrowspace::laplacian] Skipping normalization - using raw item magnitudes [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::laplacian] Building CosinePair data structure [INFO] [stdout] [2025-11-11T08:15:04Z DEBUG arrowspace::laplacian] CosinePair structure built for 50 items [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::laplacian] Computing degrees for inline sparsification [INFO] [stdout] [2025-11-11T08:15:04Z DEBUG arrowspace::laplacian] Skipping sparsification (avg degree 1.1) [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::laplacian] Computing k-NN with CosinePair: k=3 [INFO] [stdout] [2025-11-11T08:15:04Z DEBUG arrowspace::laplacian] Built adjacency rows for 50 items [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::laplacian] Converting adjacency to sparse Laplacian matrix (DashMap batched) [INFO] [stdout] [2025-11-11T08:15:04Z DEBUG arrowspace::laplacian] Total triplets: 158, edges: 54 [INFO] [stdout] [2025-11-11T08:15:04Z DEBUG arrowspace::laplacian] Inserted triplets in 11.14µs [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::laplacian] Sparse Laplacian construction time: 669.109µs [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::laplacian] Total Laplacian construction time: 13.628838ms [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::laplacian] Successfully built sparse Laplacian matrix (3x3) with 158 non-zeros [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::energymaps] EnergyMaps::diffuse_and_split_subcentroids: eta=0.100, steps=4, split_q=0.90 [INFO] [stdout] [2025-11-11T08:15:04Z DEBUG arrowspace::energymaps] Diffusing 3 centroids × 50 features over 4 steps with F×F Laplacian (50×50) [INFO] [stdout] [2025-11-11T08:15:04Z DEBUG arrowspace::energymaps] Diffusion complete after 4 steps [INFO] [stdout] [2025-11-11T08:15:04Z DEBUG arrowspace::energymaps] Laplacian: 50×50 (must be F×F feature-space) [INFO] [stdout] [2025-11-11T08:15:04Z DEBUG arrowspace::energymaps] Energy and dispersion computed for 3 nodes [parallel] [INFO] [stdout] [2025-11-11T08:15:04Z DEBUG arrowspace::energymaps] Energy: λ ∈ [0.340802, 0.495805], mean=0.443953 [INFO] [stdout] [2025-11-11T08:15:04Z DEBUG arrowspace::energymaps] Dispersion: G ∈ [0.033878, 0.060018], mean=0.047725 [INFO] [stdout] [2025-11-11T08:15:04Z DEBUG arrowspace::energymaps] Split threshold (quantile 0.90): G ≥ 0.060018 [INFO] [stdout] [2025-11-11T08:15:04Z DEBUG arrowspace::energymaps] Computed 1 splits [parallel] [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::energymaps] Sub-centroid generation: 3 → 5 centroids (1 splits) [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::energymaps] Energy graph: (3, 50) centroids → (5, 50) sub_centroids (reduced_dim=50) [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::energymaps] EnergyMaps::build_energy_laplacian: k=3, w_λ=1.00, w_G=0.50, w_D=0.25 [INFO] [stdout] [2025-11-11T08:15:04Z DEBUG arrowspace::energymaps] Building energy Laplacian on 5 sub-centroids × 50 features [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::energymaps] EnergyMaps::bootstrap_centroid_laplacian: k=3, normalise=false [INFO] [stdout] [2025-11-11T08:15:04Z DEBUG arrowspace::energymaps] Building bootstrap L₀ on 5 centroids (nodes) × 50 features [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::laplacian] Building Laplacian matrix for 5 items with 50 features [INFO] [stdout] [2025-11-11T08:15:04Z DEBUG arrowspace::laplacian] Graph parameters: eps=0.8, k=3, p=2, sigma=None, normalise=false [INFO] [stdout] [2025-11-11T08:15:04Z DEBUG arrowspace::laplacian] Skipping normalization - using raw item magnitudes [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::laplacian] Building CosinePair data structure [INFO] [stdout] [2025-11-11T08:15:04Z DEBUG arrowspace::laplacian] CosinePair structure built for 50 items [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::laplacian] Computing degrees for inline sparsification [INFO] [stdout] [2025-11-11T08:15:04Z DEBUG arrowspace::laplacian] Skipping sparsification (avg degree 1.5) [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::laplacian] Computing k-NN with CosinePair: k=4 [INFO] [stdout] [2025-11-11T08:15:04Z DEBUG arrowspace::laplacian] Built adjacency rows for 50 items [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::laplacian] Converting adjacency to sparse Laplacian matrix (DashMap batched) [INFO] [stdout] [2025-11-11T08:15:04Z DEBUG arrowspace::laplacian] Total triplets: 198, edges: 74 [INFO] [stdout] [2025-11-11T08:15:04Z DEBUG arrowspace::laplacian] Inserted triplets in 11.68µs [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::laplacian] Sparse Laplacian construction time: 4.35455ms [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::laplacian] Total Laplacian construction time: 35.135637ms [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::laplacian] Successfully built sparse Laplacian matrix (5x5) with 198 non-zeros [INFO] [stdout] [2025-11-11T08:15:04Z DEBUG arrowspace::energymaps] Bootstrap Laplacian: 50×50 (F×F feature-space for taumode) [INFO] [stdout] [2025-11-11T08:15:04Z DEBUG arrowspace::energymaps] Laplacian: 50×50 (must be F×F feature-space) [INFO] [stdout] [2025-11-11T08:15:04Z DEBUG arrowspace::energymaps] Energy and dispersion computed for 5 nodes [parallel] [INFO] [stdout] [2025-11-11T08:15:04Z DEBUG arrowspace::energymaps] Robust scales: λ=0.248376, G=0.005949 [INFO] [stdout] [2025-11-11T08:15:04Z DEBUG arrowspace::graph] Matrix has 198 non-zero entries [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::energymaps] Energy Laplacian (F×F): 50×50, 198 nnz, 92.08% sparse [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::core] Creating subcentroid ArrowSpace from DenseMatrix(5, 50) [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::core] → Interpreted as: 5 subcentroids × 50 features (row-major) [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::energymaps] Computing lambdas on 5 sub_centroids... [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::taumode] ╔═════════════════════════════════════════════════════════════╗ [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::taumode] ║ Parallel TauMode Lambda Computation ║ [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::taumode] ╠═════════════════════════════════════════════════════════════╣ [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::taumode] ║ Configuration: ║ [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::taumode] ║ Items: 5 ║ [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::taumode] ║ Features: 50 ║ [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::taumode] ║ Threads: 16 ║ [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::taumode] ║ TauMode: Median ║ [INFO] [stdout] [2025-11-11T08:15:04Z DEBUG arrowspace::taumode] compute_taumode_lambdas_parallel: NO signals [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::taumode] ║ Graph Source: Laplacian Matrix ║ [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::taumode] ║ Graph Shape: 50×50 ║ [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::taumode] ║ Graph NNZ: 198 ║ [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::taumode] ║ Graph Sparsity: 0.079200 ║ [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::taumode] ╚═════════════════════════════════════════════════════════════╝ [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::taumode] Starting parallel lambda computation... [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::taumode] ╔═════════════════════════════════════════════════════════════╗ [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::taumode] ║ Computation Statistics ║ [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::taumode] ╠═════════════════════════════════════════════════════════════╣ [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::taumode] ║ Sequential Items: 0 ║ [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::taumode] ║ Parallel Items: 0 ║ [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::taumode] ║ Compute Time: 8.993ms ║ [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::core] Updating lambdas with 5 new values [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::core] Normalized lambdas to [0, 1] range (original spread: 0.782469) [INFO] [stdout] [2025-11-11T08:15:04Z DEBUG arrowspace::core] Lambda update: old range [0.000000, 0.000000] -> new range [0.000000, 1.000000] [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::taumode] ║ Update Time: 125.550µs ║ [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::taumode] ║ Total Time: 38.237ms ║ [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::taumode] ║ Throughput: 131 items/sec ║ [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::taumode] ╠═════════════════════════════════════════════════════════════╣ [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::taumode] ║ Lambda Statistics ║ [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::taumode] ╠═════════════════════════════════════════════════════════════╣ [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::taumode] ║ Min: 0.000000 ║ [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::taumode] ║ Max: 1.000000 ║ [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::taumode] ║ Mean: 0.421619 ║ [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::taumode] ║ Std Dev: 0.355298 ║ [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::taumode] ║ Range: 1.000000 ║ [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::taumode] ╚═════════════════════════════════════════════════════════════╝ [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::taumode] ✓ Parallel taumode lambda computation completed successfully [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::energymaps] Sub_centroid λ: min=0.000000, max=1.000000, mean=0.421619 [INFO] [stdout] [2025-11-11T08:15:04Z INFO arrowspace::energymaps] Mapping 78 items to (5, 50) sub_centroids and computing norms... [INFO] [stdout] [2025-11-11T08:15:06Z INFO arrowspace::energymaps] Item λ assigned: min=0.000000, max=1.000000, mean=0.184269 [INFO] [stdout] [2025-11-11T08:15:06Z DEBUG arrowspace::energymaps] Item norms computed: min=4.266663, max=83.856355, mean=19.600294 [INFO] [stdout] [2025-11-11T08:15:06Z INFO arrowspace::builder] Initializing new ArrowSpaceBuilder [INFO] [stdout] [2025-11-11T08:15:06Z DEBUG arrowspace::builder] Creating ArrowSpaceBuilder with default parameters [INFO] [stdout] [2025-11-11T08:15:06Z INFO arrowspace::builder] Configuring lambda graph: eps=0.8, k=3, p=2, sigma=None [INFO] [stdout] [2025-11-11T08:15:06Z DEBUG arrowspace::builder] Lambda graph will use raw item magnitudes for normalization [INFO] [stdout] [2025-11-11T08:15:06Z INFO arrowspace::builder] Setting custom clustering seed: 333 [INFO] [stdout] [2025-11-11T08:15:06Z INFO arrowspace::builder] Configuring inline sampling: None [INFO] [stdout] [2025-11-11T08:15:06Z INFO arrowspace::energymaps] Creating adaptive EnergyParams from ArrowSpaceBuilder [INFO] [stdout] [2025-11-11T08:15:06Z WARN arrowspace::energymaps] Using dim-reduction heuristic: optical_tokens=200 (consider setting expected_nitems for better scaling) [INFO] [stdout] [2025-11-11T08:15:06Z DEBUG arrowspace::energymaps] Adaptive params: neighbor_k=15, candidate_m=45, optical_tokens=Some(200) [INFO] [stdout] [2025-11-11T08:15:06Z INFO arrowspace::eigenmaps] EigenMaps::start_clustering: N=78 items, F=100 features [INFO] [stdout] [2025-11-11T08:15:06Z DEBUG arrowspace::eigenmaps] Creating ArrowSpace with taumode: Median [INFO] [stdout] [2025-11-11T08:15:06Z INFO arrowspace::sampling] Simple random sampler with keep rate 100.0% [INFO] [stdout] [2025-11-11T08:15:06Z INFO arrowspace::eigenmaps] Computing optimal clustering parameters [INFO] [stdout] [2025-11-11T08:15:06Z INFO arrowspace::clustering] Computing optimal K for clustering: N=78, F=100 [INFO] [stdout] [2025-11-11T08:15:11Z DEBUG arrowspace::clustering] Two-NN mean ratio: 1.0263, estimated ID: 39 [INFO] [stdout] [2025-11-11T08:15:11Z DEBUG arrowspace::clustering] Intrinsic dimension estimate: 39 [INFO] [stdout] [2025-11-11T08:15:11Z DEBUG arrowspace::clustering] Testing K in range [3, 7] with step 1 [INFO] [stdout] [2025-11-11T08:15:22Z DEBUG arrowspace::clustering] Best K=3 with penalized score=-9.2674 [INFO] [stdout] [2025-11-11T08:15:22Z DEBUG arrowspace::clustering] Standard threshold: radius=7373.836370 [INFO] [stdout] [2025-11-11T08:15:22Z DEBUG arrowspace::eigenmaps] Optimal clustering: K=3, radius=7373.836370, intrinsic_dim=39 [INFO] [stdout] [2025-11-11T08:15:22Z INFO arrowspace::eigenmaps] Running incremental clustering: max_clusters=3, radius=7373.836370 [INFO] [stdout] [2025-11-11T08:15:22Z INFO arrowspace::clustering] Starting incremental clustering with inline sampling [INFO] [stdout] [2025-11-11T08:15:22Z DEBUG arrowspace::clustering] Parameters: max_clusters=3, radius=7373.8364 [INFO] [stdout] [2025-11-11T08:15:22Z DEBUG arrowspace::clustering] Clustering produced 3 centroids from 78 rows (100% sampling) [INFO] [stdout] [2025-11-11T08:15:22Z INFO arrowspace::eigenmaps] Clustering complete: 3 centroids, 78 items assigned [INFO] [stdout] [2025-11-11T08:15:22Z DEBUG arrowspace::reduction] Computing JL optimal dimensions for n_points 3 [INFO] [stdout] [2025-11-11T08:15:22Z INFO arrowspace::eigenmaps] Applying JL projection: 100 features → 50 dimensions (ε=0.20) [INFO] [stdout] [2025-11-11T08:15:22Z DEBUG arrowspace::reduction] Computing project matrix for projection ImplicitProjection { original_dim: 100, reduced_dim: 50, seed: 18263082759319830935 } [INFO] [stdout] [2025-11-11T08:15:22Z INFO arrowspace::eigenmaps] Projection complete: 2.0x compression, stored as 8-byte seed [INFO] [stdout] [2025-11-11T08:15:22Z INFO arrowspace::energymaps] EnergyMaps::optical_compress_centroids: target=200 tokens, trim_q=0.10 [INFO] [stdout] [2025-11-11T08:15:22Z DEBUG arrowspace::energymaps] Input centroids: 3 × 50 (X centroids, F features) [INFO] [stdout] [2025-11-11T08:15:22Z INFO arrowspace::energymaps] Optical compression skipped: budget 200 >= centroids 3 [INFO] [stdout] [2025-11-11T08:15:22Z INFO arrowspace::energymaps] EnergyMaps::bootstrap_centroid_laplacian: k=3, normalise=false [INFO] [stdout] [2025-11-11T08:15:22Z DEBUG arrowspace::energymaps] Building bootstrap L₀ on 3 centroids (nodes) × 50 features [INFO] [stdout] [2025-11-11T08:15:22Z INFO arrowspace::laplacian] Building Laplacian matrix for 3 items with 50 features [INFO] [stdout] [2025-11-11T08:15:22Z DEBUG arrowspace::laplacian] Graph parameters: eps=0.8, k=2, p=2, sigma=None, normalise=false [INFO] [stdout] [2025-11-11T08:15:22Z DEBUG arrowspace::laplacian] Skipping normalization - using raw item magnitudes [INFO] [stdout] [2025-11-11T08:15:22Z INFO arrowspace::laplacian] Building CosinePair data structure [INFO] [stdout] [2025-11-11T08:15:22Z DEBUG arrowspace::laplacian] CosinePair structure built for 50 items [INFO] [stdout] [2025-11-11T08:15:22Z INFO arrowspace::laplacian] Computing degrees for inline sparsification [INFO] [stdout] [2025-11-11T08:15:22Z DEBUG arrowspace::laplacian] Skipping sparsification (avg degree 1.0) [INFO] [stdout] [2025-11-11T08:15:22Z INFO arrowspace::laplacian] Computing k-NN with CosinePair: k=3 [INFO] [stdout] [2025-11-11T08:15:22Z DEBUG arrowspace::laplacian] Built adjacency rows for 50 items [INFO] [stdout] [2025-11-11T08:15:22Z INFO arrowspace::laplacian] Converting adjacency to sparse Laplacian matrix (DashMap batched) [INFO] [stdout] [2025-11-11T08:15:22Z DEBUG arrowspace::laplacian] Total triplets: 148, edges: 49 [INFO] [stdout] [2025-11-11T08:15:22Z DEBUG arrowspace::laplacian] Inserted triplets in 11.23µs [INFO] [stdout] [2025-11-11T08:15:22Z INFO arrowspace::laplacian] Sparse Laplacian construction time: 656.95µs [INFO] [stdout] [2025-11-11T08:15:22Z INFO arrowspace::laplacian] Total Laplacian construction time: 41.669576ms [INFO] [stdout] [2025-11-11T08:15:22Z INFO arrowspace::laplacian] Successfully built sparse Laplacian matrix (3x3) with 148 non-zeros [INFO] [stdout] [2025-11-11T08:15:22Z INFO arrowspace::energymaps] EnergyMaps::diffuse_and_split_subcentroids: eta=0.100, steps=4, split_q=0.90 [INFO] [stdout] [2025-11-11T08:15:22Z DEBUG arrowspace::energymaps] Diffusing 3 centroids × 50 features over 4 steps with F×F Laplacian (50×50) [INFO] [stdout] [2025-11-11T08:15:22Z DEBUG arrowspace::energymaps] Diffusion complete after 4 steps [INFO] [stdout] [2025-11-11T08:15:22Z DEBUG arrowspace::energymaps] Laplacian: 50×50 (must be F×F feature-space) [INFO] [stdout] [2025-11-11T08:15:22Z DEBUG arrowspace::energymaps] Energy and dispersion computed for 3 nodes [parallel] [INFO] [stdout] [2025-11-11T08:15:22Z DEBUG arrowspace::energymaps] Energy: λ ∈ [0.300258, 0.419344], mean=0.354133 [INFO] [stdout] [2025-11-11T08:15:22Z DEBUG arrowspace::energymaps] Dispersion: G ∈ [0.055033, 0.068090], mean=0.062418 [INFO] [stdout] [2025-11-11T08:15:22Z DEBUG arrowspace::energymaps] Split threshold (quantile 0.90): G ≥ 0.068090 [INFO] [stdout] [2025-11-11T08:15:22Z DEBUG arrowspace::energymaps] Computed 1 splits [parallel] [INFO] [stdout] [2025-11-11T08:15:22Z INFO arrowspace::energymaps] Sub-centroid generation: 3 → 5 centroids (1 splits) [INFO] [stdout] [2025-11-11T08:15:22Z INFO arrowspace::energymaps] Energy graph: (3, 50) centroids → (5, 50) sub_centroids (reduced_dim=50) [INFO] [stdout] [2025-11-11T08:15:22Z INFO arrowspace::energymaps] EnergyMaps::build_energy_laplacian: k=3, w_λ=1.00, w_G=0.50, w_D=0.25 [INFO] [stdout] [2025-11-11T08:15:22Z DEBUG arrowspace::energymaps] Building energy Laplacian on 5 sub-centroids × 50 features [INFO] [stdout] [2025-11-11T08:15:22Z INFO arrowspace::energymaps] EnergyMaps::bootstrap_centroid_laplacian: k=3, normalise=false [INFO] [stdout] [2025-11-11T08:15:22Z DEBUG arrowspace::energymaps] Building bootstrap L₀ on 5 centroids (nodes) × 50 features [INFO] [stdout] [2025-11-11T08:15:22Z INFO arrowspace::laplacian] Building Laplacian matrix for 5 items with 50 features [INFO] [stdout] [2025-11-11T08:15:22Z DEBUG arrowspace::laplacian] Graph parameters: eps=0.8, k=3, p=2, sigma=None, normalise=false [INFO] [stdout] [2025-11-11T08:15:22Z DEBUG arrowspace::laplacian] Skipping normalization - using raw item magnitudes [INFO] [stdout] [2025-11-11T08:15:22Z INFO arrowspace::laplacian] Building CosinePair data structure [INFO] [stdout] [2025-11-11T08:15:22Z DEBUG arrowspace::laplacian] CosinePair structure built for 50 items [INFO] [stdout] [2025-11-11T08:15:22Z INFO arrowspace::laplacian] Computing degrees for inline sparsification [INFO] [stdout] [2025-11-11T08:15:23Z DEBUG arrowspace::laplacian] Skipping sparsification (avg degree 1.2) [INFO] [stdout] [2025-11-11T08:15:23Z INFO arrowspace::laplacian] Computing k-NN with CosinePair: k=4 [INFO] [stdout] [2025-11-11T08:15:23Z DEBUG arrowspace::laplacian] Built adjacency rows for 50 items [INFO] [stdout] [2025-11-11T08:15:23Z INFO arrowspace::laplacian] Converting adjacency to sparse Laplacian matrix (DashMap batched) [INFO] [stdout] [2025-11-11T08:15:23Z DEBUG arrowspace::laplacian] Total triplets: 168, edges: 59 [INFO] [stdout] [2025-11-11T08:15:23Z DEBUG arrowspace::laplacian] Inserted triplets in 12.371µs [INFO] [stdout] [2025-11-11T08:15:23Z INFO arrowspace::laplacian] Sparse Laplacian construction time: 760.24µs [INFO] [stdout] [2025-11-11T08:15:23Z INFO arrowspace::laplacian] Total Laplacian construction time: 281.106881ms [INFO] [stdout] [2025-11-11T08:15:23Z INFO arrowspace::laplacian] Successfully built sparse Laplacian matrix (5x5) with 168 non-zeros [INFO] [stdout] [2025-11-11T08:15:23Z DEBUG arrowspace::energymaps] Bootstrap Laplacian: 50×50 (F×F feature-space for taumode) [INFO] [stdout] [2025-11-11T08:15:23Z DEBUG arrowspace::energymaps] Laplacian: 50×50 (must be F×F feature-space) [INFO] [stdout] [2025-11-11T08:15:23Z DEBUG arrowspace::energymaps] Energy and dispersion computed for 5 nodes [parallel] [INFO] [stdout] [2025-11-11T08:15:23Z DEBUG arrowspace::energymaps] Robust scales: λ=0.218950, G=0.001143 [INFO] [stdout] [2025-11-11T08:15:23Z DEBUG arrowspace::graph] Matrix has 168 non-zero entries [INFO] [stdout] [2025-11-11T08:15:23Z INFO arrowspace::energymaps] Energy Laplacian (F×F): 50×50, 168 nnz, 93.28% sparse [INFO] [stdout] [2025-11-11T08:15:23Z INFO arrowspace::core] Creating subcentroid ArrowSpace from DenseMatrix(5, 50) [INFO] [stdout] [2025-11-11T08:15:23Z INFO arrowspace::core] → Interpreted as: 5 subcentroids × 50 features (row-major) [INFO] [stdout] [2025-11-11T08:15:23Z INFO arrowspace::energymaps] Computing lambdas on 5 sub_centroids... [INFO] [stdout] [2025-11-11T08:15:23Z INFO arrowspace::taumode] ╔═════════════════════════════════════════════════════════════╗ [INFO] [stdout] [2025-11-11T08:15:23Z INFO arrowspace::taumode] ║ Parallel TauMode Lambda Computation ║ [INFO] [stdout] [2025-11-11T08:15:23Z INFO arrowspace::taumode] ╠═════════════════════════════════════════════════════════════╣ [INFO] [stdout] [2025-11-11T08:15:23Z INFO arrowspace::taumode] ║ Configuration: ║ [INFO] [stdout] [2025-11-11T08:15:23Z INFO arrowspace::taumode] ║ Items: 5 ║ [INFO] [stdout] [2025-11-11T08:15:23Z INFO arrowspace::taumode] ║ Features: 50 ║ [INFO] [stdout] [2025-11-11T08:15:23Z INFO arrowspace::taumode] ║ Threads: 16 ║ [INFO] [stdout] [2025-11-11T08:15:23Z INFO arrowspace::taumode] ║ TauMode: Median ║ [INFO] [stdout] [2025-11-11T08:15:23Z DEBUG arrowspace::taumode] compute_taumode_lambdas_parallel: NO signals [INFO] [stdout] [2025-11-11T08:15:23Z INFO arrowspace::taumode] ║ Graph Source: Laplacian Matrix ║ [INFO] [stdout] [2025-11-11T08:15:23Z INFO arrowspace::taumode] ║ Graph Shape: 50×50 ║ [INFO] [stdout] [2025-11-11T08:15:23Z INFO arrowspace::taumode] ║ Graph NNZ: 168 ║ [INFO] [stdout] [2025-11-11T08:15:23Z INFO arrowspace::taumode] ║ Graph Sparsity: 0.067200 ║ [INFO] [stdout] [2025-11-11T08:15:23Z INFO arrowspace::taumode] ╚═════════════════════════════════════════════════════════════╝ [INFO] [stdout] [2025-11-11T08:15:23Z INFO arrowspace::taumode] Starting parallel lambda computation... [INFO] [stdout] [2025-11-11T08:15:24Z INFO arrowspace::taumode] ╔═════════════════════════════════════════════════════════════╗ [INFO] [stdout] [2025-11-11T08:15:24Z INFO arrowspace::taumode] ║ Computation Statistics ║ [INFO] [stdout] [2025-11-11T08:15:24Z INFO arrowspace::taumode] ╠═════════════════════════════════════════════════════════════╣ [INFO] [stdout] [2025-11-11T08:15:24Z INFO arrowspace::taumode] ║ Sequential Items: 0 ║ [INFO] [stdout] [2025-11-11T08:15:24Z INFO arrowspace::taumode] ║ Parallel Items: 0 ║ [INFO] [stdout] [2025-11-11T08:15:24Z INFO arrowspace::taumode] ║ Compute Time: 1.163s ║ [INFO] [stdout] [2025-11-11T08:15:24Z INFO arrowspace::core] Updating lambdas with 5 new values [INFO] [stdout] [2025-11-11T08:15:24Z INFO arrowspace::core] Normalized lambdas to [0, 1] range (original spread: 0.744777) [INFO] [stdout] [2025-11-11T08:15:24Z DEBUG arrowspace::core] Lambda update: old range [0.000000, 0.000000] -> new range [0.000000, 1.000000] [INFO] [stdout] [2025-11-11T08:15:24Z INFO arrowspace::taumode] ║ Update Time: 125.710µs ║ [INFO] [stdout] [2025-11-11T08:15:24Z INFO arrowspace::taumode] ║ Total Time: 1.233s ║ [INFO] [stdout] [2025-11-11T08:15:24Z INFO arrowspace::taumode] ║ Throughput: 4 items/sec ║ [INFO] [stdout] [2025-11-11T08:15:24Z INFO arrowspace::taumode] ╠═════════════════════════════════════════════════════════════╣ [INFO] [stdout] [2025-11-11T08:15:24Z INFO arrowspace::taumode] ║ Lambda Statistics ║ [INFO] [stdout] [2025-11-11T08:15:24Z INFO arrowspace::taumode] ╠═════════════════════════════════════════════════════════════╣ [INFO] [stdout] [2025-11-11T08:15:24Z INFO arrowspace::taumode] ║ Min: 0.000000 ║ [INFO] [stdout] [2025-11-11T08:15:24Z INFO arrowspace::taumode] ║ Max: 1.000000 ║ [INFO] [stdout] [2025-11-11T08:15:24Z INFO arrowspace::taumode] ║ Mean: 0.417427 ║ [INFO] [stdout] [2025-11-11T08:15:24Z INFO arrowspace::taumode] ║ Std Dev: 0.377758 ║ [INFO] [stdout] [2025-11-11T08:15:24Z INFO arrowspace::taumode] ║ Range: 1.000000 ║ [INFO] [stdout] [2025-11-11T08:15:24Z INFO arrowspace::taumode] ╚═════════════════════════════════════════════════════════════╝ [INFO] [stdout] [2025-11-11T08:15:24Z INFO arrowspace::taumode] ✓ Parallel taumode lambda computation completed successfully [INFO] [stdout] [2025-11-11T08:15:24Z INFO arrowspace::energymaps] Sub_centroid λ: min=0.000000, max=1.000000, mean=0.417427 [INFO] [stdout] [2025-11-11T08:15:24Z INFO arrowspace::energymaps] Mapping 78 items to (5, 50) sub_centroids and computing norms... [INFO] [stdout] [2025-11-11T08:15:25Z INFO arrowspace::energymaps] Item λ assigned: min=0.000000, max=1.000000, mean=0.832752 [INFO] [stdout] [2025-11-11T08:15:25Z DEBUG arrowspace::energymaps] Item norms computed: min=4.266663, max=83.856355, mean=19.600294 [INFO] [stdout] [2025-11-11T08:15:25Z DEBUG arrowspace::core] Query mapped to subcentroid 4/5 with λ=0.122046 (dist=38.9591) [INFO] [stdout] [2025-11-11T08:15:25Z DEBUG arrowspace::core] Query mapped to subcentroid 4/5 with λ=1.000000 (dist=49.6810) [INFO] [stdout] [2025-11-11T08:15:25Z DEBUG arrowspace::tests::test_energy_search] Results (base energy): [(0, 4.8512416306323306e-20), (27, 7.980481042072161e-10), (32, 8.587058505825286e-10), (67, 8.644750580846882e-10), (41, 8.6661838210895e-10), (12, 8.685672197170408e-10), (43, 8.836667621239229e-10), (39, 8.879293704352321e-10), (49, 8.946747394664675e-10), (59, 9.007601632546156e-10), (36, 9.06502113315587e-10), (34, 9.106971278474641e-10), (31, 9.110617749824672e-10), (29, 9.119989478296838e-10), (5, 9.314133172557374e-10), (42, 9.349022468294962e-10), (14, 9.37206513466822e-10), (28, 9.386375310604176e-10), (76, 9.390731097784241e-10), (65, 9.415916426725491e-10)] [INFO] [stdout] [2025-11-11T08:15:25Z DEBUG arrowspace::tests::test_energy_search] Results (extra energy): [(0, 4.8512416306323306e-20), (32, 8.587058505825286e-10), (67, 8.644750580846882e-10), (12, 8.685672197170408e-10), (39, 8.879293704352321e-10), (49, 8.946747394664675e-10), (34, 9.106971278474641e-10), (29, 9.119989478296838e-10), (5, 9.314133172557374e-10), (42, 9.349022468294962e-10), (14, 9.37206513466822e-10), (6, 9.511931146639662e-10), (61, 9.563434492543468e-10), (9, 9.615333466643467e-10), (10, 9.628028124029753e-10), (1, 9.704903891173132e-10), (45, 9.730317225516726e-10), (56, 9.77258339009413e-10), (54, 9.781197366921124e-10), (71, 9.809156326530848e-10)] [INFO] [stdout] [INFO] [stdout] thread 'tests::test_energy_search::test_energy_vs_energy_extra_dims_reduction_recall_at_k' (135) panicked at src/tests/test_energy_search.rs:916:5: [INFO] [stdout] Recall between energy (extra vs base) too low: 0.55 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5f016aebaf12 - std::backtrace_rs::backtrace::libunwind::trace::ha50a1f28c7a10cf8 [INFO] [stdout] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5f016aebaf12 - std::backtrace_rs::backtrace::trace_unsynchronized::h34f8c4ec82a320bc [INFO] [stdout] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5f016aebaf12 - std::sys::backtrace::_print_fmt::h2d23e84e13d343bc [INFO] [stdout] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5f016aebaf12 - ::fmt::hde21067283f7e82e [INFO] [stdout] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5f016aeccbff - core::fmt::rt::Argument::fmt::he65307037dca33c6 [INFO] [stdout] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5f016aeccbff - core::fmt::write::h24186904251c31cb [INFO] [stdout] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/core/src/fmt/mod.rs:1469:25 [INFO] [stdout] 6: 0x5f016ae87013 - std::io::default_write_fmt::h4e8d11c5c4b9cafe [INFO] [stdout] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5f016ae87013 - std::io::Write::write_fmt::ha849be0824d095ef [INFO] [stdout] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5f016ae92d62 - std::sys::backtrace::BacktraceLock::print::he038489aba5894a6 [INFO] [stdout] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5f016ae979df - std::panicking::default_hook::{{closure}}::h80a26d916c49679b [INFO] [stdout] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x5f016ae97871 - std::panicking::default_hook::he2e9efee79b3dce9 [INFO] [stdout] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x5f016ad7c60e - as core::ops::function::Fn>::call::h202f496763929329 [INFO] [stdout] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 12: 0x5f016ad7c60e - test::test_main_with_exit_callback::{{closure}}::h805a6913adddaea3 [INFO] [stdout] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5f016ae9809f - as core::ops::function::Fn>::call::h2883c9d2dbd4e81c [INFO] [stdout] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 14: 0x5f016ae9809f - std::panicking::panic_with_hook::hf5648b7cec6bc73e [INFO] [stdout] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x5f016ae97e4a - std::panicking::panic_handler::{{closure}}::h1b2ed3864ba94359 [INFO] [stdout] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/panicking.rs:707:13 [INFO] [stdout] 16: 0x5f016ae92e99 - std::sys::backtrace::__rust_end_short_backtrace::hd0186b2b27f5aaa7 [INFO] [stdout] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x5f016ae7b69d - __rustc[f7dae8b92efe1d7a]::rust_begin_unwind [INFO] [stdout] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x5f016aed5810 - core::panicking::panic_fmt::hb5d6b83773432920 [INFO] [stdout] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x5f016a9cf32a - arrowspace::tests::test_energy_search::test_energy_vs_energy_extra_dims_reduction_recall_at_k::h0c5b053d3c66b097 [INFO] [stdout] at /opt/rustwide/workdir/src/tests/test_energy_search.rs:916:5 [INFO] [stdout] 20: 0x5f016a9cf7e7 - arrowspace::tests::test_energy_search::test_energy_vs_energy_extra_dims_reduction_recall_at_k::{{closure}}::h6f80ae74ab2ff94b [INFO] [stdout] at /opt/rustwide/workdir/src/tests/test_energy_search.rs:848:60 [INFO] [stdout] 21: 0x5f016a885a76 - core::ops::function::FnOnce::call_once::h8366212d064fb378 [INFO] [stdout] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 22: 0x5f016ad7c47b - core::ops::function::FnOnce::call_once::h3a2d82edd1a9b770 [INFO] [stdout] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 23: 0x5f016ad7c47b - test::__rust_begin_short_backtrace::h85d4fe5033219107 [INFO] [stdout] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/test/src/lib.rs:663:18 [INFO] [stdout] 24: 0x5f016ad9046d - test::run_test_in_process::{{closure}}::h67b48a81b9c9d7b6 [INFO] [stdout] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/test/src/lib.rs:686:74 [INFO] [stdout] 25: 0x5f016ad9046d - as core::ops::function::FnOnce<()>>::call_once::h7680585480377cb5 [INFO] [stdout] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 26: 0x5f016ad9046d - std::panicking::catch_unwind::do_call::hf71351b2657d4002 [INFO] [stdout] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/panicking.rs:590:40 [INFO] [stdout] 27: 0x5f016ad9046d - std::panicking::catch_unwind::h7fcb5c0312d9e172 [INFO] [stdout] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/panicking.rs:553:19 [INFO] [stdout] 28: 0x5f016ad9046d - std::panic::catch_unwind::h5cf3c9bdee894ebe [INFO] [stdout] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/panic.rs:359:14 [INFO] [stdout] 29: 0x5f016ad9046d - test::run_test_in_process::h1469cb85193a3a25 [INFO] [stdout] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/test/src/lib.rs:686:27 [INFO] [stdout] 30: 0x5f016ad9046d - test::run_test::{{closure}}::h59d45b3cd6453d69 [INFO] [stdout] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/test/src/lib.rs:607:43 [INFO] [stdout] 31: 0x5f016ad699b4 - test::run_test::{{closure}}::h9baa0c3d443f28c9 [INFO] [stdout] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/test/src/lib.rs:637:41 [INFO] [stdout] 32: 0x5f016ad699b4 - std::sys::backtrace::__rust_begin_short_backtrace::h97ea8cee4828663e [INFO] [stdout] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 33: 0x5f016ad6d20a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h5d7539d5f78cee61 [INFO] [stdout] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/thread/mod.rs:562:17 [INFO] [stdout] 34: 0x5f016ad6d20a - as core::ops::function::FnOnce<()>>::call_once::he4c551e23c5e9b22 [INFO] [stdout] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 35: 0x5f016ad6d20a - std::panicking::catch_unwind::do_call::h522b41a6c157aaba [INFO] [stdout] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/panicking.rs:590:40 [INFO] [stdout] 36: 0x5f016ad6d20a - std::panicking::catch_unwind::h0efbf72006b8e365 [INFO] [stdout] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/panicking.rs:553:19 [INFO] [stdout] 37: 0x5f016ad6d20a - std::panic::catch_unwind::h3b081041e6c97066 [INFO] [stdout] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/panic.rs:359:14 [INFO] [stdout] 38: 0x5f016ad6d20a - std::thread::Builder::spawn_unchecked_::{{closure}}::ha751309815d5d8cf [INFO] [stdout] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/thread/mod.rs:560:30 [INFO] [stdout] 39: 0x5f016ad6d20a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h2084b887a5fe25a7 [INFO] [stdout] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 40: 0x5f016ae8e29f - as core::ops::function::FnOnce>::call_once::h3adbd6ccf5f737af [INFO] [stdout] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/alloc/src/boxed.rs:2085:9 [INFO] [stdout] 41: 0x5f016ae8e29f - std::sys::thread::unix::Thread::new::thread_start::hb3dc6483caa1b987 [INFO] [stdout] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/sys/thread/unix.rs:124:17 [INFO] [stdout] 42: 0x7c5f922ffaa4 - [INFO] [stdout] 43: 0x7c5f9238ca64 - clone [INFO] [stdout] 44: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] tests::test_energy_search::test_energy_vs_energy_extra_dims_reduction_recall_at_k [INFO] [stdout] [INFO] [stdout] test result: FAILED. 193 passed; 1 failed; 4 ignored; 0 measured; 0 filtered out; finished in 92.80s [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass `--lib` [INFO] running `Command { std: "docker" "inspect" "b025c4c6e965482a14e7f8b7deeeced4c51a91e4230a4760a06f643fe9f7449d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b025c4c6e965482a14e7f8b7deeeced4c51a91e4230a4760a06f643fe9f7449d", kill_on_drop: false }` [INFO] [stdout] b025c4c6e965482a14e7f8b7deeeced4c51a91e4230a4760a06f643fe9f7449d