[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 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::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 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::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 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::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 - <core::panic::unwind_safe::AssertUnwindSafe<F> 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 - <core::panic::unwind_safe::AssertUnwindSafe<F> 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 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::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 - <unknown>
[INFO] [stdout]   43:     0x7c5f9238ca64 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[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
