[INFO] fetching crate irithyll 9.8.4... [INFO] testing irithyll-9.8.4 against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210-1 [INFO] extracting crate irithyll 9.8.4 into /workspace/builds/worker-4-tc2/source [INFO] started tweaking crates.io crate irithyll 9.8.4 [INFO] removed 0 missing examples [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate irithyll 9.8.4 [INFO] tweaked toml for crates.io crate irithyll 9.8.4 written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate irithyll 9.8.4 on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate irithyll 9.8.4 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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] abec05ba116ef79d1397e554402fa738293364d8db78bc56906bcb964685ef3a [INFO] running `Command { std: "docker" "start" "-a" "abec05ba116ef79d1397e554402fa738293364d8db78bc56906bcb964685ef3a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "abec05ba116ef79d1397e554402fa738293364d8db78bc56906bcb964685ef3a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "abec05ba116ef79d1397e554402fa738293364d8db78bc56906bcb964685ef3a", kill_on_drop: false }` [INFO] [stdout] abec05ba116ef79d1397e554402fa738293364d8db78bc56906bcb964685ef3a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b7cf8bea5c727be91e3aa20e67b75bc326fa77389f963f9928ff6f0f9e0e6cf0 [INFO] running `Command { std: "docker" "start" "-a" "b7cf8bea5c727be91e3aa20e67b75bc326fa77389f963f9928ff6f0f9e0e6cf0", kill_on_drop: false }` [INFO] [stderr] Compiling libm v0.2.16 [INFO] [stderr] Compiling irithyll-core v0.9.1 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling irithyll v9.8.4 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 14.22s [INFO] running `Command { std: "docker" "inspect" "b7cf8bea5c727be91e3aa20e67b75bc326fa77389f963f9928ff6f0f9e0e6cf0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b7cf8bea5c727be91e3aa20e67b75bc326fa77389f963f9928ff6f0f9e0e6cf0", kill_on_drop: false }` [INFO] [stdout] b7cf8bea5c727be91e3aa20e67b75bc326fa77389f963f9928ff6f0f9e0e6cf0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5b953127915398dc8de2dcd8aa2150ea89d7583e46914b4be3fdeba562dcfcf9 [INFO] running `Command { std: "docker" "start" "-a" "5b953127915398dc8de2dcd8aa2150ea89d7583e46914b4be3fdeba562dcfcf9", kill_on_drop: false }` [INFO] [stderr] Compiling zerocopy v0.8.42 [INFO] [stderr] Compiling zerocopy-derive v0.8.42 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling clap_builder v4.6.0 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling quick-error v1.2.3 [INFO] [stderr] Compiling bit-vec v0.8.0 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling rand_xorshift v0.4.0 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling is-terminal v0.4.17 [INFO] [stderr] Compiling unarray v0.1.4 [INFO] [stderr] Compiling approx v0.5.1 [INFO] [stderr] Compiling rusty-fork v0.3.1 [INFO] [stderr] Compiling bit-set v0.8.0 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling clap v4.6.0 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling half v2.7.1 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling irithyll v9.8.4 (/opt/rustwide/workdir) [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling proptest v1.10.0 [INFO] [stderr] Compiling criterion v0.5.1 [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 32.98s [INFO] running `Command { std: "docker" "inspect" "5b953127915398dc8de2dcd8aa2150ea89d7583e46914b4be3fdeba562dcfcf9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5b953127915398dc8de2dcd8aa2150ea89d7583e46914b4be3fdeba562dcfcf9", kill_on_drop: false }` [INFO] [stdout] 5b953127915398dc8de2dcd8aa2150ea89d7583e46914b4be3fdeba562dcfcf9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] aa9d7f33aae46a0657287d9abca502080295d6ae137605847ba0c7a07bd5f93b [INFO] running `Command { std: "docker" "start" "-a" "aa9d7f33aae46a0657287d9abca502080295d6ae137605847ba0c7a07bd5f93b", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.61s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/irithyll-31094046ddb3b786) [INFO] [stdout] [INFO] [stdout] running 1289 tests [INFO] [stdout] test anomaly::hst::tests::test_basic_construction ... ok [INFO] [stdout] test attention::attention_config::tests::builder_d_model_not_divisible_by_n_heads ... ok [INFO] [stdout] test attention::attention_config::tests::builder_invalid_d_key_zero ... ok [INFO] [stdout] test attention::attention_config::tests::builder_explicit_d_key_d_value ... ok [INFO] [stdout] test anomaly::hst::tests::test_window_rotation ... ok [INFO] [stdout] test attention::attention_config::tests::builder_custom_values ... ok [INFO] [stdout] test attention::attention_config::tests::builder_defaults_with_d_model ... ok [INFO] [stdout] test attention::attention_config::tests::builder_forgetting_factor_one_valid ... ok [INFO] [stdout] test attention::attention_config::tests::builder_invalid_forgetting_factor_over_one ... ok [INFO] [stdout] test attention::attention_config::tests::builder_invalid_delta_negative ... ok [INFO] [stdout] test attention::attention_preprocessor::tests::deterministic_with_same_seed ... ok [INFO] [stdout] test attention::attention_config::tests::builder_invalid_forgetting_factor_zero ... ok [INFO] [stdout] test attention::attention_config::tests::builder_invalid_delta_zero ... ok [INFO] [stdout] test attention::attention_config::tests::builder_missing_d_model ... ok [INFO] [stdout] test attention::attention_config::tests::builder_invalid_n_heads_zero ... ok [INFO] [stdout] test attention::attention_config::tests::config_clone ... ok [INFO] [stdout] test attention::attention_preprocessor::tests::new_creates_correct_dim ... ok [INFO] [stdout] test attention::attention_config::tests::display_format ... ok [INFO] [stdout] test attention::attention_preprocessor::tests::transform_before_any_update_returns_zeros ... ok [INFO] [stdout] test attention::attention_preprocessor::tests::reset_clears_state_and_cache ... ok [INFO] [stdout] test attention::attention_preprocessor::tests::sequential_updates_change_output ... ok [INFO] [stdout] test attention::attention_preprocessor::tests::pipeline_integration ... ok [INFO] [stdout] test attention::attention_preprocessor::tests::transform_returns_cached_output ... ok [INFO] [stdout] test attention::attention_preprocessor::tests::update_and_transform_returns_correct_dim ... ok [INFO] [stdout] test attention::streaming_attention::tests::config_accessor ... ok [INFO] [stdout] test attention::attention_preprocessor::tests::update_and_transform_produces_finite_output ... ok [INFO] [stdout] test attention::streaming_attention::tests::is_warm_after_warmup_samples ... ok [INFO] [stdout] test attention::streaming_attention::tests::convergence_on_sine_wave ... ok [INFO] [stdout] test attention::streaming_attention::tests::predict_after_training_is_finite ... ok [INFO] [stdout] test attention::streaming_attention::tests::new_creates_fresh_model ... ok [INFO] [stdout] test attention::streaming_attention::tests::predict_batch_works ... ok [INFO] [stdout] test attention::streaming_attention::tests::mode_accessor ... ok [INFO] [stdout] test attention::streaming_attention::tests::predict_before_training_returns_zero ... ok [INFO] [stdout] test attention::streaming_attention::tests::reset_clears_everything ... ok [INFO] [stdout] test attention::streaming_attention::tests::train_convenience_uses_unit_weight ... ok [INFO] [stdout] test attention::streaming_attention::tests::train_one_increments_samples ... ok [INFO] [stdout] test automl::auto_builder::tests::diagnostic_learner_backward_compat_alias ... ok [INFO] [stdout] test automl::auto_builder::tests::diagnostic_learner_min_observations_gating ... ok [INFO] [stdout] test automl::auto_builder::tests::diagnostic_learner_reset_clears_state ... ok [INFO] [stdout] test automl::auto_builder::tests::feasible_region_center_config_valid ... ok [INFO] [stdout] test automl::auto_builder::tests::diagnostic_learner_with_custom_objective ... ok [INFO] [stdout] test automl::auto_builder::tests::diagnostic_learner_meta_objective_default ... ok [INFO] [stdout] test automl::auto_builder::tests::diagnostic_learner_observation_interval_gating ... ok [INFO] [stdout] test automl::auto_builder::tests::feasible_region_abundant_data ... ok [INFO] [stdout] test automl::auto_builder::tests::diagnostic_learner_structural_change ... ok [INFO] [stdout] test automl::auto_builder::tests::feasible_region_perturbations ... ok [INFO] [stdout] test automl::auto_builder::tests::feasible_region_sparse_data ... ok [INFO] [stdout] test automl::auto_builder::tests::feasible_region_update_expands ... ok [INFO] [stdout] test automl::auto_builder::tests::call_frequency_invariance_bounded_total_adjustment ... ok [INFO] [stdout] test automl::auto_builder::tests::diagnostic_learner_cumulative_clamping ... ok [INFO] [stdout] test automl::auto_builder::tests::welford_stats_accuracy ... ok [INFO] [stdout] test automl::auto_tuner::tests::adjusted_metric_computation ... ok [INFO] [stdout] test automl::auto_builder::tests::welford_race_all_see_all ... ok [INFO] [stdout] test automl::auto_tuner::tests::complexity_penalty_decays_with_samples ... ok [INFO] [stdout] test automl::auto_builder::tests::welford_race_selects_best ... ok [INFO] [stdout] test anomaly::hst::tests::test_anomaly_detection_basic ... ok [INFO] [stdout] test automl::auto_tuner::tests::auto_builder_mode_disabled ... ok [INFO] [stdout] test automl::auto_tuner::tests::auto_builder_mode_enabled ... ok [INFO] [stdout] test anomaly::hst::tests::test_reset ... ok [INFO] [stdout] test automl::auto_tuner::tests::snapshot_shows_candidates ... ok [INFO] [stdout] test anomaly::hst::tests::test_score_and_update ... ok [INFO] [stdout] test anomaly::hst::tests::test_update_increments_count ... ok [INFO] [stdout] test automl::auto_tuner::tests::drift_rerace_config ... ok [INFO] [stdout] test automl::auto_tuner::tests::tournament_builder_default ... ok [INFO] [stdout] test automl::auto_tuner::tests::tournament_custom_config ... ok [INFO] [stdout] test automl::auto_tuner::tests::tournament_factory_names_single ... ok [INFO] [stdout] test automl::auto_tuner::tests::tournament_add_factory ... ok [INFO] [stdout] test anomaly::hst::tests::test_with_ranges ... ok [INFO] [stdout] test automl::auto_tuner::tests::tournament_implements_streaming_learner ... ok [INFO] [stdout] test anomaly::hst::tests::test_score_range ... ok [INFO] [stdout] test automl::auto_tuner::tests::tournament_candidates_decrease ... ok [INFO] [stdout] test automl::auto_tuner::tests::snapshot_display ... ok [INFO] [stdout] test anomaly::hst::tests::test_deterministic_with_seed ... ok [INFO] [stdout] test automl::auto_tuner::tests::warmup_hint_factories ... ok [INFO] [stdout] test automl::auto_tuner::tests::warmup_protection ... ok [INFO] [stdout] test automl::config_space::tests::categorical_sampling ... ok [INFO] [stdout] test automl::config_space::tests::config_space_builder ... ok [INFO] [stdout] test automl::config_space::tests::deterministic_with_seed ... ok [INFO] [stdout] test automl::config_space::tests::empty_config_space ... ok [INFO] [stdout] test automl::config_space::tests::hyper_config_access ... ok [INFO] [stdout] test automl::config_space::tests::latin_hypercube_coverage ... ok [INFO] [stdout] test automl::config_space::tests::latin_hypercube_in_bounds ... ok [INFO] [stdout] test automl::config_space::tests::log_scale_sampling ... ok [INFO] [stdout] test automl::config_space::tests::perturb_categorical_changes ... ok [INFO] [stdout] test automl::config_space::tests::perturb_log_scale_in_bounds ... ok [INFO] [stdout] test automl::config_space::tests::perturb_stays_in_bounds ... ok [INFO] [stdout] test automl::config_space::tests::perturb_zero_sigma_preserves_float_and_int ... ok [INFO] [stdout] test automl::config_space::tests::random_sample_in_bounds ... ok [INFO] [stdout] test automl::factories::tests::attention_factory_config_space ... ok [INFO] [stdout] test automl::factories::tests::attention_factory_create_and_predict ... ok [INFO] [stdout] test automl::factories::tests::attention_factory_name ... ok [INFO] [stdout] test automl::factories::tests::esn_factory_config_space ... ok [INFO] [stdout] test automl::factories::tests::esn_factory_create_and_predict ... ok [INFO] [stdout] test automl::factories::tests::esn_factory_default ... ok [INFO] [stdout] test automl::factories::tests::esn_factory_name ... ok [INFO] [stdout] test automl::factories::tests::factories_are_send_sync ... ok [INFO] [stdout] test automl::factories::tests::factory_as_trait_object ... ok [INFO] [stdout] test automl::auto_tuner::tests::auto_builder_train_works ... ok [INFO] [stdout] test automl::auto_tuner::tests::drift_rerace_reset ... ok [INFO] [stdout] test automl::factories::tests::mamba_factory_config_space ... ok [INFO] [stdout] test automl::factories::tests::mamba_factory_create_and_predict ... ok [INFO] [stdout] test automl::factories::tests::mamba_factory_name ... ok [INFO] [stdout] test automl::factories::tests::kan_in_neural_moe ... ok [INFO] [stdout] test automl::factories::tests::sgbt_factory_config_space ... ok [INFO] [stdout] test automl::factories::tests::sgbt_factory_create_and_predict ... ok [INFO] [stdout] test automl::factories::tests::sgbt_factory_name ... ok [INFO] [stdout] test automl::factories::tests::spikenet_factory_config_space ... ok [INFO] [stdout] test automl::factories::tests::spikenet_factory_create_and_predict ... ok [INFO] [stdout] test automl::factories::tests::spikenet_factory_default ... ok [INFO] [stdout] test automl::factories::tests::spikenet_factory_name ... ok [INFO] [stdout] test automl::auto_tuner::tests::early_stopping_eliminates_bad ... ok [INFO] [stdout] test automl::factories::tests::unified_factory_attention ... ok [INFO] [stdout] test automl::factories::tests::unified_factory_complexity_hint ... ok [INFO] [stdout] test automl::auto_tuner::tests::tournament_reset ... ok [INFO] [stdout] test automl::factories::tests::unified_factory_distributional ... ok [INFO] [stdout] test automl::factories::tests::unified_factory_esn ... ok [INFO] [stdout] test automl::auto_tuner::tests::tournament_n_samples_seen ... ok [INFO] [stdout] test automl::factories::tests::unified_factory_mamba ... ok [INFO] [stdout] test automl::factories::tests::unified_factory_kan ... ok [INFO] [stdout] test automl::factories::tests::unified_factory_names ... ok [INFO] [stdout] test automl::factories::tests::unified_factory_sgbt ... ok [INFO] [stdout] test automl::factories::tests::unified_factory_spike_net ... ok [INFO] [stdout] test automl::factories::tests::unified_factory_with_overrides ... ok [INFO] [stdout] test automl::reward::tests::baseline_tracks_values ... ok [INFO] [stdout] test automl::reward::tests::better_performance_higher_reward ... ok [INFO] [stdout] test automl::factories::tests::unified_factory_ttt ... ok [INFO] [stdout] test automl::factories::tests::unified_factory_in_auto_tuner ... ok [INFO] [stdout] test automl::reward::tests::normalizer_first_value_returns_half ... ok [INFO] [stdout] test automl::reward::tests::new_panics_on_alpha_over_one - should panic ... ok [INFO] [stdout] test automl::reward::tests::new_panics_on_zero_alpha - should panic ... ok [INFO] [stdout] test automl::reward::tests::reset_clears_state ... ok [INFO] [stdout] test automl::reward::tests::reward_always_clamped ... ok [INFO] [stdout] test automl::reward::tests::worse_performance_lower_reward ... ok [INFO] [stdout] test automl::reward::tests::with_span_alpha_computation ... ok [INFO] [stdout] test automl::reward::tests::with_span_panics_on_zero - should panic ... ok [INFO] [stdout] test bandits::discounted_thompson::tests::deterministic_with_seed ... ok [INFO] [stdout] test bandits::discounted_thompson::tests::adapts_to_change ... ok [INFO] [stdout] test automl::reward::tests::zero_baseline_returns_half ... ok [INFO] [stdout] test bandits::discounted_thompson::tests::discount_decays_posteriors ... ok [INFO] [stdout] test bandits::discounted_thompson::tests::discount_one_equals_standard ... ok [INFO] [stdout] test bandits::discounted_thompson::tests::invalid_discount_above_one_panics - should panic ... ok [INFO] [stdout] test bandits::discounted_thompson::tests::new_creates_valid ... ok [INFO] [stdout] test bandits::discounted_thompson::tests::reset_restores_prior ... ok [INFO] [stdout] test bandits::discounted_thompson::tests::reward_clamped ... ok [INFO] [stdout] test bandits::discounted_thompson::tests::with_prior_custom ... ok [INFO] [stdout] test bandits::epsilon_greedy::tests::all_arms_explored_with_high_epsilon ... ok [INFO] [stdout] test bandits::discounted_thompson::tests::invalid_discount_zero_panics - should panic ... ok [INFO] [stdout] test bandits::discounted_thompson::tests::invalid_n_arms_panics - should panic ... ok [INFO] [stdout] test bandits::epsilon_greedy::tests::incremental_mean_correct ... ok [INFO] [stdout] test bandits::epsilon_greedy::tests::reset_clears_state ... ok [INFO] [stdout] test bandits::epsilon_greedy::tests::decay_reduces_epsilon ... ok [INFO] [stdout] test bandits::epsilon_greedy::tests::selects_best_arm_over_time ... ok [INFO] [stdout] test bandits::epsilon_greedy::tests::epsilon_zero_always_exploits ... ok [INFO] [stdout] test bandits::lin_ucb::tests::explores_all_arms_initially ... ok [INFO] [stdout] test bandits::lin_ucb::tests::sherman_morrison_preserves_symmetry ... ok [INFO] [stdout] test bandits::lin_ucb::tests::reset_clears_state ... ok [INFO] [stdout] test bandits::lin_ucb::tests::theta_converges ... ok [INFO] [stdout] test bandits::lin_ucb::tests::ucb_score_finite ... ok [INFO] [stdout] test bandits::lin_ucb::tests::selects_best_arm_with_context ... ok [INFO] [stdout] test bandits::lin_ucb::tests::single_feature_linear_reward ... ok [INFO] [stdout] test bandits::tests::beta_sample_in_unit_interval ... ok [INFO] [stdout] test bandits::tests::gamma_sample_positive ... ok [INFO] [stdout] test bandits::tests::standard_normal_finite ... ok [INFO] [stdout] test bandits::tests::beta_sample_mean_approximately_correct ... ok [INFO] [stdout] test bandits::tests::xorshift64_deterministic ... ok [INFO] [stdout] test bandits::thompson::tests::arm_values_track_mean ... ok [INFO] [stdout] test bandits::tests::xorshift64_f64_in_unit_interval ... ok [INFO] [stdout] test bandits::thompson::tests::custom_prior_works ... ok [INFO] [stdout] test bandits::thompson::tests::prior_is_uniform ... ok [INFO] [stdout] test bandits::thompson::tests::rewards_clamped_to_unit_interval ... ok [INFO] [stdout] test bandits::thompson::tests::reset_restores_prior ... ok [INFO] [stdout] test bandits::ucb::tests::ucb1_explores_all_arms_first ... ok [INFO] [stdout] test bandits::thompson::tests::selects_best_arm_over_time ... ok [INFO] [stdout] test bandits::thompson::tests::update_adjusts_posterior ... ok [INFO] [stdout] test bandits::ucb::tests::ucb1_selects_best_arm ... ok [INFO] [stdout] test bandits::ucb::tests::ucb1_single_arm_always_selected ... ok [INFO] [stdout] test bandits::ucb::tests::ucb1_reset_clears_state ... ok [INFO] [stdout] test bandits::ucb::tests::ucb_tuned_reset_clears_state ... ok [INFO] [stdout] test bandits::ucb::tests::ucb_tuned_explores_all_arms_first ... ok [INFO] [stdout] test bandits::ucb::tests::ucb_tuned_variance_tracking ... ok [INFO] [stdout] test bandits::ucb::tests::ucb1_incremental_mean_correct ... ok [INFO] [stdout] test bandits::ucb::tests::ucb_tuned_selects_best_arm ... ok [INFO] [stdout] test clustering::clustream::tests::cluster_feature_absorb ... ok [INFO] [stdout] test clustering::clustream::tests::cluster_feature_merge ... ok [INFO] [stdout] test clustering::clustream::tests::distant_point_creates_new_mc ... ok [INFO] [stdout] test clustering::clustream::tests::max_micro_clusters_triggers_merge ... ok [INFO] [stdout] test clustering::clustream::tests::nearby_points_absorbed ... ok [INFO] [stdout] test clustering::clustream::tests::macro_clusters_separates_groups ... ok [INFO] [stdout] test clustering::clustream::tests::config_builder_validates ... ok [INFO] [stdout] test clustering::clustream::tests::predict_nearest_micro_cluster ... ok [INFO] [stdout] test clustering::clustream::tests::reset_clears_state ... ok [INFO] [stdout] test clustering::dbstream::tests::cleanup_removes_light_clusters ... ok [INFO] [stdout] test clustering::clustream::tests::single_point_creates_micro_cluster ... ok [INFO] [stdout] test clustering::dbstream::tests::config_builder_validates ... ok [INFO] [stdout] test clustering::dbstream::tests::decay_reduces_weights ... ok [INFO] [stdout] test clustering::dbstream::tests::distant_points_separate ... ok [INFO] [stdout] test clustering::dbstream::tests::predict_or_noise_returns_none ... ok [INFO] [stdout] test clustering::dbstream::tests::predict_returns_nearest ... ok [INFO] [stdout] test clustering::dbstream::tests::reset_clears_state ... ok [INFO] [stdout] test clustering::dbstream::tests::single_point_creates_micro_cluster ... ok [INFO] [stdout] test clustering::dbstream::tests::macro_clusters_merge_shared_density ... ok [INFO] [stdout] test clustering::kmeans::tests::centroids_converge_on_clusters ... ok [INFO] [stdout] test clustering::kmeans::tests::cluster_counts_track_assignments ... ok [INFO] [stdout] test clustering::dbstream::tests::nearby_points_merge ... ok [INFO] [stdout] test clustering::kmeans::tests::config_builder_validates ... ok [INFO] [stdout] test clustering::kmeans::tests::forgetting_factor_adapts_to_drift ... ok [INFO] [stdout] test clustering::kmeans::tests::inertia_decreases_with_training ... ok [INFO] [stdout] test clustering::kmeans::tests::initialization_from_first_k_samples ... ok [INFO] [stdout] test clustering::kmeans::tests::reset_clears_all_state ... ok [INFO] [stdout] test clustering::kmeans::tests::predict_distance_returns_correct_distance ... ok [INFO] [stdout] test continual::continual_wrapper::tests::debug_format_is_informative ... ok [INFO] [stdout] test continual::continual_wrapper::tests::drift_count_increments ... ok [INFO] [stdout] test continual::continual_wrapper::tests::drift_detection_triggers_on_error_spike ... ok [INFO] [stdout] test continual::continual_wrapper::tests::factory_function_creates_wrapper ... ok [INFO] [stdout] test continual::continual_wrapper::tests::as_trait_object ... ok [INFO] [stdout] test clustering::kmeans::tests::predict_nearest_centroid ... ok [INFO] [stdout] test continual::continual_wrapper::tests::inner_access_works ... ok [INFO] [stdout] test continual::continual_wrapper::tests::no_drift_detector_works_fine ... ok [INFO] [stdout] test continual::continual_wrapper::tests::pipeline_composition_works ... ok [INFO] [stdout] test continual::continual_wrapper::tests::predict_is_side_effect_free ... ok [INFO] [stdout] test continual::continual_wrapper::tests::reset_on_drift_resets_inner_model ... ok [INFO] [stdout] test continual::continual_wrapper::tests::n_samples_tracks_correctly ... ok [INFO] [stdout] test continual::continual_wrapper::tests::wraps_learner_transparently ... ok [INFO] [stdout] test ensemble::adaptive::tests::as_streaming_learner_trait_object ... ok [INFO] [stdout] test ensemble::adaptive::tests::construction_and_initial_state ... ok [INFO] [stdout] test ensemble::adaptive::tests::exponential_decay_reduces_lr ... ok [INFO] [stdout] test continual::continual_wrapper::tests::reset_clears_everything ... ok [INFO] [stdout] test ensemble::adaptive::tests::predict_is_finite ... ok [INFO] [stdout] test ensemble::adaptive::tests::plateau_lr_reduces_on_stagnation ... ok [INFO] [stdout] test ensemble::adaptive::tests::reset_clears_all_state ... ok [INFO] [stdout] test ensemble::adaptive::tests::train_increments_step_count ... ok [INFO] [stdout] test ensemble::adaptive_forest::tests::arf_config_validates ... ok [INFO] [stdout] test ensemble::adaptive_forest::tests::arf_feature_subspace ... ok [INFO] [stdout] test ensemble::adaptive_forest::tests::arf_poisson_valid ... ok [INFO] [stdout] test ensemble::adaptive_forest::tests::arf_streaming_learner_trait ... ok [INFO] [stdout] test ensemble::adaptive_forest::tests::arf_trains_and_predicts ... ok [INFO] [stdout] test ensemble::adaptive_forest::tests::arf_majority_vote ... ok [INFO] [stdout] test ensemble::adaptive_forest::tests::arf_tree_accuracies ... ok [INFO] [stdout] test continual::continual_wrapper::tests::with_reset_on_drift_false_does_not_reset ... ok [INFO] [stdout] test ensemble::bagged::tests::creates_correct_number_of_bags ... ok [INFO] [stdout] test automl::factories::tests::kan_in_auto_tuner ... ok [INFO] [stdout] test ensemble::bagged::tests::poisson_never_negative ... ok [INFO] [stdout] test ensemble::bagged::tests::deterministic_with_same_seed ... ok [INFO] [stdout] test ensemble::bagged::tests::rejects_zero_bags ... ok [INFO] [stdout] test ensemble::bagged::tests::poisson_mean_approximately_one ... ok [INFO] [stdout] test ensemble::bagged::tests::single_bag_equals_single_sgbt ... ok [INFO] [stdout] test ensemble::bagged::tests::reset_clears_state ... ok [INFO] [stdout] test ensemble::bagged::tests::streaming_learner_trait_object ... ok [INFO] [stdout] test ensemble::bagged::tests::predict_averages_bags ... ok [INFO] [stdout] test automl::factories::tests::ttt_in_auto_tuner ... ok [INFO] [stdout] test ensemble::config::tests::adaptive_leaf_bound_serde_backward_compat ... ok [INFO] [stdout] test ensemble::config::tests::adaptive_mts_builder ... ok [INFO] [stdout] test ensemble::config::tests::adaptive_mts_default_is_none ... ok [INFO] [stdout] test ensemble::config::tests::adaptive_mts_rejects_nonpositive_k ... ok [INFO] [stdout] test ensemble::config::tests::adaptive_mts_rejects_small_base ... ok [INFO] [stdout] test ensemble::config::tests::adaptive_mts_serde_backward_compat ... ok [INFO] [stdout] test ensemble::config::tests::boundary_grace_period_one_accepted ... ok [INFO] [stdout] test ensemble::config::tests::boundary_n_bins_two_accepted ... ok [INFO] [stdout] test ensemble::config::tests::builder_adaptive_leaf_bound ... ok [INFO] [stdout] test ensemble::config::tests::builder_chain ... ok [INFO] [stdout] test ensemble::config::tests::config_clone_preserves_fields ... ok [INFO] [stdout] test ensemble::config::tests::created_detectors_are_functional ... ok [INFO] [stdout] test ensemble::config::tests::default_config_builds ... ok [INFO] [stdout] test ensemble::config::tests::default_config_values ... ok [INFO] [stdout] test ensemble::config::tests::default_drift_detector_is_page_hinkley ... ok [INFO] [stdout] test ensemble::config::tests::drift_detector_type_creates_adwin ... ok [INFO] [stdout] test ensemble::config::tests::drift_detector_type_creates_ddm ... ok [INFO] [stdout] test ensemble::config::tests::drift_detector_type_creates_page_hinkley ... ok [INFO] [stdout] test ensemble::config::tests::feature_names_accepted ... ok [INFO] [stdout] test ensemble::config::tests::feature_names_empty_vec_accepted ... ok [INFO] [stdout] test ensemble::config::tests::feature_names_rejects_duplicates ... ok [INFO] [stdout] test ensemble::config::tests::proactive_prune_default_is_none ... ok [INFO] [stdout] test ensemble::config::tests::proactive_prune_builder ... ok [INFO] [stdout] test ensemble::config::tests::feature_names_serde_backward_compat ... ok [INFO] [stdout] test ensemble::config::tests::proactive_prune_serde_backward_compat ... ok [INFO] [stdout] test ensemble::config::tests::proactive_prune_rejects_too_small ... ok [INFO] [stdout] test ensemble::config::tests::validation_accepts_standard_variant ... ok [INFO] [stdout] test ensemble::config::tests::valid_ddm_config_accepted ... ok [INFO] [stdout] test ensemble::config::tests::validation_rejects_adwin_delta_out_of_range ... ok [INFO] [stdout] test ensemble::config::tests::validation_accepts_learning_rate_one ... ok [INFO] [stdout] test ensemble::config::tests::validation_accepts_zero_lambda ... ok [INFO] [stdout] test ensemble::config::tests::validation_rejects_ddm_equal_levels ... ok [INFO] [stdout] test ensemble::config::tests::validation_rejects_ddm_warning_above_drift ... ok [INFO] [stdout] test ensemble::config::tests::validation_rejects_ddm_zero_min_instances ... ok [INFO] [stdout] test ensemble::config::tests::validation_rejects_ddm_zero_warning_level ... ok [INFO] [stdout] test ensemble::config::tests::validation_rejects_feature_subsample_above_one ... ok [INFO] [stdout] test ensemble::config::tests::validation_rejects_feature_subsample_zero ... ok [INFO] [stdout] test ensemble::config::tests::validation_rejects_grace_period_zero ... ok [INFO] [stdout] test ensemble::config::tests::validation_rejects_delta_zero ... ok [INFO] [stdout] test ensemble::config::tests::validation_rejects_delta_one ... ok [INFO] [stdout] test ensemble::config::tests::validation_rejects_learning_rate_zero ... ok [INFO] [stdout] test ensemble::config::tests::validation_rejects_mi_negative_multiplier ... ok [INFO] [stdout] test ensemble::config::tests::validation_rejects_mi_zero_multiplier ... ok [INFO] [stdout] test ensemble::config::tests::validation_rejects_n_bins_one ... ok [INFO] [stdout] test ensemble::config::tests::validation_rejects_learning_rate_above_one ... ok [INFO] [stdout] test ensemble::config::tests::validation_rejects_n_steps_zero ... ok [INFO] [stdout] test ensemble::config::tests::validation_rejects_negative_gamma ... ok [INFO] [stdout] test ensemble::config::tests::validation_rejects_max_depth_zero ... ok [INFO] [stdout] test ensemble::config::tests::validation_rejects_pht_negative_delta ... ok [INFO] [stdout] test ensemble::config::tests::validation_rejects_pht_zero_lambda ... ok [INFO] [stdout] test ensemble::config::tests::validation_rejects_negative_lambda ... ok [INFO] [stdout] test ensemble::config::tests::validation_rejects_negative_learning_rate ... ok [INFO] [stdout] test ensemble::config::tests::validation_rejects_skip_k_zero ... ok [INFO] [stdout] test ensemble::config::tests::validation_rejects_zero_adaptive_leaf_bound ... ok [INFO] [stdout] test ensemble::diagnostics::tests::diagnostics_display ... ok [INFO] [stdout] test ensemble::diagnostics::tests::distributional_diagnostics_basic ... ok [INFO] [stdout] test ensemble::diagnostics::tests::diagnostics_no_features ... ok [INFO] [stdout] test ensemble::bagged::tests::variance_reduction ... ok [INFO] [stdout] test ensemble::diagnostics::tests::tree_diagnostics_populated ... ok [INFO] [stdout] test automl::factories::tests::multi_factory_with_kan_ttt ... ok [INFO] [stdout] test ensemble::distributional::serde_tests::auto_bandwidth_computed_distributional ... ok [INFO] [stdout] test ensemble::distributional::serde_tests::huber_k_validation ... ok [INFO] [stdout] test ensemble::distributional::serde_tests::huber_k_bounds_gradients ... ok [INFO] [stdout] test ensemble::distributional::serde_tests::json_round_trip_preserves_predictions ... ok [INFO] [stdout] test ensemble::bagged::tests::convergence_on_linear_target ... ok [INFO] [stdout] test ensemble::distributional::serde_tests::max_leaf_output_clamps_predictions ... ok [INFO] [stdout] test ensemble::distributional::serde_tests::ensemble_gradient_stats_populated ... ok [INFO] [stdout] test ensemble::distributional::serde_tests::min_hessian_sum_suppresses_fresh_leaves ... ok [INFO] [stdout] test ensemble::distributional::serde_tests::max_leaf_output_validation ... ok [INFO] [stdout] test ensemble::diagnostics::tests::ensemble_diagnostics_basic ... ok [INFO] [stdout] test ensemble::distributional::serde_tests::predict_interpolated_returns_finite ... ok [INFO] [stdout] test ensemble::distributional::serde_tests::state_preserves_rolling_sigma_mean ... ok [INFO] [stdout] test ensemble::distributional::tests::debug_format_works ... ok [INFO] [stdout] test ensemble::distributional::tests::batch_prediction_matches_individual ... ok [INFO] [stdout] test ensemble::distributional::tests::diagnostic_signals_populated ... ok [INFO] [stdout] test ensemble::distributional::tests::constant_target_has_small_sigma ... ok [INFO] [stdout] test ensemble::distributional::tests::diagnostic_source_impl ... ok [INFO] [stdout] test ensemble::distributional::tests::diagnostics_leaf_sample_counts_populated ... ok [INFO] [stdout] test ensemble::distributional::tests::depth_sufficiency_positive ... ok [INFO] [stdout] test ensemble::diagnostics::tests::feature_importance_nonzero ... ok [INFO] [stdout] test ensemble::distributional::tests::adaptive_mts_with_distributional ... ok [INFO] [stdout] test ensemble::distributional::tests::diagnostics_base_predictions_match ... ok [INFO] [stdout] test ensemble::distributional::tests::diagnostics_leaf_weight_stats_finite ... ok [INFO] [stdout] test ensemble::distributional::tests::diagnostics_scale_trees_split_fields ... ok [INFO] [stdout] test ensemble::distributional::tests::empirical_sigma_default_mode ... ok [INFO] [stdout] test ensemble::distributional::tests::diagnostics_returns_correct_tree_count ... ok [INFO] [stdout] test ensemble::distributional::tests::effective_dof_positive ... ok [INFO] [stdout] test ensemble::distributional::tests::diagnostics_trees_have_leaves ... ok [INFO] [stdout] test ensemble::distributional::tests::empirical_sigma_modulated_lr_adapts ... ok [INFO] [stdout] test ensemble::distributional::tests::empirical_sigma_tracks_errors ... ok [INFO] [stdout] test ensemble::distributional::tests::fresh_model_predicts_zero ... ok [INFO] [stdout] test ensemble::distributional::tests::gaussian_prediction_lower_upper ... ok [INFO] [stdout] test ensemble::distributional::tests::honest_sigma_in_gaussian_prediction ... ok [INFO] [stdout] test ensemble::distributional::serde_tests::predict_sibling_interpolated_varies_with_features ... ok [INFO] [stdout] test ensemble::distributional::tests::honest_sigma_zero_for_single_step ... ok [INFO] [stdout] test ensemble::distributional::tests::n_trees_counts_both_ensembles ... ok [INFO] [stdout] test ensemble::distributional::tests::honest_sigma_increases_with_divergence ... ok [INFO] [stdout] test ensemble::distributional::tests::diagnostics_shows_empirical_sigma ... ok [INFO] [stdout] test ensemble::distributional::tests::modulated_model_sigma_finite_under_varying_noise ... ok [INFO] [stdout] test ensemble::distributional::tests::packed_cache_disabled_by_default ... ok [INFO] [stdout] test ensemble::distributional::tests::packed_cache_refreshes_after_interval ... ok [INFO] [stdout] test ensemble::distributional::tests::packed_cache_matches_full_tree ... ok [INFO] [stdout] test ensemble::distributional::tests::feature_importances_split_works ... ok [INFO] [stdout] test ensemble::distributional::tests::feature_importances_work ... ok [INFO] [stdout] test ensemble::distributional::tests::noisy_target_has_finite_predictions ... ok [INFO] [stdout] test ensemble::distributional::tests::predict_distributional_returns_sigma_ratio ... ok [INFO] [stdout] test ensemble::distributional::tests::predict_interval_bounds_correct ... ok [INFO] [stdout] test ensemble::distributional::tests::predict_distributional_without_modulation_returns_one ... ok [INFO] [stdout] test ensemble::distributional::tests::predict_decomposed_reconstructs_prediction ... ok [INFO] [stdout] test ensemble::distributional::tests::reset_clears_rolling_sigma_mean ... ok [INFO] [stdout] test ensemble::distributional::tests::reset_clears_empirical_sigma ... ok [INFO] [stdout] test ensemble::distributional::tests::reset_clears_state ... ok [INFO] [stdout] test ensemble::distributional::tests::predict_smooth_returns_finite ... ok [INFO] [stdout] test ensemble::distributional::tests::residual_alignment_range ... ok [INFO] [stdout] test ensemble::distributional::tests::sigma_always_positive ... ok [INFO] [stdout] test ensemble::distributional::tests::proactive_prune_with_distributional ... ok [INFO] [stdout] test ensemble::distributional::tests::sigma_velocity_getter_works ... ok [INFO] [stdout] test automl::auto_tuner::tests::effective_n_initial_resets ... ok [INFO] [stdout] test ensemble::distributional::tests::predict_decomposed_correct_lengths ... ok [INFO] [stdout] test ensemble::distributional::tests::train_batch_works ... ok [INFO] [stdout] test ensemble::distributional::tests::sigma_modulated_initializes_rolling_mean ... ok [INFO] [stdout] test ensemble::distributional::tests::streaming_learner_returns_mu ... ok [INFO] [stdout] test ensemble::lr_schedule::tests::test_cosine_annealing ... ok [INFO] [stdout] test ensemble::lr_schedule::tests::test_cosine_boundaries ... ok [INFO] [stdout] test ensemble::lr_schedule::tests::test_exponential_decay ... ok [INFO] [stdout] test ensemble::lr_schedule::tests::test_all_positive ... ok [INFO] [stdout] test ensemble::lr_schedule::tests::test_exponential_floor ... ok [INFO] [stdout] test ensemble::lr_schedule::tests::test_linear_decay ... ok [INFO] [stdout] test ensemble::distributional::tests::sigma_velocity_responds_to_error_spike ... ok [INFO] [stdout] test ensemble::lr_schedule::tests::test_constant_lr ... ok [INFO] [stdout] test ensemble::lr_schedule::tests::test_linear_decay_clamps ... ok [INFO] [stdout] test ensemble::lr_schedule::tests::test_plateau_improvement_resets ... ok [INFO] [stdout] test ensemble::lr_schedule::tests::test_plateau_reset ... ok [INFO] [stdout] test ensemble::lr_schedule::tests::test_plateau_reduces ... ok [INFO] [stdout] test ensemble::lr_schedule::tests::test_plateau_min_lr ... ok [INFO] [stdout] test ensemble::moe::tests::test_creation ... ok [INFO] [stdout] test ensemble::moe::tests::test_expert_predictions ... ok [INFO] [stdout] test ensemble::moe::tests::test_hard_gating_top_k ... ok [INFO] [stdout] test ensemble::moe::tests::test_batch_training ... ok [INFO] [stdout] test ensemble::moe::tests::test_n_experts ... ok [INFO] [stdout] test ensemble::moe::tests::test_predict_with_gating ... ok [INFO] [stdout] test ensemble::moe::tests::test_n_samples_seen ... ok [INFO] [stdout] test ensemble::moe::tests::test_gating_probabilities_sum_to_one ... ok [INFO] [stdout] test ensemble::moe::tests::test_prediction_changes_after_training ... ok [INFO] [stdout] test ensemble::moe::tests::test_single_expert ... ok [INFO] [stdout] test ensemble::moe::tests::streaming_learner_trait_object ... ok [INFO] [stdout] test ensemble::moe::tests::test_expert_specialization ... ok [INFO] [stdout] test ensemble::moe::tests::test_reset ... ok [INFO] [stdout] test ensemble::moe::tests::test_gate_lr_effect ... ok [INFO] [stdout] test ensemble::moe::tests::test_soft_gating_trains_all ... ok [INFO] [stdout] test ensemble::moe::tests::test_with_loss ... ok [INFO] [stdout] test ensemble::moe_distributional::tests::moe_expert_configs_shadow_respawn_correct ... ok [INFO] [stdout] test ensemble::moe_distributional::tests::moe_with_expert_configs_different_depths ... ok [INFO] [stdout] test ensemble::moe_distributional::tests::test_creation ... ok [INFO] [stdout] test ensemble::moe_distributional::tests::test_expert_predictions_count ... ok [INFO] [stdout] test ensemble::moe_distributional::tests::test_batch_training ... ok [INFO] [stdout] test ensemble::moe_distributional::tests::test_gating_probabilities_sum_to_one ... ok [INFO] [stdout] test ensemble::moe_distributional::tests::test_hard_gating_mode ... ok [INFO] [stdout] test ensemble::moe_distributional::tests::test_n_samples_seen_increments ... ok [INFO] [stdout] test ensemble::moe_distributional::tests::test_predict_mu_matches_predict ... ok [INFO] [stdout] test ensemble::moe_distributional::tests::test_predict_with_gating_consistency ... ok [INFO] [stdout] test ensemble::moe_distributional::tests::test_prediction_is_valid_gaussian ... ok [INFO] [stdout] test ensemble::moe_distributional::tests::test_reset_clears_state ... ok [INFO] [stdout] test ensemble::moe_distributional::tests::test_mixture_variance ... ok [INFO] [stdout] test ensemble::multi_target::tests::model_accessor_works ... ok [INFO] [stdout] test ensemble::multi_target::tests::new_multi_target_creates_models ... ok [INFO] [stdout] test ensemble::multi_target::tests::reset_clears_state ... ok [INFO] [stdout] test ensemble::multi_target::tests::single_target_works ... ok [INFO] [stdout] test ensemble::moe_distributional::tests::test_prediction_changes_after_training ... ok [INFO] [stdout] test ensemble::multi_target::tests::rejects_zero_targets ... ok [INFO] [stdout] test ensemble::moe_distributional::tests::test_streaming_learner_trait ... ok [INFO] [stdout] test ensemble::multiclass::tests::new_multiclass_creates_committees ... ok [INFO] [stdout] test ensemble::multiclass::tests::new_multiclass_rejects_less_than_two_classes ... ok [INFO] [stdout] test ensemble::multi_target::tests::train_and_predict ... ok [INFO] [stdout] test ensemble::multiclass::tests::predict_proba_uniform_before_training ... ok [INFO] [stdout] test ensemble::multi_target::tests::wrong_target_count_panics - should panic ... ok [INFO] [stdout] test ensemble::multiclass::tests::reset_clears_state ... ok [INFO] [stdout] test ensemble::distributional::tests::tree_chain_mode_trains_scale_trees ... ok [INFO] [stdout] test ensemble::multiclass::tests::predict_proba_sums_to_one ... ok [INFO] [stdout] test ensemble::parallel::tests::accessors_return_expected_values ... ok [INFO] [stdout] test ensemble::multiclass::tests::train_one_does_not_panic ... ok [INFO] [stdout] test ensemble::parallel::tests::debug_format_works ... ok [INFO] [stdout] test ensemble::parallel::tests::batch_prediction_matches_individual ... ok [INFO] [stdout] test ensemble::parallel::tests::base_prediction_initializes ... ok [INFO] [stdout] test ensemble::multi_target::tests::targets_are_independent ... ok [INFO] [stdout] test ensemble::parallel::tests::new_model_predicts_zero ... ok [INFO] [stdout] test ensemble::parallel::tests::mi_variant_works_with_parallel ... ok [INFO] [stdout] test ensemble::parallel::tests::predict_proba_equals_predict_transformed ... ok [INFO] [stdout] test ensemble::parallel::tests::reset_returns_to_initial ... ok [INFO] [stdout] test ensemble::parallel::tests::skip_variant_works_with_parallel ... ok [INFO] [stdout] test ensemble::parallel::tests::prediction_changes_after_training ... ok [INFO] [stdout] test ensemble::parallel::tests::feature_importances_normalized ... ok [INFO] [stdout] test ensemble::parallel::tests::train_batch_equivalent_to_sequential ... ok [INFO] [stdout] test ensemble::moe_distributional::tests::entropy_regularization_prevents_collapse ... ok [INFO] [stdout] test ensemble::parallel::tests::train_one_does_not_panic ... ok [INFO] [stdout] test ensemble::parallel::tests::with_loss_uses_custom_loss ... ok [INFO] [stdout] test ensemble::quantile_regressor::tests::pava_already_sorted ... ok [INFO] [stdout] test ensemble::quantile_regressor::tests::creates_correct_number_of_models ... ok [INFO] [stdout] test ensemble::quantile_regressor::tests::pava_empty ... ok [INFO] [stdout] test ensemble::quantile_regressor::tests::pava_equal_values ... ok [INFO] [stdout] test ensemble::quantile_regressor::tests::pava_reversed ... ok [INFO] [stdout] test ensemble::quantile_regressor::tests::pava_partial_violation ... ok [INFO] [stdout] test ensemble::quantile_regressor::tests::pava_single_element ... ok [INFO] [stdout] test ensemble::quantile_regressor::tests::pava_simple_violation ... ok [INFO] [stdout] test ensemble::quantile_regressor::tests::pava_two_elements_violation ... ok [INFO] [stdout] test ensemble::quantile_regressor::tests::deterministic_with_same_config ... ok [INFO] [stdout] test ensemble::quantile_regressor::tests::quantiles_are_sorted ... ok [INFO] [stdout] test ensemble::quantile_regressor::tests::batch_prediction ... ok [INFO] [stdout] test ensemble::quantile_regressor::tests::predict_interval_returns_triple ... ok [INFO] [stdout] test ensemble::quantile_regressor::tests::rejects_duplicate_quantiles ... ok [INFO] [stdout] test ensemble::quantile_regressor::tests::rejects_empty_quantiles ... ok [INFO] [stdout] test ensemble::quantile_regressor::tests::rejects_invalid_quantile_zero ... ok [INFO] [stdout] test ensemble::quantile_regressor::tests::rejects_invalid_quantile_one ... ok [INFO] [stdout] test ensemble::quantile_regressor::tests::single_quantile_works ... ok [INFO] [stdout] test ensemble::replacement::tests::debug_format_does_not_panic ... ok [INFO] [stdout] test ensemble::replacement::tests::drift_replaces_active_tree ... ok [INFO] [stdout] test ensemble::quantile_regressor::tests::reset_clears_state ... ok [INFO] [stdout] test ensemble::replacement::tests::graduated_blending_produces_intermediate_values ... ok [INFO] [stdout] test ensemble::quantile_regressor::tests::raw_predict_may_cross ... ok [INFO] [stdout] test ensemble::replacement::tests::graduated_no_cascading_swap ... ok [INFO] [stdout] test ensemble::replacement::tests::graduated_predict_returns_finite ... ok [INFO] [stdout] test ensemble::replacement::tests::graduated_reset_preserves_shadow ... ok [INFO] [stdout] test ensemble::replacement::tests::graduated_shadow_always_respawns ... ok [INFO] [stdout] test ensemble::replacement::tests::graduated_without_max_tree_samples_still_works ... ok [INFO] [stdout] test ensemble::replacement::tests::n_leaves_reflects_active_tree ... ok [INFO] [stdout] test ensemble::replacement::tests::graduated_shadow_spawns_immediately ... ok [INFO] [stdout] test ensemble::replacement::tests::predict_without_training ... ok [INFO] [stdout] test ensemble::replacement::tests::stable_stream_no_alternate ... ok [INFO] [stdout] test ensemble::replacement::tests::new_slot_predicts_zero ... ok [INFO] [stdout] test ensemble::replacement::tests::time_based_replacement_disabled ... ok [INFO] [stdout] test ensemble::replacement::tests::time_based_replacement_triggers ... ok [INFO] [stdout] test ensemble::replacement::tests::train_and_predict_returns_prediction ... ok [INFO] [stdout] test ensemble::replacement::tests::reset_returns_to_fresh_state ... ok [INFO] [stdout] test ensemble::stacked::tests::test_debug_impl ... ok [INFO] [stdout] test ensemble::stacked::tests::test_creation ... ok [INFO] [stdout] test ensemble::stacked::tests::test_n_samples_seen ... ok [INFO] [stdout] test ensemble::stacked::tests::test_base_predictions ... ok [INFO] [stdout] test ensemble::stacked::tests::test_heterogeneous_bases ... ok [INFO] [stdout] test ensemble::stacked::tests::test_passthrough ... ok [INFO] [stdout] test ensemble::stacked::tests::test_predict_batch ... ok [INFO] [stdout] test ensemble::stacked::tests::test_temporal_holdout ... ok [INFO] [stdout] test ensemble::stacked::tests::test_trait_object ... ok [INFO] [stdout] test ensemble::stacked::tests::test_reset ... ok [INFO] [stdout] test ensemble::stacked::tests::test_train_and_predict ... ok [INFO] [stdout] test ensemble::step::tests::accessors_match_slot ... ok [INFO] [stdout] test ensemble::step::tests::mixed_train_counts_accumulate_correctly ... ok [INFO] [stdout] test ensemble::step::tests::predict_only_on_fresh_step ... ok [INFO] [stdout] test ensemble::step::tests::reset_clears_state ... ok [INFO] [stdout] test ensemble::step::tests::debug_format_does_not_panic ... ok [INFO] [stdout] test ensemble::step::tests::train_count_three_trains_multiple_times ... ok [INFO] [stdout] test ensemble::step::tests::train_count_zero_skips_training ... ok [INFO] [stdout] test ensemble::step::tests::train_count_one_trains_once ... ok [INFO] [stdout] test ensemble::quantile_regressor::tests::predictions_are_non_crossing ... ok [INFO] [stdout] test ensemble::tests::auto_bandwidth_computed_after_training ... ok [INFO] [stdout] test ensemble::tests::base_prediction_initializes ... ok [INFO] [stdout] test ensemble::tests::ewma_config_propagates_and_trains ... ok [INFO] [stdout] test ensemble::parallel::tests::linear_signal_rmse_improves ... ok [INFO] [stdout] test ensemble::tests::gradient_clip_sigma_negative_rejected ... ok [INFO] [stdout] test ensemble::tests::gradient_clip_config_builder ... ok [INFO] [stdout] test ensemble::tests::gradient_clipping_reduces_outlier_impact ... ok [INFO] [stdout] test ensemble::multi_target::tests::convergence_on_linear_signal ... ok [INFO] [stdout] test ensemble::tests::adaptive_mts_base_sgbt ... ok [INFO] [stdout] test ensemble::tests::clone_produces_independent_copy ... ok [INFO] [stdout] test ensemble::tests::linear_leaves_prediction_finite ... ok [INFO] [stdout] test ensemble::tests::linear_leaves_trains_without_panic ... ok [INFO] [stdout] test ensemble::tests::loss_accessor_works ... ok [INFO] [stdout] test ensemble::tests::linear_leaves_better_than_constant_at_low_depth ... ok [INFO] [stdout] test ensemble::tests::monotone_constraints_config_builder ... ok [INFO] [stdout] test ensemble::tests::monotone_constraints_invalid_value_rejected ... ok [INFO] [stdout] test ensemble::tests::new_model_predicts_zero ... ok [INFO] [stdout] test ensemble::tests::max_tree_samples_config_propagates ... ok [INFO] [stdout] test ensemble::tests::predict_graduated_returns_finite ... ok [INFO] [stdout] test ensemble::quantile_regressor::tests::higher_quantile_predicts_higher_after_training ... ok [INFO] [stdout] test ensemble::tests::linear_leaves_with_decay_trains_without_panic ... ok [INFO] [stdout] test ensemble::tests::predict_interpolated_returns_finite ... ok [INFO] [stdout] test ensemble::tests::predict_with_confidence_finite ... ok [INFO] [stdout] test ensemble::tests::predict_smooth_returns_finite ... ok [INFO] [stdout] test ensemble::tests::predict_with_confidence_matches_predict ... ok [INFO] [stdout] test ensemble::tests::adaptive_leaves_trains_without_panic ... ok [INFO] [stdout] test ensemble::tests::predict_with_confidence_positive_after_training ... ok [INFO] [stdout] test ensemble::tests::prediction_changes_after_training ... ok [INFO] [stdout] test ensemble::tests::predict_smooth_converges_to_hard_at_small_bandwidth ... ok [INFO] [stdout] test ensemble::tests::reset_returns_to_initial ... ok [INFO] [stdout] test ensemble::tests::linear_leaves_learns_linear_target ... ok [INFO] [stdout] test ensemble::tests::sgbt_depth_sufficiency_positive ... ok [INFO] [stdout] test ensemble::tests::sgbt_diagnostic_signals_populated ... ok [INFO] [stdout] test ensemble::tests::proactive_prune_base_sgbt ... ok [INFO] [stdout] test ensemble::tests::shadow_warmup_validation ... ok [INFO] [stdout] test ensemble::tests::train_batch_equivalent_to_sequential ... ok [INFO] [stdout] test ensemble::tests::train_batch_subsampled_full_equals_batch ... ok [INFO] [stdout] test ensemble::tests::train_batch_subsampled_trains_subset ... ok [INFO] [stdout] test ensemble::tests::train_batch_subsampled_with_callback_works ... ok [INFO] [stdout] test ensemble::tests::train_batch_with_callback_fires ... ok [INFO] [stdout] test ensemble::tests::sgbt_residual_alignment_range ... ok [INFO] [stdout] test ensemble::tests::sgbt_effective_dof_positive ... ok [INFO] [stdout] test ensemble::tests::with_loss_uses_custom_loss ... ok [INFO] [stdout] test ensemble::variants::tests::clone_preserves_data ... ok [INFO] [stdout] test ensemble::tests::train_one_does_not_panic ... ok [INFO] [stdout] test ensemble::variants::tests::default_is_standard ... ok [INFO] [stdout] test ensemble::variants::tests::mi_always_at_least_one ... ok [INFO] [stdout] test ensemble::variants::tests::mi_hessian_half_multiplier_ten ... ok [INFO] [stdout] test ensemble::variants::tests::mi_large_hessian ... ok [INFO] [stdout] test ensemble::variants::tests::mi_negative_hessian_uses_abs ... ok [INFO] [stdout] test ensemble::variants::tests::partial_eq ... ok [INFO] [stdout] test ensemble::variants::tests::skip_is_non_degenerate ... ok [INFO] [stdout] test ensemble::variants::tests::skip_k_one_always_skips ... ok [INFO] [stdout] test ensemble::variants::tests::skip_skips_roughly_one_in_k ... ok [INFO] [stdout] test ensemble::variants::tests::standard_always_one ... ok [INFO] [stdout] test evaluation::prequential::tests::basic_prequential_evaluation ... ok [INFO] [stdout] test evaluation::prequential::tests::default_evaluator_is_new ... ok [INFO] [stdout] test evaluation::prequential::tests::evaluate_over_observations ... ok [INFO] [stdout] test evaluation::prequential::tests::ewma_tracks_metrics ... ok [INFO] [stdout] test evaluation::prequential::tests::no_rolling_or_ewma_by_default ... ok [INFO] [stdout] test evaluation::prequential::tests::reset_clears_all_state ... ok [INFO] [stdout] test evaluation::prequential::tests::rolling_window_tracks_metrics ... ok [INFO] [stdout] test evaluation::prequential::tests::step_interval_evaluates_periodically ... ok [INFO] [stdout] test evaluation::prequential::tests::step_returns_prediction ... ok [INFO] [stdout] test evaluation::prequential::tests::warmup_and_step_interval_combined ... ok [INFO] [stdout] test evaluation::prequential::tests::warmup_skips_early_evaluation ... ok [INFO] [stdout] test evaluation::progressive::tests::evaluate_over_observations ... ok [INFO] [stdout] test evaluation::progressive::tests::holdout_fraction_zero_means_all_train ... ok [INFO] [stdout] test evaluation::progressive::tests::holdout_none_trains_on_everything ... ok [INFO] [stdout] test evaluation::progressive::tests::holdout_periodic_holds_out_every_nth ... ok [INFO] [stdout] test evaluation::prequential::tests::zero_step_interval_panics - should panic ... ok [INFO] [stdout] test evaluation::progressive::tests::holdout_fraction_one_means_none_train ... ok [INFO] [stdout] test evaluation::progressive::tests::holdout_random_approximates_target_fraction ... ok [INFO] [stdout] test evaluation::progressive::tests::holdout_random_deterministic_with_same_seed ... ok [INFO] [stdout] test evaluation::progressive::tests::metrics_always_recorded_even_for_holdout ... ok [INFO] [stdout] test evaluation::progressive::tests::periodic_zero_period_panics - should panic ... ok [INFO] [stdout] test ensemble::tests::split_reeval_config_propagates ... ok [INFO] [stdout] test evaluation::progressive::tests::random_invalid_fraction_panics - should panic ... ok [INFO] [stdout] test evaluation::progressive::tests::random_zero_seed_panics - should panic ... ok [INFO] [stdout] test ensemble::tests::sgbt_contribution_sigma_exposed ... ok [INFO] [stdout] test evaluation::progressive::tests::reset_restores_prng_seed ... ok [INFO] [stdout] test evaluation::progressive::tests::step_returns_prediction ... ok [INFO] [stdout] test evaluation::progressive::tests::reset_clears_all_state ... ok [INFO] [stdout] test ensemble::tests::linear_signal_rmse_improves ... ok [INFO] [stdout] test explain::importance_drift::tests::handles_fewer_shap_values_than_features ... ok [INFO] [stdout] test explain::importance_drift::tests::feature_means_reports ... ok [INFO] [stdout] test explain::importance_drift::tests::reset_clears_state ... ok [INFO] [stdout] test explain::importance_drift::tests::sample_rate_skips ... ok [INFO] [stdout] test explain::importance_drift::tests::shifted_shap_detects_drift ... ok [INFO] [stdout] test explain::importance_drift::tests::stable_shap_no_drift ... ok [INFO] [stdout] test explain::streaming::tests::streaming_shap_basic ... ok [INFO] [stdout] test explain::streaming::tests::streaming_shap_reset ... ok [INFO] [stdout] test explain::importance_drift::tests::zero_features_panics - should panic ... ok [INFO] [stdout] test explain::treeshap::tests::empty_tree_returns_zeros ... ok [INFO] [stdout] test explain::importance_drift::tests::zero_sample_rate_panics - should panic ... ok [INFO] [stdout] test explain::treeshap::tests::shap_invariant_right_path ... ok [INFO] [stdout] test explain::treeshap::tests::single_leaf_tree_all_shap_zero ... ok [INFO] [stdout] test explain::treeshap::tests::two_level_tree_shap_invariant ... ok [INFO] [stdout] test explain::treeshap::tests::ensemble_shap_integration ... ok [INFO] [stdout] test export_embedded::tests::binary_size_is_compact ... ok [INFO] [stdout] test export_embedded::tests::export_i16_preserves_base_prediction ... ok [INFO] [stdout] test export_embedded::tests::export_i16_predictions_within_tolerance ... ok [INFO] [stdout] test export_embedded::tests::export_distributional_packed_roundtrip ... ok [INFO] [stdout] test export_embedded::tests::export_i16_single_tree_roundtrip ... ok [INFO] [stdout] test export_embedded::tests::export_i16_untrained_model ... ok [INFO] [stdout] test export_embedded::tests::export_predictions_match_within_tolerance ... ok [INFO] [stdout] test export_embedded::tests::export_i16_produces_valid_binary ... ok [INFO] [stdout] test export_embedded::tests::export_preserves_base_prediction ... ok [INFO] [stdout] test export_embedded::tests::export_untrained_model ... ok [INFO] [stdout] test export_embedded::tests::roundtrip_single_tree ... ok [INFO] [stdout] test kan::bspline::tests::basis_boundary_safety ... ok [INFO] [stdout] test export_embedded::tests::export_produces_valid_binary ... ok [INFO] [stdout] test kan::bspline::tests::basis_non_negative ... ok [INFO] [stdout] test kan::bspline::tests::basis_partition_of_unity ... ok [INFO] [stdout] test kan::bspline::tests::derivatives_finite ... ok [INFO] [stdout] test kan::layer::tests::backward_sparse ... ok [INFO] [stdout] test kan::layer::tests::backward_updates_coefficients ... ok [INFO] [stdout] test kan::layer::tests::forward_dimensions ... ok [INFO] [stdout] test ensemble::tests::predict_sibling_interpolated_varies_with_features ... ok [INFO] [stdout] test kan::bspline::tests::grid_construction ... ok [INFO] [stdout] test kan::layer::tests::forward_finite ... ok [INFO] [stdout] test kan::layer::tests::n_params_formula ... ok [INFO] [stdout] test kan::tests::coefficient_decay_builder_sets_value ... ok [INFO] [stdout] test kan::tests::config_builder_custom ... ok [INFO] [stdout] test kan::tests::config_builder_default ... ok [INFO] [stdout] test kan::tests::config_clone ... ok [INFO] [stdout] test kan::tests::config_display ... ok [INFO] [stdout] test kan::tests::config_rejects_non_unit_output ... ok [INFO] [stdout] test kan::tests::config_rejects_zero_grid_size ... ok [INFO] [stdout] test kan::tests::config_rejects_zero_size ... ok [INFO] [stdout] test kan::tests::config_rejects_single_layer ... ok [INFO] [stdout] test kan::tests::config_rejects_zero_spline_order ... ok [INFO] [stdout] test kan::tests::implements_streaming_learner ... ok [INFO] [stdout] test kan::tests::coefficient_decay_zero_preserves_behavior ... ok [INFO] [stdout] test kan::tests::n_params_positive ... ok [INFO] [stdout] test kan::tests::n_samples_tracks ... ok [INFO] [stdout] test kan::tests::new_creates_model ... ok [INFO] [stdout] test kan::tests::predict_before_train_returns_zero ... ok [INFO] [stdout] test kan::tests::reset_clears_state ... ok [INFO] [stdout] test kan::layer::tests::learning_y_equals_x_squared ... ok [INFO] [stdout] test learner::tests::test_clone ... ok [INFO] [stdout] test learner::tests::test_inner_access ... ok [INFO] [stdout] test learner::tests::test_predict_batch ... ok [INFO] [stdout] test learner::tests::test_reset ... ok [INFO] [stdout] test learner::tests::test_sgbt_learner_creation ... ok [INFO] [stdout] test kan::tests::train_and_predict_finite ... ok [INFO] [stdout] test learner::tests::test_trait_object_safety ... ok [INFO] [stdout] test kan::tests::kan_uncertainty_modulated_lr ... ok [INFO] [stdout] test learner::tests::test_train_and_predict ... ok [INFO] [stdout] test learners::krls::tests::construction_and_initial_state ... ok [INFO] [stdout] test learners::krls::tests::debug_format_works ... ok [INFO] [stdout] test learners::krls::tests::dictionary_respects_budget ... ok [INFO] [stdout] test automl::auto_tuner::tests::snapshot_after_training ... ok [INFO] [stdout] test kan::tests::multi_layer_kan ... ok [INFO] [stdout] test learners::krls::tests::ald_sparsifies_dictionary ... ok [INFO] [stdout] test learners::krls::tests::reset_clears_all_state ... ok [INFO] [stdout] test learners::krls::tests::trait_object_works ... ok [INFO] [stdout] test learners::linear::tests::test_creation ... ok [INFO] [stdout] test kan::tests::kan_learns_nonlinear ... ok [INFO] [stdout] test learners::linear::tests::test_elastic_net ... ok [INFO] [stdout] test learners::linear::tests::test_lazy_init ... ok [INFO] [stdout] test learners::linear::tests::test_no_regularization ... ok [INFO] [stdout] test learners::linear::tests::test_lasso ... ok [INFO] [stdout] test learners::linear::tests::test_predict_batch ... ok [INFO] [stdout] test learners::linear::tests::test_reset ... ok [INFO] [stdout] test learners::linear::tests::test_trait_object ... ok [INFO] [stdout] test learners::linear::tests::test_weighted_samples ... ok [INFO] [stdout] test learners::linear::tests::test_ridge ... ok [INFO] [stdout] test learners::mondrian::tests::test_clone ... ok [INFO] [stdout] test learners::mondrian::tests::test_creation ... ok [INFO] [stdout] test learners::mondrian::tests::test_default_config ... ok [INFO] [stdout] test learners::mondrian::tests::test_convergence ... ok [INFO] [stdout] test learners::krls::tests::forgetting_adapts_to_shift ... ok [INFO] [stdout] test learners::mondrian::tests::test_different_regions ... ok [INFO] [stdout] test learners::mondrian::tests::test_n_samples_seen ... ok [INFO] [stdout] test learners::mondrian::tests::test_predict_batch ... ok [INFO] [stdout] test learners::mondrian::tests::test_multiple_samples ... ok [INFO] [stdout] test learners::mondrian::tests::test_multi_tree ... ok [INFO] [stdout] test learners::mondrian::tests::test_reset ... ok [INFO] [stdout] test learners::mondrian::tests::test_single_sample ... ok [INFO] [stdout] test learners::mondrian::tests::test_trait_object ... ok [INFO] [stdout] test learners::multinomial_bernoulli_nb::tests::bernoulli_models_absence ... ok [INFO] [stdout] test learners::multinomial_bernoulli_nb::tests::bernoulli_predict_proba_sums_to_one ... ok [INFO] [stdout] test learners::multinomial_bernoulli_nb::tests::bernoulli_predict_simple ... ok [INFO] [stdout] test learners::multinomial_bernoulli_nb::tests::bernoulli_reset ... ok [INFO] [stdout] test learners::multinomial_bernoulli_nb::tests::bernoulli_streaming_learner_trait ... ok [INFO] [stdout] test learners::multinomial_bernoulli_nb::tests::bernoulli_threshold_binarization ... ok [INFO] [stdout] test learners::multinomial_bernoulli_nb::tests::multinomial_auto_discovers_classes ... ok [INFO] [stdout] test learners::multinomial_bernoulli_nb::tests::multinomial_predict_proba_sums_to_one ... ok [INFO] [stdout] test learners::multinomial_bernoulli_nb::tests::multinomial_predict_simple ... ok [INFO] [stdout] test learners::multinomial_bernoulli_nb::tests::multinomial_reset ... ok [INFO] [stdout] test learners::multinomial_bernoulli_nb::tests::multinomial_smoothing_prevents_zero_prob ... ok [INFO] [stdout] test learners::multinomial_bernoulli_nb::tests::multinomial_streaming_learner_trait ... ok [INFO] [stdout] test learners::naive_bayes::tests::test_class_prior ... ok [INFO] [stdout] test learners::naive_bayes::tests::test_clone_independence ... ok [INFO] [stdout] test learners::naive_bayes::tests::test_creation ... ok [INFO] [stdout] test learners::naive_bayes::tests::test_debug_format ... ok [INFO] [stdout] test learners::naive_bayes::tests::test_incremental_update ... ok [INFO] [stdout] test learners::naive_bayes::tests::test_predict_batch ... ok [INFO] [stdout] test learners::naive_bayes::tests::test_predict_proba ... ok [INFO] [stdout] test learners::naive_bayes::tests::test_reset ... ok [INFO] [stdout] test learners::naive_bayes::tests::test_three_class ... ok [INFO] [stdout] test learners::naive_bayes::tests::test_trait_object ... ok [INFO] [stdout] test learners::naive_bayes::tests::test_two_class ... ok [INFO] [stdout] test learners::naive_bayes::tests::test_weighted_samples ... ok [INFO] [stdout] test learners::rls::tests::adaptive_ff_drops_on_sudden_shift ... ok [INFO] [stdout] test learners::rls::tests::confidence_intervals_narrow_with_data ... ok [INFO] [stdout] test learners::rls::tests::fixed_forgetting_does_not_adapt ... ok [INFO] [stdout] test learners::rls::tests::adaptive_ff_stable_data_stays_near_base ... ok [INFO] [stdout] test learners::rls::tests::noise_variance_reflects_residuals ... ok [INFO] [stdout] test learners::rls::tests::adaptive_ff_recovers_after_shift ... ok [INFO] [stdout] test learners::rls::tests::predict_interval_z_scaling ... ok [INFO] [stdout] test learners::rls::tests::prediction_bounds_are_finite ... ok [INFO] [stdout] test learners::rls::tests::test_lwr_buffer_capacity ... ok [INFO] [stdout] test learners::rls::tests::test_lwr_constant ... ok [INFO] [stdout] test learners::rls::tests::test_lwr_creation ... ok [INFO] [stdout] test learners::rls::tests::test_lwr_local ... ok [INFO] [stdout] test learners::rls::tests::test_lwr_reset ... ok [INFO] [stdout] test learners::rls::tests::test_lwr_trait_object ... ok [INFO] [stdout] test learners::rls::tests::test_poly_expansion ... ok [INFO] [stdout] test learners::rls::tests::test_poly_reset ... ok [INFO] [stdout] test learners::rls::tests::test_rls_creation ... ok [INFO] [stdout] test learners::rls::tests::test_poly_quadratic ... ok [INFO] [stdout] test learners::rls::tests::test_rls_reset ... ok [INFO] [stdout] test learners::rls::tests::test_rls_multivariate ... ok [INFO] [stdout] test learners::rls::tests::test_rls_trait_object ... ok [INFO] [stdout] test learners::rls::tests::test_rls_forgetting ... ok [INFO] [stdout] test learners::rls::tests::test_rls_simple_linear ... ok [INFO] [stdout] test loss::expectile::tests::test_gradient_asymmetric ... ok [INFO] [stdout] test loss::expectile::tests::test_gradient_is_derivative_of_loss ... ok [INFO] [stdout] test loss::expectile::tests::test_gradient_symmetric_at_half ... ok [INFO] [stdout] test loss::expectile::tests::test_initial_prediction_empty ... ok [INFO] [stdout] test loss::expectile::tests::test_initial_prediction_is_mean ... ok [INFO] [stdout] test loss::expectile::tests::test_hessian_positive_definite ... ok [INFO] [stdout] test loss::expectile::tests::test_invalid_tau_zero - should panic ... ok [INFO] [stdout] test loss::expectile::tests::test_loss_type_returns_some ... ok [INFO] [stdout] test loss::expectile::tests::test_invalid_tau_one - should panic ... ok [INFO] [stdout] test loss::expectile::tests::test_loss_value ... ok [INFO] [stdout] test loss::expectile::tests::test_n_outputs ... ok [INFO] [stdout] test loss::huber::tests::test_custom_delta ... ok [INFO] [stdout] test loss::huber::tests::test_default_delta ... ok [INFO] [stdout] test loss::expectile::tests::test_predict_transform_is_identity ... ok [INFO] [stdout] test loss::huber::tests::test_gradient_is_derivative_of_loss_quadratic ... ok [INFO] [stdout] test learners::krls::tests::linear_kernel_matches_linear ... ok [INFO] [stdout] test loss::huber::tests::test_gradient_linear_region ... ok [INFO] [stdout] test loss::huber::tests::test_gradient_is_derivative_of_loss_linear ... ok [INFO] [stdout] test loss::huber::tests::test_gradient_at_boundary ... ok [INFO] [stdout] test loss::huber::tests::test_hessian_linear_region ... ok [INFO] [stdout] test loss::huber::tests::test_hessian_quadratic_region ... ok [INFO] [stdout] test loss::huber::tests::test_gradient_quadratic_region ... ok [INFO] [stdout] test loss::huber::tests::test_huber_with_large_delta_matches_squared ... ok [INFO] [stdout] test loss::huber::tests::test_initial_prediction_empty ... ok [INFO] [stdout] test loss::huber::tests::test_initial_prediction_median_even ... ok [INFO] [stdout] test loss::huber::tests::test_initial_prediction_median_odd ... ok [INFO] [stdout] test loss::huber::tests::test_initial_prediction_single ... ok [INFO] [stdout] test loss::huber::tests::test_loss_continuity_at_boundary ... ok [INFO] [stdout] test loss::huber::tests::test_loss_linear_region ... ok [INFO] [stdout] test loss::huber::tests::test_predict_transform_is_identity ... ok [INFO] [stdout] test loss::logistic::tests::test_gradient_perfect_prediction ... ok [INFO] [stdout] test loss::logistic::tests::test_gradient_is_derivative_of_loss ... ok [INFO] [stdout] test loss::huber::tests::test_n_outputs ... ok [INFO] [stdout] test loss::huber::tests::test_loss_quadratic_region ... ok [INFO] [stdout] test loss::logistic::tests::test_gradient_target_1_pred_0 ... ok [INFO] [stdout] test loss::logistic::tests::test_gradient_target_0_pred_0 ... ok [INFO] [stdout] test loss::logistic::tests::test_hessian_positive ... ok [INFO] [stdout] test loss::logistic::tests::test_hessian_max_at_pred_zero ... ok [INFO] [stdout] test loss::logistic::tests::test_initial_prediction_balanced ... ok [INFO] [stdout] test loss::logistic::tests::test_initial_prediction_empty ... ok [INFO] [stdout] test loss::logistic::tests::test_n_outputs ... ok [INFO] [stdout] test loss::logistic::tests::test_loss_value ... ok [INFO] [stdout] test loss::logistic::tests::test_initial_prediction_skewed ... ok [INFO] [stdout] test loss::logistic::tests::test_predict_transform_is_sigmoid ... ok [INFO] [stdout] test loss::quantile::tests::test_gradient_at_exact ... ok [INFO] [stdout] test loss::quantile::tests::test_gradient_is_subderivative_of_loss ... ok [INFO] [stdout] test loss::quantile::tests::test_initial_prediction_empty ... ok [INFO] [stdout] test loss::quantile::tests::test_hessian_is_one ... ok [INFO] [stdout] test loss::quantile::tests::test_gradient_over_predict ... ok [INFO] [stdout] test loss::quantile::tests::test_initial_prediction_is_quantile ... ok [INFO] [stdout] test loss::quantile::tests::test_loss_pinball ... ok [INFO] [stdout] test loss::quantile::tests::test_gradient_under_predict ... ok [INFO] [stdout] test loss::quantile::tests::test_median_loss_is_half_mae ... ok [INFO] [stdout] test loss::quantile::tests::test_n_outputs ... ok [INFO] [stdout] test loss::quantile::tests::test_predict_transform_is_identity ... ok [INFO] [stdout] test loss::softmax::tests::test_gradient_confident_correct ... ok [INFO] [stdout] test loss::quantile::tests::test_loss_type_returns_some ... ok [INFO] [stdout] test loss::quantile::tests::test_invalid_tau_zero - should panic ... ok [INFO] [stdout] test loss::softmax::tests::test_gradient_is_derivative_of_loss ... ok [INFO] [stdout] test loss::softmax::tests::test_gradient_wrong_class ... ok [INFO] [stdout] test loss::quantile::tests::test_invalid_tau_one - should panic ... ok [INFO] [stdout] test loss::softmax::tests::test_hessian_max_at_zero ... ok [INFO] [stdout] test loss::softmax::tests::test_hessian_positive ... ok [INFO] [stdout] test loss::softmax::tests::test_gradient_correct_class ... ok [INFO] [stdout] test loss::softmax::tests::test_loss_decreases_with_correct_prediction ... ok [INFO] [stdout] test loss::softmax::tests::test_n_outputs_binary ... ok [INFO] [stdout] test loss::softmax::tests::test_predict_transform_is_sigmoid ... ok [INFO] [stdout] test loss::squared::tests::test_gradient_at_known_points ... ok [INFO] [stdout] test loss::softmax::tests::test_loss_value_at_zero ... ok [INFO] [stdout] test loss::softmax::tests::test_n_outputs ... ok [INFO] [stdout] test loss::softmax::tests::test_initial_prediction_is_zero ... ok [INFO] [stdout] test loss::squared::tests::test_initial_prediction_empty ... ok [INFO] [stdout] test loss::squared::tests::test_initial_prediction_is_mean ... ok [INFO] [stdout] test loss::squared::tests::test_gradient_is_derivative_of_loss ... ok [INFO] [stdout] test loss::squared::tests::test_hessian_is_constant ... ok [INFO] [stdout] test loss::squared::tests::test_n_outputs ... ok [INFO] [stdout] test loss::squared::tests::test_predict_transform_is_identity ... ok [INFO] [stdout] test loss::squared::tests::test_loss_value ... ok [INFO] [stdout] test metrics::auc::tests::is_full_transitions ... ok [INFO] [stdout] test metrics::auc::tests::all_positive_returns_none ... ok [INFO] [stdout] test metrics::auc::tests::all_negative_returns_none ... ok [INFO] [stdout] test metrics::auc::tests::empty_buffer_returns_none ... ok [INFO] [stdout] test metrics::auc::tests::n_samples_tracks_total_including_evicted ... ok [INFO] [stdout] test metrics::auc::tests::perfectly_wrong_classifier_auc_is_zero ... ok [INFO] [stdout] test metrics::auc::tests::known_small_example_exact_auc ... ok [INFO] [stdout] test metrics::auc::tests::positive_negative_counts ... ok [INFO] [stdout] test metrics::auc::tests::reset_clears_everything ... ok [INFO] [stdout] test metrics::auc::tests::ties_handled_correctly ... ok [INFO] [stdout] test metrics::auc::tests::single_sample_returns_none ... ok [INFO] [stdout] test metrics::auc::tests::perfect_classifier_auc_is_one ... ok [INFO] [stdout] test metrics::auc::tests::ties_mixed_with_clear_pairs ... ok [INFO] [stdout] test metrics::auc::tests::random_classifier_auc_near_half ... ok [INFO] [stdout] test metrics::auc::tests::window_eviction_updates_class_counts ... ok [INFO] [stdout] test metrics::classification::tests::default_is_empty ... ok [INFO] [stdout] test metrics::classification::tests::empty_state_returns_zeros ... ok [INFO] [stdout] test kan::tests::coefficient_decay_shrinks_coefficients ... ok [INFO] [stdout] test metrics::auc::tests::window_size_accessor ... ok [INFO] [stdout] test metrics::auc::tests::zero_window_panics - should panic ... ok [INFO] [stdout] test metrics::classification::tests::fifty_percent_accuracy ... ok [INFO] [stdout] test metrics::classification::tests::f1_zero_when_no_predictions ... ok [INFO] [stdout] test metrics::auc::tests::window_eviction_drops_old_samples ... ok [INFO] [stdout] test metrics::classification::tests::log_loss_asymmetric ... ok [INFO] [stdout] test metrics::classification::tests::f1_mixed_case ... ok [INFO] [stdout] test metrics::classification::tests::log_loss_clips_extreme_probabilities ... ok [INFO] [stdout] test metrics::classification::tests::log_loss_near_perfect_predictions ... ok [INFO] [stdout] test metrics::classification::tests::log_loss_random_predictions ... ok [INFO] [stdout] test metrics::classification::tests::perfect_accuracy ... ok [INFO] [stdout] test metrics::classification::tests::precision_all_false_positives ... ok [INFO] [stdout] test metrics::classification::tests::recall_all_positives_detected ... ok [INFO] [stdout] test metrics::classification::tests::precision_all_true_positives ... ok [INFO] [stdout] test metrics::classification::tests::recall_no_positives_detected ... ok [INFO] [stdout] test metrics::classification::tests::reset_clears_state ... ok [INFO] [stdout] test metrics::conformal::tests::aci_clamp_upper ... ok [INFO] [stdout] test metrics::conformal::tests::aci_clamp_lower ... ok [INFO] [stdout] test metrics::conformal::tests::aci_effective_quantiles ... ok [INFO] [stdout] test metrics::conformal::tests::aci_no_coverage ... ok [INFO] [stdout] test metrics::conformal::tests::aci_perfect_coverage ... ok [INFO] [stdout] test metrics::conformal::tests::aci_reset ... ok [INFO] [stdout] test metrics::conformal::tests::decaying_beta_zero_equals_fixed ... ok [INFO] [stdout] test metrics::conformal::tests::aci_converges_to_target ... ok [INFO] [stdout] test metrics::conformal::tests::decaying_step_has_smaller_updates_over_time ... ok [INFO] [stdout] test metrics::conformal_pid::tests::coverage_converges_to_target ... ok [INFO] [stdout] test metrics::conformal_pid::tests::pid_tighter_than_constant_threshold ... ok [INFO] [stdout] test metrics::conformal_pid::tests::n_updates_tracks_correctly ... ok [INFO] [stdout] test metrics::conformal_pid::tests::reset_clears_state ... ok [INFO] [stdout] test metrics::conformal_pid::tests::score_derivative_term_reacts_to_changes ... ok [INFO] [stdout] test metrics::conformal_pid::tests::saturate_prevents_runaway ... ok [INFO] [stdout] test metrics::conformal::tests::aci_invalid_alpha - should panic ... ok [INFO] [stdout] test metrics::conformal::tests::fixed_schedule_unchanged ... ok [INFO] [stdout] test metrics::conformal::tests::aci_invalid_gamma - should panic ... ok [INFO] [stdout] test metrics::ewma::tests::ewma_alpha_getter ... ok [INFO] [stdout] test metrics::ewma::tests::ewma_cls_all_correct ... ok [INFO] [stdout] test metrics::ewma::tests::ewma_cls_accuracy_decays ... ok [INFO] [stdout] test metrics::ewma::tests::ewma_reg_decay ... ok [INFO] [stdout] test metrics::ewma::tests::ewma_reg_r_squared_perfect ... ok [INFO] [stdout] test metrics::ewma::tests::ewma_reg_initial ... ok [INFO] [stdout] test metrics::ewma::tests::ewma_cls_log_loss_near_perfect ... ok [INFO] [stdout] test metrics::ewma::tests::ewma_cls_reset ... ok [INFO] [stdout] test metrics::ewma::tests::ewma_cls_zero_span - should panic ... ok [INFO] [stdout] test metrics::ewma::tests::ewma_reg_span_controls_rate ... ok [INFO] [stdout] test metrics::importance::tests::multiple_updates_accumulate ... ok [INFO] [stdout] test metrics::ewma::tests::ewma_reg_reset ... ok [INFO] [stdout] test metrics::importance::tests::normalized_zero_total_returns_zeros ... ok [INFO] [stdout] test metrics::importance::tests::reset_clears_all_gains ... ok [INFO] [stdout] test metrics::importance::tests::empty_state ... ok [INFO] [stdout] test metrics::importance::tests::single_update ... ok [INFO] [stdout] test metrics::importance::tests::top_k_empty_gains ... ok [INFO] [stdout] test kan::tests::adaptive_coefficient_decay_varies_with_error ... ok [INFO] [stdout] test metrics::importance::tests::top_k_exceeds_n_features ... ok [INFO] [stdout] test metrics::importance::tests::top_k_ordering ... ok [INFO] [stdout] test metrics::importance::tests::top_k_zero_k ... ok [INFO] [stdout] test metrics::kappa::tests::cohen_auto_grow ... ok [INFO] [stdout] test metrics::kappa::tests::cohen_chance_classifier ... ok [INFO] [stdout] test metrics::kappa::tests::cohen_default_is_empty ... ok [INFO] [stdout] test metrics::ewma::tests::ewma_reg_zero_span - should panic ... ok [INFO] [stdout] test metrics::kappa::tests::cohen_known_confusion_matrix ... ok [INFO] [stdout] test metrics::kappa::tests::cohen_empty_returns_zero ... ok [INFO] [stdout] test metrics::importance::tests::normalized_sums_to_one ... ok [INFO] [stdout] test metrics::kappa::tests::cohen_perfect_multiclass ... ok [INFO] [stdout] test metrics::kappa::tests::cohen_perfect_classifier ... ok [INFO] [stdout] test metrics::kappa::tests::cohen_single_class ... ok [INFO] [stdout] test metrics::kappa::tests::cohen_single_sample ... ok [INFO] [stdout] test metrics::kappa::tests::cohen_worse_than_chance ... ok [INFO] [stdout] test metrics::kappa::tests::kappam_acts_like_majority_baseline ... ok [INFO] [stdout] test metrics::kappa::tests::kappam_default_is_empty ... ok [INFO] [stdout] test metrics::kappa::tests::cohen_reset ... ok [INFO] [stdout] test metrics::kappa::tests::kappam_empty_returns_zero ... ok [INFO] [stdout] test metrics::kappa::tests::kappam_perfect_classifier ... ok [INFO] [stdout] test metrics::kappa::tests::kappam_reset ... ok [INFO] [stdout] test metrics::kappa::tests::kappam_majority_class_tie_breaks_lowest ... ok [INFO] [stdout] test metrics::kappa::tests::kappam_majority_class_tracking ... ok [INFO] [stdout] test metrics::kappa::tests::kappam_single_sample ... ok [INFO] [stdout] test metrics::kappa::tests::kappam_single_class_returns_zero ... ok [INFO] [stdout] test metrics::kappa::tests::kappam_worse_than_majority ... ok [INFO] [stdout] test metrics::kappa::tests::kappat_computed_example ... ok [INFO] [stdout] test metrics::kappa::tests::kappat_default_is_empty ... ok [INFO] [stdout] test metrics::kappa::tests::kappat_empty_returns_zero ... ok [INFO] [stdout] test metrics::kappa::tests::kappat_no_change_baseline_is_perfect ... ok [INFO] [stdout] test metrics::kappa::tests::kappat_perfect_on_changing_stream ... ok [INFO] [stdout] test metrics::kappa::tests::kappat_reset ... ok [INFO] [stdout] test metrics::kappa::tests::kappat_single_sample_returns_zero ... ok [INFO] [stdout] test metrics::kappa::tests::kappat_model_equals_nochange ... ok [INFO] [stdout] test metrics::kappa::tests::kappat_two_samples ... ok [INFO] [stdout] test metrics::platt_scaling::tests::calibrate_identity_by_default ... ok [INFO] [stdout] test metrics::kappa::tests::kappat_worse_than_nochange ... ok [INFO] [stdout] test metrics::platt_scaling::tests::extreme_logits_dont_cause_nan ... ok [INFO] [stdout] test metrics::platt_scaling::tests::n_updates_tracks ... ok [INFO] [stdout] test metrics::platt_scaling::tests::perfect_classifier_stays_calibrated ... ok [INFO] [stdout] test metrics::platt_scaling::tests::reset_restores_default ... ok [INFO] [stdout] test metrics::quantile_tracker::tests::estimate_starts_at_zero ... ok [INFO] [stdout] test metrics::quantile_tracker::tests::lr_controls_adaptation_speed ... ok [INFO] [stdout] test metrics::quantile_tracker::tests::median_converges ... ok [INFO] [stdout] test metrics::platt_scaling::tests::update_moves_toward_correct_calibration ... ok [INFO] [stdout] test metrics::quantile_tracker::tests::percentile_90th_converges ... ok [INFO] [stdout] test metrics::quantile_tracker::tests::reacts_to_distribution_shift ... ok [INFO] [stdout] test metrics::quantile_tracker::tests::reset_clears_state ... ok [INFO] [stdout] test metrics::regression::tests::empty_state_returns_zeros ... ok [INFO] [stdout] test metrics::regression::tests::default_is_empty ... ok [INFO] [stdout] test metrics::regression::tests::large_sample_count ... ok [INFO] [stdout] test metrics::regression::tests::nan_inputs_propagate ... ok [INFO] [stdout] test metrics::regression::tests::r_squared_constant_target ... ok [INFO] [stdout] test metrics::regression::tests::r_squared_mean_prediction ... ok [INFO] [stdout] test metrics::regression::tests::r_squared_negative ... ok [INFO] [stdout] test metrics::regression::tests::mae_multiple_samples ... ok [INFO] [stdout] test metrics::regression::tests::r_squared_partial_fit ... ok [INFO] [stdout] test metrics::regression::tests::mse_multiple_samples ... ok [INFO] [stdout] test metrics::regression::tests::r_squared_perfect_prediction ... ok [INFO] [stdout] test metrics::regression::tests::reset_clears_state ... ok [INFO] [stdout] test metrics::regression::tests::rmse_multiple_samples ... ok [INFO] [stdout] test metrics::regression::tests::single_sample ... ok [INFO] [stdout] test metrics::rolling::tests::rolling_cls_accuracy ... ok [INFO] [stdout] test metrics::rolling::tests::rolling_cls_reset ... ok [INFO] [stdout] test metrics::rolling::tests::rolling_cls_precision_recall ... ok [INFO] [stdout] test metrics::rolling::tests::rolling_cls_slides ... ok [INFO] [stdout] test metrics::rolling::tests::rolling_reg_window_size ... ok [INFO] [stdout] test metrics::rolling::tests::rolling_reg_reset ... ok [INFO] [stdout] test metrics::rolling::tests::rolling_reg_matches_manual ... ok [INFO] [stdout] test metrics::rolling::tests::rolling_reg_r_squared ... ok [INFO] [stdout] test metrics::rolling::tests::rolling_reg_slides ... ok [INFO] [stdout] test metrics::strongly_adaptive::tests::default_constructors_work ... ok [INFO] [stdout] test metrics::rolling::tests::rolling_reg_within_window ... ok [INFO] [stdout] test metrics::strongly_adaptive::tests::reset_clears_all_experts ... ok [INFO] [stdout] test metrics::strongly_adaptive::tests::coverage_converges_to_target ... ok [INFO] [stdout] test metrics::strongly_adaptive::tests::multiple_experts_have_different_scales ... ok [INFO] [stdout] test metrics::strongly_adaptive::tests::wealth_weighting_favors_accurate_experts ... ok [INFO] [stdout] test metrics::strongly_adaptive::tests::adapts_to_sudden_shift ... ok [INFO] [stdout] test metrics::tests::metric_set_reset ... ok [INFO] [stdout] test metrics::rolling::tests::rolling_cls_zero_window - should panic ... ok [INFO] [stdout] test metrics::tests::metric_set_default ... ok [INFO] [stdout] test metrics::tests::metric_set_update_classification ... ok [INFO] [stdout] test metrics::tests::metric_set_update_regression ... ok [INFO] [stdout] test metrics::rolling::tests::rolling_reg_zero_window - should panic ... ok [INFO] [stdout] test metrics::tests::metric_set_new_is_empty ... ok [INFO] [stdout] test moe::router::tests::router_select_top_k_exceeds_n ... ok [INFO] [stdout] test moe::router::tests::router_load_balance_corrects_imbalance ... ok [INFO] [stdout] test moe::router::tests::router_select_top_k ... ok [INFO] [stdout] test moe::router::tests::router_renormalized_weights_sum_to_one ... ok [INFO] [stdout] test moe::router::tests::router_reset_clears_state ... ok [INFO] [stdout] test moe::router::tests::softmax_numerical_stability ... ok [INFO] [stdout] test moe::router::tests::router_update_shifts_distribution ... ok [INFO] [stdout] test moe::router::tests::softmax_sums_to_one ... ok [INFO] [stdout] test moe::router::tests::softmax_uniform_input ... ok [INFO] [stdout] test moe::router::tests::router_uniform_before_init ... ok [INFO] [stdout] test moe::tests::expert_predictions_returns_all ... ok [INFO] [stdout] test moe::tests::builder_creates_moe ... ok [INFO] [stdout] test moe::tests::implements_streaming_learner ... ok [INFO] [stdout] test moe::tests::load_distribution_available ... ok [INFO] [stdout] test moe::tests::builder_panics_with_one_expert - should panic ... ok [INFO] [stdout] test moe::tests::custom_config ... ok [INFO] [stdout] test moe::tests::reset_clears_state ... ok [INFO] [stdout] test moe::tests::n_samples_tracks_correctly ... ok [INFO] [stdout] test moe::tests::routing_probabilities_sum_to_one ... ok [INFO] [stdout] test moe::tests::top_k_limits_active_experts ... ok [INFO] [stdout] test moe::tests::heterogeneous_experts_work ... ok [INFO] [stdout] test moe::tests::warmup_hint_stored ... ok [INFO] [stdout] test pipeline::tests::empty_preprocessor_pipeline ... ok [INFO] [stdout] test moe::tests::utilization_starts_at_zero ... ok [INFO] [stdout] test pipeline::tests::learner_boxed_constructor ... ok [INFO] [stdout] test pipeline::tests::builder_creates_pipeline ... ok [INFO] [stdout] test pipeline::tests::pipeline_as_trait_object ... ok [INFO] [stdout] test pipeline::tests::pipeline_trains_and_predicts ... ok [INFO] [stdout] test pipeline::tests::pipeline_with_normalizer ... ok [INFO] [stdout] test pipeline::tests::multi_preprocessor_chaining ... ok [INFO] [stdout] test pipeline::tests::predict_does_not_update_preprocessor ... ok [INFO] [stdout] test preprocessing::ccipca::tests::construction_and_initial_state ... ok [INFO] [stdout] test pipeline::tests::reset_clears_all_state ... ok [INFO] [stdout] test moe::tests::train_and_predict_finite ... ok [INFO] [stdout] test preprocessing::ccipca::tests::dimension_reduction ... ok [INFO] [stdout] test moe::tests::moe_expert_disagreement ... ok [INFO] [stdout] test preprocessing::ccipca::tests::streaming_preprocessor_trait ... ok [INFO] [stdout] test preprocessing::ccipca::tests::reset_clears_state ... ok [INFO] [stdout] test preprocessing::ccipca::tests::lazy_init_sets_n_features ... ok [INFO] [stdout] test preprocessing::feature_hasher::tests::deterministic_hashing ... ok [INFO] [stdout] test preprocessing::ccipca::tests::known_principal_components ... ok [INFO] [stdout] test preprocessing::ccipca::tests::components_are_orthogonal ... ok [INFO] [stdout] test preprocessing::feature_hasher::tests::empty_input_returns_zero_vector ... ok [INFO] [stdout] test preprocessing::feature_hasher::tests::output_dimension_matches_n_buckets ... ok [INFO] [stdout] test preprocessing::feature_hasher::tests::reset_is_noop ... ok [INFO] [stdout] test preprocessing::feature_hasher::tests::different_inputs_different_outputs ... ok [INFO] [stdout] test preprocessing::feature_hasher::tests::sign_preserves_inner_product_approx ... ok [INFO] [stdout] test preprocessing::feature_hasher::tests::single_feature_maps_to_one_bucket ... ok [INFO] [stdout] test preprocessing::feature_selector::tests::active_count_matches_mask ... ok [INFO] [stdout] test preprocessing::feature_hasher::tests::zero_buckets_panics - should panic ... ok [INFO] [stdout] test preprocessing::feature_hasher::tests::update_and_transform_equals_transform ... ok [INFO] [stdout] test preprocessing::feature_selector::tests::importance_ewma_update_smooths_correctly ... ok [INFO] [stdout] test preprocessing::feature_selector::tests::all_active_during_warmup ... ok [INFO] [stdout] test preprocessing::feature_selector::tests::keep_fraction_determines_active_count ... ok [INFO] [stdout] test preprocessing::feature_selector::tests::full_keep_no_mask ... ok [INFO] [stdout] test preprocessing::feature_selector::tests::mask_features_in_place_matches_mask_features ... ok [INFO] [stdout] test preprocessing::min_max::tests::constant_feature_maps_to_midpoint ... ok [INFO] [stdout] test preprocessing::feature_selector::tests::masking_activates_after_warmup ... ok [INFO] [stdout] test preprocessing::min_max::tests::accessors_track_extremes ... ok [INFO] [stdout] test preprocessing::feature_selector::tests::reset_restores_initial_state ... ok [INFO] [stdout] test preprocessing::feature_selector::tests::mask_features_zeros_inactive ... ok [INFO] [stdout] test preprocessing::min_max::tests::custom_range ... ok [INFO] [stdout] test preprocessing::min_max::tests::output_dim_matches ... ok [INFO] [stdout] test preprocessing::min_max::tests::range_accessor_returns_config ... ok [INFO] [stdout] test automl::auto_tuner::tests::tournament_multi_factory ... ok [INFO] [stdout] test preprocessing::min_max::tests::reset_clears_stats ... ok [INFO] [stdout] test preprocessing::feature_selector::tests::panics_on_importance_length_mismatch - should panic ... ok [INFO] [stdout] test preprocessing::min_max::tests::reset_preserves_custom_range ... ok [INFO] [stdout] test preprocessing::min_max::tests::transform_before_update_passes_through ... ok [INFO] [stdout] test preprocessing::min_max::tests::equal_range_panics - should panic ... ok [INFO] [stdout] test preprocessing::min_max::tests::transform_does_not_update_bounds ... ok [INFO] [stdout] test preprocessing::min_max::tests::invalid_range_panics - should panic ... ok [INFO] [stdout] test preprocessing::min_max::tests::single_sample_constant ... ok [INFO] [stdout] test preprocessing::normalizer::tests::explicit_init_pre_allocates ... ok [INFO] [stdout] test preprocessing::normalizer::tests::lazy_init_sets_n_features_from_first_update ... ok [INFO] [stdout] test preprocessing::normalizer::tests::reset_clears_statistics ... ok [INFO] [stdout] test preprocessing::normalizer::tests::single_feature_mean_is_correct ... ok [INFO] [stdout] test preprocessing::normalizer::tests::single_feature_variance_is_correct ... ok [INFO] [stdout] test preprocessing::normalizer::tests::transform_in_place_matches_transform ... ok [INFO] [stdout] test preprocessing::min_max::tests::scales_to_zero_one ... ok [INFO] [stdout] test preprocessing::normalizer::tests::transform_produces_standardized_output ... ok [INFO] [stdout] test preprocessing::normalizer::tests::update_and_transform_matches_separate_calls ... ok [INFO] [stdout] test preprocessing::normalizer::tests::variance_floor_prevents_nan ... ok [INFO] [stdout] test preprocessing::one_hot::tests::deterministic_ordering ... ok [INFO] [stdout] test preprocessing::one_hot::tests::discovers_categories_online ... ok [INFO] [stdout] test preprocessing::one_hot::tests::mixed_categorical_and_continuous ... ok [INFO] [stdout] test preprocessing::min_max::tests::panics_on_dimension_mismatch - should panic ... ok [INFO] [stdout] test preprocessing::normalizer::tests::panics_on_dimension_mismatch - should panic ... ok [INFO] [stdout] test preprocessing::one_hot::tests::reset_clears_categories ... ok [INFO] [stdout] test preprocessing::one_hot::tests::passthrough_non_categorical ... ok [INFO] [stdout] test preprocessing::one_hot::tests::unknown_category_in_transform ... ok [INFO] [stdout] test preprocessing::polynomial::tests::degree2_full_output ... ok [INFO] [stdout] test preprocessing::polynomial::tests::empty_input ... ok [INFO] [stdout] test preprocessing::polynomial::tests::interaction_only_output ... ok [INFO] [stdout] test preprocessing::polynomial::tests::is_interaction_only_accessor ... ok [INFO] [stdout] test preprocessing::one_hot::tests::max_categories_cap ... ok [INFO] [stdout] test preprocessing::polynomial::tests::single_feature_full ... ok [INFO] [stdout] test preprocessing::polynomial::tests::reset_clears_dim ... ok [INFO] [stdout] test preprocessing::polynomial::tests::single_feature_interaction_only ... ok [INFO] [stdout] test preprocessing::polynomial::tests::stateless_deterministic ... ok [INFO] [stdout] test preprocessing::polynomial::tests::two_features_full ... ok [INFO] [stdout] test preprocessing::polynomial::tests::output_dim_correct ... ok [INFO] [stdout] test preprocessing::one_hot::tests::one_hot_encoding_correct ... ok [INFO] [stdout] test preprocessing::polynomial::tests::two_features_interaction_only ... ok [INFO] [stdout] test preprocessing::polynomial::tests::update_and_transform_equals_transform ... ok [INFO] [stdout] test preprocessing::target_encoder::tests::multiple_categorical_features ... ok [INFO] [stdout] test preprocessing::target_encoder::tests::negative_smoothing_panics - should panic ... ok [INFO] [stdout] test preprocessing::target_encoder::tests::unknown_category_uses_global_mean ... ok [INFO] [stdout] test preprocessing::target_encoder::tests::encodes_with_target_mean ... ok [INFO] [stdout] test preprocessing::target_encoder::tests::zero_smoothing_uses_pure_category_mean ... ok [INFO] [stdout] test preprocessing::target_encoder::tests::smoothing_pulls_toward_global_mean ... ok [INFO] [stdout] test preprocessing::target_encoder::tests::update_and_transform_consistency ... ok [INFO] [stdout] test reservoir::esn::tests::cold_start_returns_zero ... ok [INFO] [stdout] test preprocessing::target_encoder::tests::reset_clears_all_stats ... ok [INFO] [stdout] test reservoir::esn::tests::reservoir_state_evolves ... ok [INFO] [stdout] test reservoir::esn::tests::predict_is_side_effect_free ... ok [INFO] [stdout] test reservoir::esn::tests::reset_clears_learned_state ... ok [INFO] [stdout] test reservoir::esn::tests::deterministic_with_same_seed ... ok [INFO] [stdout] test reservoir::esn::tests::no_passthrough_input ... ok [INFO] [stdout] test reservoir::esn::tests::trait_object_compatibility ... ok [INFO] [stdout] test reservoir::esn_config::tests::custom_config_builds ... ok [INFO] [stdout] test reservoir::esn_config::tests::default_config_builds ... ok [INFO] [stdout] test preprocessing::target_encoder::tests::passthrough_non_categorical ... ok [INFO] [stdout] test reservoir::esn::tests::warmup_period_no_training ... ok [INFO] [stdout] test reservoir::esn::tests::trains_after_warmup ... ok [INFO] [stdout] test reservoir::esn_config::tests::delta_zero_fails ... ok [INFO] [stdout] test reservoir::esn_config::tests::forgetting_factor_zero_fails ... ok [INFO] [stdout] test reservoir::esn_config::tests::leak_rate_above_one_fails ... ok [INFO] [stdout] test reservoir::esn_config::tests::leak_rate_zero_fails ... ok [INFO] [stdout] test learners::krls::tests::polynomial_kernel_works ... ok [INFO] [stdout] test reservoir::esn_config::tests::negative_input_scaling_fails ... ok [INFO] [stdout] test reservoir::esn_config::tests::negative_spectral_radius_fails ... ok [INFO] [stdout] test reservoir::esn_config::tests::zero_reservoir_fails ... ok [INFO] [stdout] test reservoir::esn_preprocessor::tests::no_passthrough_reduces_dim ... ok [INFO] [stdout] test reservoir::esn_preprocessor::tests::output_dim_none_before_first_update ... ok [INFO] [stdout] test reservoir::esn_preprocessor::tests::update_and_transform_produces_correct_dim ... ok [INFO] [stdout] test reservoir::ngrc::tests::cold_start_returns_zero ... ok [INFO] [stdout] test reservoir::esn_preprocessor::tests::multiple_inputs_work ... ok [INFO] [stdout] test reservoir::esn_config::tests::zero_spectral_radius_fails ... ok [INFO] [stdout] test reservoir::esn_preprocessor::tests::transform_does_not_advance_reservoir ... ok [INFO] [stdout] test reservoir::ngrc::tests::learns_linear_trend ... ok [INFO] [stdout] test reservoir::esn_preprocessor::tests::reset_zeros_state ... ok [INFO] [stdout] test reservoir::esn_preprocessor::tests::pipeline_integration ... ok [INFO] [stdout] test reservoir::ngrc::tests::predict_is_side_effect_free ... ok [INFO] [stdout] test reservoir::ngrc::tests::reset_returns_to_cold_state ... ok [INFO] [stdout] test reservoir::ngrc::tests::skip_greater_than_one ... ok [INFO] [stdout] test reservoir::ngrc::tests::trait_object_compatibility ... ok [INFO] [stdout] test reservoir::ngrc::tests::no_bias_config ... ok [INFO] [stdout] test reservoir::ngrc_config::tests::degree_one_fails ... ok [INFO] [stdout] test reservoir::ngrc_config::tests::delta_negative_fails ... ok [INFO] [stdout] test reservoir::ngrc_config::tests::delta_zero_fails ... ok [INFO] [stdout] test reservoir::ngrc::tests::warmup_then_trains ... ok [INFO] [stdout] test reservoir::ngrc_config::tests::custom_config_builds ... ok [INFO] [stdout] test reservoir::ngrc_config::tests::forgetting_factor_zero_fails ... ok [INFO] [stdout] test reservoir::ngrc_config::tests::default_config_builds ... ok [INFO] [stdout] test reservoir::esn::tests::esn_prediction_uncertainty ... ok [INFO] [stdout] test reservoir::ngrc_config::tests::forgetting_factor_above_one_fails ... ok [INFO] [stdout] test reservoir::ngrc_config::tests::k_zero_fails ... ok [INFO] [stdout] test serde_support::tests::json_invalid_input_returns_error ... ok [INFO] [stdout] test serde_support::tests::json_pretty_round_trip ... ok [INFO] [stdout] test serde_support::tests::json_round_trip_sample ... ok [INFO] [stdout] test snn::spike_preprocessor::tests::lazy_initialization_on_first_update ... ok [INFO] [stdout] test snn::spike_preprocessor::tests::multiple_timesteps_produce_different_features ... ok [INFO] [stdout] test reservoir::ngrc_config::tests::s_zero_fails ... ok [INFO] [stdout] test serde_support::tests::json_batch_samples ... ok [INFO] [stdout] test serde_support::tests::json_bytes_round_trip ... ok [INFO] [stdout] test snn::spike_preprocessor::tests::output_dim_matches_hidden_plus_output ... ok [INFO] [stdout] test snn::spike_preprocessor::tests::transform_does_not_advance_state ... ok [INFO] [stdout] test snn::spike_preprocessor::tests::spike_features_are_binary ... ok [INFO] [stdout] test snn::spike_preprocessor::tests::works_in_pipeline ... ok [INFO] [stdout] test snn::spike_preprocessor::tests::transform_before_init_returns_zeros ... ok [INFO] [stdout] test snn::spikenet::tests::lazy_initialization_on_first_train ... ok [INFO] [stdout] test snn::spike_preprocessor::tests::reset_clears_preprocessor_state ... ok [INFO] [stdout] test snn::spikenet::tests::memory_bytes_positive_after_init ... ok [INFO] [stdout] test snn::spikenet::tests::predict_before_training_returns_zero ... ok [INFO] [stdout] test snn::spikenet::tests::n_samples_tracks_correctly ... ok [INFO] [stdout] test reservoir::ngrc::tests::sine_wave_regression ... ok [INFO] [stdout] test snn::spikenet::tests::predict_is_deterministic_without_train ... ok [INFO] [stdout] test snn::spikenet::tests::reset_clears_state ... ok [INFO] [stdout] test snn::spikenet::tests::with_n_input_initializes_immediately ... ok [INFO] [stdout] test snn::spikenet::tests::input_scaling_adapts ... ok [INFO] [stdout] test snn::spikenet_config::tests::alpha_out_of_range_rejected ... ok [INFO] [stdout] test snn::spikenet_config::tests::builder_produces_valid_config ... ok [INFO] [stdout] test snn::spikenet_config::tests::negative_eta_rejected ... ok [INFO] [stdout] test snn::spikenet_config::tests::zero_hidden_rejected ... ok [INFO] [stdout] test snn::spikenet_config::tests::default_config_is_valid ... ok [INFO] [stdout] test snn::spikenet::tests::weighted_training_does_not_crash ... ok [INFO] [stdout] test snn::spikenet_config::tests::all_builder_methods_chain ... ok [INFO] [stdout] test snn::spikenet_config::tests::weight_range_too_large_rejected ... ok [INFO] [stdout] test snn::spikenet_config::tests::zero_outputs_rejected ... ok [INFO] [stdout] test ssm::mamba::tests::capped_readout_dim_boundary ... ok [INFO] [stdout] test ssm::mamba::tests::config_accessor ... ok [INFO] [stdout] test ssm::mamba::tests::large_state_caps_readout_to_max ... ok [INFO] [stdout] test ssm::mamba::tests::new_creates_fresh_model ... ok [INFO] [stdout] test ssm::mamba::tests::mamba_prediction_uncertainty ... ok [INFO] [stdout] test ssm::mamba::tests::predict_after_training_is_finite ... ok [INFO] [stdout] test ssm::mamba::tests::predict_before_training_returns_zero ... ok [INFO] [stdout] test ssm::mamba::tests::reset_clears_everything ... ok [INFO] [stdout] test ssm::mamba::tests::small_state_uses_full_readout ... ok [INFO] [stdout] test ssm::mamba::tests::predict_batch_works ... ok [INFO] [stdout] test ssm::mamba::tests::train_convenience_uses_unit_weight ... ok [INFO] [stdout] test ssm::mamba::tests::train_one_increments_samples ... ok [INFO] [stdout] test ssm::mamba_config::tests::builder_custom_values ... ok [INFO] [stdout] test ssm::mamba::tests::weighted_training ... ok [INFO] [stdout] test ssm::mamba_config::tests::builder_forgetting_factor_one_valid ... ok [INFO] [stdout] test ssm::mamba_config::tests::builder_invalid_delta_rls ... ok [INFO] [stdout] test ssm::mamba_config::tests::builder_invalid_forgetting_factor_negative ... ok [INFO] [stdout] test ssm::mamba_config::tests::builder_invalid_forgetting_factor_over_one ... ok [INFO] [stdout] test ssm::mamba_config::tests::builder_invalid_forgetting_factor_zero ... ok [INFO] [stdout] test ssm::mamba_config::tests::builder_invalid_n_state ... ok [INFO] [stdout] test ssm::mamba_config::tests::builder_missing_d_in ... ok [INFO] [stdout] test ssm::mamba_config::tests::config_clone ... ok [INFO] [stdout] test ssm::mamba_config::tests::display_format ... ok [INFO] [stdout] test ssm::mamba_preprocessor::tests::deterministic_with_same_seed ... ok [INFO] [stdout] test ssm::mamba_preprocessor::tests::new_creates_correct_dim ... ok [INFO] [stdout] test ssm::mamba_preprocessor::tests::pipeline_integration ... ok [INFO] [stdout] test ssm::mamba_preprocessor::tests::reset_clears_state_and_cache ... ok [INFO] [stdout] test ssm::mamba_preprocessor::tests::sequential_updates_change_output ... ok [INFO] [stdout] test ssm::mamba_preprocessor::tests::transform_before_any_update_returns_zeros ... ok [INFO] [stdout] test ssm::mamba_preprocessor::tests::transform_returns_cached_output ... ok [INFO] [stdout] test ssm::mamba_config::tests::builder_defaults ... ok [INFO] [stdout] test ssm::mamba_preprocessor::tests::update_and_transform_produces_finite_output ... ok [INFO] [stdout] test ssm::mamba_preprocessor::tests::update_and_transform_returns_correct_dim ... ok [INFO] [stdout] test stream::adapters::tests::empty_stream ... ok [INFO] [stdout] test stream::adapters::tests::prediction_clone ... ok [INFO] [stdout] test stream::adapters::tests::prediction_debug ... ok [INFO] [stdout] test stream::adapters::tests::prediction_preserves_sample_data ... ok [INFO] [stdout] test stream::adapters::tests::multiple_predictions ... ok [INFO] [stdout] test stream::adapters::tests::stream_is_unpin ... ok [INFO] [stdout] test stream::adapters::tests::predictions_reflect_model_state ... ok [INFO] [stdout] test stream::adapters::tests::stream_size_hint ... ok [INFO] [stdout] test stream::adapters::tests::stream_yields_predictions ... ok [INFO] [stdout] test stream::adapters::tests::stream_terminates_on_close ... ok [INFO] [stdout] test snn::spikenet::tests::predictions_change_after_training ... ok [INFO] [stdout] test stream::channel::tests::bounded_backpressure ... ok [INFO] [stdout] test stream::channel::tests::cloned_sender_works ... ok [INFO] [stdout] test stream::channel::tests::is_closed_reflects_state ... ok [INFO] [stdout] test stream::channel::tests::recv_none_on_closed ... ok [INFO] [stdout] test stream::channel::tests::send_batch_fails_on_mid_drop ... ok [INFO] [stdout] test stream::channel::tests::large_burst ... ok [INFO] [stdout] test stream::channel::tests::send_recv_round_trip ... ok [INFO] [stdout] test stream::channel::tests::send_batch_preserves_order ... ok [INFO] [stdout] test stream::channel::tests::sender_is_send_sync ... ok [INFO] [stdout] test stream::tests::async_sgbt_is_send ... ok [INFO] [stdout] test stream::tests::basic_lifecycle ... ok [INFO] [stdout] test stream::channel::tests::send_fails_on_closed_receiver ... ok [INFO] [stdout] test stream::tests::callback_receives_correct_counts ... ok [INFO] [stdout] test stream::tests::predictor_clone_independent ... ok [INFO] [stdout] test stream::tests::multiple_senders ... ok [INFO] [stdout] test stream::tests::predictor_predict_transformed ... ok [INFO] [stdout] test stream::tests::predictor_is_send_sync ... ok [INFO] [stdout] test stream::tests::run_returns_ok_on_empty_channel ... ok [INFO] [stdout] test stream::tests::concurrent_predict_during_training ... ok [INFO] [stdout] test stream::tests::with_capacity_custom ... ok [INFO] [stdout] test stream::tests::with_loss_creates_runner ... ok [INFO] [stdout] test stream::tests::run_with_callback_invokes ... ok [INFO] [stdout] test automl::auto_tuner::tests::tournament_train_and_predict ... ok [INFO] [stdout] test time_series::decomposition::tests::config_validates ... ok [INFO] [stdout] test time_series::decomposition::tests::constant_series_zero_seasonal ... ok [INFO] [stdout] test time_series::decomposition::tests::decomposition_identity ... ok [INFO] [stdout] test time_series::decomposition::tests::first_sample_initializes_trend ... ok [INFO] [stdout] test time_series::decomposition::tests::n_samples_increments ... ok [INFO] [stdout] test time_series::decomposition::tests::initialized_after_one_period ... ok [INFO] [stdout] test time_series::decomposition::tests::reset_clears_state ... ok [INFO] [stdout] test time_series::decomposition::tests::trend_tracks_level_shift ... ok [INFO] [stdout] test time_series::decomposition::tests::seasonal_pattern_captured ... ok [INFO] [stdout] test time_series::decomposition::tests::position_cycles_correctly ... ok [INFO] [stdout] test time_series::holt_winters::tests::config_validates ... ok [INFO] [stdout] test time_series::holt_winters::tests::additive_seasonal_captured ... ok [INFO] [stdout] test time_series::holt_winters::tests::forecast_returns_correct_length ... ok [INFO] [stdout] test time_series::holt_winters::tests::forecast_uses_seasonal ... ok [INFO] [stdout] test time_series::holt_winters::tests::linear_trend_captured ... ok [INFO] [stdout] test time_series::holt_winters::tests::initialization_buffers_first_period ... ok [INFO] [stdout] test time_series::holt_winters::tests::constant_series_converges ... ok [INFO] [stdout] test time_series::holt_winters::tests::reset_clears_state ... ok [INFO] [stdout] test time_series::holt_winters::tests::streaming_learner_trait ... ok [INFO] [stdout] test time_series::snarimax::tests::config_builder_defaults ... ok [INFO] [stdout] test time_series::snarimax::tests::forecast_multi_step ... ok [INFO] [stdout] test time_series::snarimax::tests::predict_one_uses_lags ... ok [INFO] [stdout] test time_series::snarimax::tests::reset_clears_state ... ok [INFO] [stdout] test time_series::holt_winters::tests::multiplicative_seasonal_captured ... ok [INFO] [stdout] test automl::auto_tuner::tests::tournament_successive_halving ... ok [INFO] [stdout] test ssm::mamba::tests::convergence_on_linear_target ... ok [INFO] [stdout] test time_series::snarimax::tests::streaming_learner_trait ... ok [INFO] [stdout] test time_series::snarimax::tests::seasonal_component_works ... ok [INFO] [stdout] test time_series::snarimax::tests::exogenous_input ... ok [INFO] [stdout] test time_series::snarimax::tests::simple_ar1_converges ... ok [INFO] [stdout] test ttt::layer::tests::deterministic_with_seed ... ok [INFO] [stdout] test ttt::layer::tests::forward_output_dimension ... ok [INFO] [stdout] test ttt::layer::tests::fast_weights_update ... ok [INFO] [stdout] test ttt::layer::tests::forward_initializes_projections ... ok [INFO] [stdout] test ttt::layer::tests::convergence_on_pattern ... ok [INFO] [stdout] test ttt::layer::tests::forward_output_finite ... ok [INFO] [stdout] test ttt::layer::tests::momentum_changes_behavior ... ok [INFO] [stdout] test ttt::layer::tests::new_creates_uninit ... ok [INFO] [stdout] test ttt::layer::tests::reset_full_clears_projections ... ok [INFO] [stdout] test ttt::layer::tests::reset_zeros_fast_weights ... ok [INFO] [stdout] test ttt::layer::tests::reset_full_clears_everything ... ok [INFO] [stdout] test ttt::tests::config_clone ... ok [INFO] [stdout] test ttt::tests::config_rejects_invalid ... ok [INFO] [stdout] test ttt::tests::implements_streaming_learner ... ok [INFO] [stdout] test ttt::tests::config_display ... ok [INFO] [stdout] test ttt::tests::n_samples_seen_tracks_post_warmup ... ok [INFO] [stdout] test ttt::tests::config_builder_custom ... ok [INFO] [stdout] test ttt::tests::config_builder_default ... ok [INFO] [stdout] test ttt::tests::predict_before_train_returns_zero ... ok [INFO] [stdout] test ttt::tests::reset_clears_state ... ok [INFO] [stdout] test ttt::tests::new_creates_model ... ok [INFO] [stdout] test ttt::tests::multi_head_works ... ok [INFO] [stdout] test ttt::tests::warmup_delays_training ... ok [INFO] [stdout] test ttt::tests::titans_extensions_work ... ok [INFO] [stdout] test ttt::tests::train_and_predict_finite ... ok [INFO] [stdout] test ttt::tests::ttt_uncertainty_modulated_eta ... ok [INFO] [stdout] test ssm::mamba::tests::convergence_on_sine_wave ... ok [INFO] [stdout] test ttt::tests::adaptive_forgetting_factor_produces_finite_predictions ... ok [INFO] [stdout] test stream::tests::training_improves_predictions ... ok [INFO] [stdout] test learners::krls::tests::learn_sine_rbf ... ok [INFO] [stdout] test ssm::mamba::tests::high_dim_training_produces_finite_predictions ... ok [INFO] [stdout] test reservoir::esn::tests::sine_wave_regression ... ok [INFO] [stdout] test ssm::mamba::tests::high_dim_convergence ... ok [INFO] [stdout] test automl::auto_tuner::tests::adaptive_bracket_shrinks_without_promotion ... ok [INFO] [stdout] test automl::auto_tuner::tests::drift_rerace_triggers_new_tournament ... ok [INFO] [stdout] test automl::auto_tuner::tests::tournament_promotes ... ok [INFO] [stdout] test automl::auto_tuner::tests::snapshot_tracks_promotions ... ok [INFO] [stdout] test automl::auto_tuner::tests::adaptive_bracket_grows_on_promotion ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1289 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 9.02s [INFO] [stdout] [INFO] [stderr] Running tests/convergence.rs (/opt/rustwide/target/debug/deps/convergence-e259aef6cd9c6633) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test constant_target_converges_to_mean ... ok [INFO] [stdout] test huber_converges_with_outliers ... ok [INFO] [stdout] test linear_function_converges ... ok [INFO] [stdout] test more_steps_improves_accuracy ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.19s [INFO] [stdout] [INFO] [stderr] Running tests/generate_bench_model.rs (/opt/rustwide/target/debug/deps/generate_bench_model-c01eaeeee7ce1542) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test generate_bench_models ... ignored [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/integration_drift.rs (/opt/rustwide/target/debug/deps/integration_drift-7163b05607eba320) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test drift_detector_clone_fresh_resets ... ok [INFO] [stdout] test pht_detects_abrupt_drift ... ok [INFO] [stdout] test no_false_alarm_stationary ... ok [INFO] [stdout] test adwin_detects_abrupt_drift ... ok [INFO] [stdout] test adwin_no_false_alarm_constant ... ok [INFO] [stdout] test sgbt_adapts_after_drift ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s [INFO] [stdout] [INFO] [stderr] Running tests/integration_sgbt.rs (/opt/rustwide/target/debug/deps/integration_sgbt-d3446ba26d91b2d0) [INFO] [stdout] [INFO] [stdout] running 8 tests [INFO] [stdout] test sgbt_reset_restores_initial_state ... ok [INFO] [stdout] test sgbt_batch_equals_sequential ... ok [INFO] [stdout] test sgbt_metadata_consistency ... ok [INFO] [stdout] test sgbt_multiclass_basic ... ok [INFO] [stdout] test sgbt_with_skip_variant ... ok [INFO] [stdout] test sgbt_predictions_always_finite ... ok [INFO] [stdout] test sgbt_classification_accuracy ... ok [INFO] [stdout] test sgbt_regression_converges ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.27s [INFO] [stdout] [INFO] [stderr] Running tests/property_tests.rs (/opt/rustwide/target/debug/deps/property_tests-32e9f755606382dd) [INFO] [stdout] [INFO] [stdout] running 8 tests [INFO] [stdout] test softmax_sums_to_one ... ok [INFO] [stdout] test sample_weight_positive ... ok [INFO] [stdout] test tree_prediction_finite ... ok [INFO] [stdout] test loss_hessian_nonneg ... ok [INFO] [stdout] test logistic_sigmoid_in_01 ... ok [INFO] [stdout] test loss_gradient_finite ... ok [INFO] [stdout] test logistic_gradient_bounded ... ok [INFO] [stderr] Doc-tests irithyll [INFO] [stdout] test logistic_hessian_positive ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 190 tests [INFO] [stdout] test src/attention/attention_config.rs - attention::attention_config::StreamingAttentionConfig (line 31) ... ignored [INFO] [stdout] test src/attention/attention_config.rs - attention::attention_config::StreamingAttentionConfigBuilder (line 99) ... ignored [INFO] [stdout] test src/attention/attention_preprocessor.rs - attention::attention_preprocessor (line 17) ... ignored [INFO] [stdout] test src/attention/attention_preprocessor.rs - attention::attention_preprocessor::AttentionPreprocessor (line 40) ... ignored [INFO] [stdout] test src/attention/mod.rs - attention (line 29) ... ignored [INFO] [stdout] test src/attention/mod.rs - attention::delta_net (line 91) ... ignored [INFO] [stdout] test src/attention/mod.rs - attention::gla (line 68) ... ignored [INFO] [stdout] test src/attention/mod.rs - attention::hawk (line 115) ... ignored [INFO] [stdout] test src/attention/mod.rs - attention::ret_net (line 138) ... ignored [INFO] [stdout] test src/attention/mod.rs - attention::streaming_attention (line 161) ... ignored [INFO] [stdout] test src/attention/streaming_attention.rs - attention::streaming_attention::StreamingAttentionModel (line 43) ... ignored [INFO] [stdout] test src/automl/factories.rs - automl::factories::Factory (line 535) - compile ... ok [INFO] [stdout] test src/automl/auto_tuner.rs - automl::auto_tuner::AutoTuner (line 216) - compile ... ok [INFO] [stdout] test src/automl/reward.rs - automl::reward::RewardNormalizer (line 16) ... ok [INFO] [stdout] test src/clustering/clustream.rs - clustering::clustream::CluStreamConfig::builder (line 184) ... ok [INFO] [stdout] test src/clustering/clustream.rs - clustering::clustream::CluStream (line 243) ... ok [INFO] [stdout] test src/bandits/ucb.rs - bandits::ucb::UCBTuned (line 130) ... ok [INFO] [stdout] test src/clustering/kmeans.rs - clustering::kmeans::StreamingKMeans (line 122) ... ok [INFO] [stdout] test src/bandits/epsilon_greedy.rs - bandits::epsilon_greedy::EpsilonGreedy (line 17) ... ok [INFO] [stdout] test src/bandits/mod.rs - bandits (line 26) ... ok [INFO] [stdout] test src/bandits/lin_ucb.rs - bandits::lin_ucb::LinUCB (line 24) ... ok [INFO] [stdout] test src/clustering/dbstream.rs - clustering::dbstream::DBStreamConfig (line 89) ... ok [INFO] [stdout] test src/clustering/dbstream.rs - clustering::dbstream::DBStream (line 160) ... ok [INFO] [stdout] test src/bandits/ucb.rs - bandits::ucb::UCB1 (line 18) ... ok [INFO] [stdout] test src/clustering/kmeans.rs - clustering::kmeans::StreamingKMeansConfigBuilder (line 25) ... ok [INFO] [stdout] test src/bandits/discounted_thompson.rs - bandits::discounted_thompson (line 34) ... ok [INFO] [stdout] test src/bandits/thompson.rs - bandits::thompson (line 28) ... ok [INFO] [stdout] test src/continual/continual_wrapper.rs - continual::continual_wrapper::ContinualLearner (line 49) ... ok [INFO] [stdout] test src/continual/continual_wrapper.rs - continual::continual_wrapper::ContinualLearner::with_drift_detector (line 121) ... ok [INFO] [stdout] test src/anomaly/hst.rs - anomaly::hst::HalfSpaceTree (line 338) ... ok [INFO] [stdout] test src/continual/continual_wrapper.rs - continual::continual_wrapper::continual (line 289) ... ok [INFO] [stdout] test src/continual/mod.rs - continual (line 12) ... ok [INFO] [stdout] test src/ensemble/adaptive_forest.rs - ensemble::adaptive_forest::AdaptiveRandomForest (line 187) ... ok [INFO] [stdout] test src/ensemble/adaptive.rs - ensemble::adaptive::AdaptiveSGBT::new (line 74) ... ok [INFO] [stdout] test src/ensemble/bagged.rs - ensemble::bagged (line 13) ... ok [INFO] [stdout] test src/ensemble/lr_schedule.rs - ensemble::lr_schedule (line 23) ... ok [INFO] [stdout] test src/ensemble/adaptive.rs - ensemble::adaptive (line 10) ... ok [INFO] [stdout] test src/ensemble/lr_schedule.rs - ensemble::lr_schedule::ConstantLR (line 85) ... ok [INFO] [stdout] test src/ensemble/config.rs - ensemble::config::SGBTConfigBuilder (line 548) ... ok [INFO] [stdout] test src/ensemble/adaptive.rs - ensemble::adaptive::AdaptiveSGBT::with_loss (line 101) ... ok [INFO] [stdout] test src/ensemble/lr_schedule.rs - ensemble::lr_schedule::CosineAnnealingLR (line 264) ... ok [INFO] [stdout] test src/ensemble/distributional.rs - ensemble::distributional::DistributionalSGBT (line 193) ... ok [INFO] [stdout] test src/ensemble/lr_schedule.rs - ensemble::lr_schedule::ExponentialDecayLR (line 206) ... ok [INFO] [stdout] test src/ensemble/lr_schedule.rs - ensemble::lr_schedule::PlateauLR (line 332) ... ok [INFO] [stdout] test src/ensemble/mod.rs - ensemble::SGBT::with_loss (line 201) ... ok [INFO] [stdout] test src/ensemble/mod.rs - ensemble::SGBT::train_batch_with_callback (line 542) ... ok [INFO] [stdout] test src/ensemble/lr_schedule.rs - ensemble::lr_schedule::LinearDecayLR (line 138) ... ok [INFO] [stdout] test src/ensemble/moe_distributional.rs - ensemble::moe_distributional (line 45) ... ok [INFO] [stdout] test src/ensemble/mod.rs - ensemble::SGBT (line 68) ... ok [INFO] [stdout] test src/export_embedded.rs - export_embedded (line 15) - compile ... ok [INFO] [stdout] test src/kan/mod.rs - kan::StreamingKAN (line 273) - compile ... ok [INFO] [stdout] test src/ensemble/quantile_regressor.rs - ensemble::quantile_regressor (line 15) ... ok [INFO] [stdout] test src/ensemble/moe.rs - ensemble::moe (line 43) ... ok [INFO] [stdout] test src/ensemble/mod.rs - ensemble::SGBT (line 76) ... ok [INFO] [stdout] test src/ensemble/multi_target.rs - ensemble::multi_target::MultiTargetSGBT (line 21) ... ok [INFO] [stdout] test src/ensemble/parallel.rs - ensemble::parallel::ParallelSGBT::with_loss (line 133) ... ok [INFO] [stdout] test src/evaluation/progressive.rs - evaluation::progressive::ProgressiveValidator (line 88) ... ok [INFO] [stdout] test src/learners/mondrian.rs - learners::mondrian::MondrianForest (line 452) ... ignored [INFO] [stdout] test src/learners/mondrian.rs - learners::mondrian::MondrianForestConfig (line 69) ... ignored [INFO] [stdout] test src/evaluation/mod.rs - evaluation (line 15) ... ok [INFO] [stdout] test src/ensemble/stacked.rs - ensemble::stacked (line 25) ... ok [INFO] [stdout] test src/learners/naive_bayes.rs - learners::naive_bayes::GaussianNB (line 113) ... ignored [INFO] [stdout] test src/evaluation/prequential.rs - evaluation::prequential::PrequentialEvaluator (line 70) ... ok [INFO] [stdout] test src/kan/mod.rs - kan::KANConfig (line 36) ... ok [INFO] [stdout] test src/learners/linear.rs - learners::linear::Regularization (line 47) ... ok [INFO] [stdout] test src/learner.rs - learner (line 25) ... ok [INFO] [stdout] test src/learners/krls.rs - learners::krls::KRLS (line 188) ... ok [INFO] [stdout] test src/learners/linear.rs - learners::linear (line 20) ... ok [INFO] [stdout] test src/learner.rs - learner::SGBTLearner::from_config (line 150) ... ok [INFO] [stdout] test src/lib.rs - (line 43) - compile ... ok [INFO] [stdout] test src/kan/mod.rs - kan::KANConfigBuilder (line 113) ... ok [INFO] [stdout] test src/lib.rs - (line 62) - compile ... ok [INFO] [stdout] test src/learners/krls.rs - learners::krls (line 30) ... ok [INFO] [stdout] test src/lib.rs - auto_tune (line 733) - compile ... ok [INFO] [stdout] test src/learner.rs - learner::SGBTLearner (line 89) ... ok [INFO] [stdout] test src/learners/multinomial_bernoulli_nb.rs - learners::multinomial_bernoulli_nb::MultinomialNB (line 32) ... ok [INFO] [stdout] test src/learner.rs - learner::SGBTLearner (line 80) ... ok [INFO] [stdout] test src/learners/linear.rs - learners::linear::StreamingLinearModel::new (line 171) ... ok [INFO] [stdout] test src/learners/rls.rs - learners::rls::LocallyWeightedRegression (line 727) ... ok [INFO] [stdout] test src/learners/linear.rs - learners::linear::StreamingLinearModel (line 134) ... ok [INFO] [stdout] test src/learners/rls.rs - learners::rls::RecursiveLeastSquares (line 107) ... ok [INFO] [stdout] test src/learners/multinomial_bernoulli_nb.rs - learners::multinomial_bernoulli_nb::BernoulliNB (line 226) ... ok [INFO] [stdout] test src/learners/rls.rs - learners::rls::StreamingPolynomialRegression (line 533) ... ok [INFO] [stdout] test src/lib.rs - feature_hasher (line 389) ... ok [INFO] [stdout] test src/lib.rs - linear (line 286) ... ok [INFO] [stdout] test src/lib.rs - lin_ucb (line 531) ... ok [INFO] [stdout] test src/lib.rs - esn (line 567) ... ok [INFO] [stdout] test src/lib.rs - mamba (line 608) ... ok [INFO] [stdout] test src/lib.rs - adaptive_sgbt (line 455) ... ok [INFO] [stdout] test src/lib.rs - epsilon_greedy (line 477) ... ok [INFO] [stdout] test src/lib.rs - gaussian_nb (line 310) ... ok [INFO] [stdout] test src/lib.rs - streaming_kan (line 680) - compile ... ok [INFO] [stdout] test src/lib.rs - streaming_ttt (line 661) - compile ... ok [INFO] [stdout] test src/lib.rs - esn_preprocessor (line 588) ... ok [INFO] [stdout] test src/lib.rs - ccipca (line 376) ... ok [INFO] [stdout] test src/lib.rs - mamba_preprocessor (line 627) ... ok [INFO] [stdout] test src/lib.rs - krls (line 364) ... ok [INFO] [stdout] test src/lib.rs - min_max_scaler (line 402) ... ok [INFO] [stdout] test src/lib.rs - mondrian (line 322) ... ok [INFO] [stdout] test src/lib.rs - ucb_tuned (line 503) ... ok [INFO] [stdout] test src/lib.rs - normalizer (line 337) ... ok [INFO] [stdout] test src/lib.rs - ngrc (line 545) ... ok [INFO] [stdout] test src/lib.rs - pipe (line 351) ... ok [INFO] [stdout] test src/lib.rs - rls (line 298) ... ok [INFO] [stdout] test src/lib.rs - spikenet (line 640) ... ok [INFO] [stdout] test src/lib.rs - one_hot (line 414) ... ok [INFO] [stdout] test src/lib.rs - polynomial_features (line 426) ... ok [INFO] [stdout] test src/lib.rs - sgbt (line 268) ... ok [INFO] [stdout] test src/metrics/auc.rs - metrics::auc::StreamingAUC (line 36) ... ok [INFO] [stdout] test src/lib.rs - target_encoder (line 442) ... ok [INFO] [stdout] test src/metrics/classification.rs - metrics::classification::ClassificationMetrics (line 15) ... ok [INFO] [stdout] test src/metrics/conformal.rs - metrics::conformal::AdaptiveConformalInterval (line 51) ... ok [INFO] [stdout] test src/metrics/ewma.rs - metrics::ewma::EwmaClassificationMetrics (line 158) ... ok [INFO] [stdout] test src/lib.rs - ucb1 (line 490) ... ok [INFO] [stdout] test src/metrics/importance.rs - metrics::importance::FeatureImportance (line 15) ... ok [INFO] [stdout] test src/moe/mod.rs - moe::NeuralMoE (line 89) - compile ... ok [INFO] [stdout] test src/lib.rs - thompson (line 518) ... ok [INFO] [stdout] test src/metrics/quantile_tracker.rs - metrics::quantile_tracker::StreamingQuantileTracker (line 20) ... ok [INFO] [stdout] test src/metrics/mod.rs - metrics::MetricSet (line 40) ... ok [INFO] [stdout] test src/metrics/regression.rs - metrics::regression::RegressionMetrics (line 15) ... ok [INFO] [stdout] test src/metrics/conformal_pid.rs - metrics::conformal_pid::ConformalPID (line 19) ... ok [INFO] [stdout] test src/metrics/kappa.rs - metrics::kappa::KappaT (line 315) ... ok [INFO] [stdout] test src/metrics/ewma.rs - metrics::ewma::EwmaRegressionMetrics (line 18) ... ok [INFO] [stdout] test src/metrics/kappa.rs - metrics::kappa::CohenKappa (line 44) ... ok [INFO] [stdout] test src/metrics/strongly_adaptive.rs - metrics::strongly_adaptive::StronglyAdaptiveConformal (line 28) ... ok [INFO] [stdout] test src/metrics/kappa.rs - metrics::kappa::KappaM (line 181) ... ok [INFO] [stdout] test src/preprocessing/ccipca.rs - preprocessing::ccipca::CCIPCA::new (line 61) ... ok [INFO] [stdout] test src/preprocessing/ccipca.rs - preprocessing::ccipca (line 14) ... ok [INFO] [stdout] test src/metrics/rolling.rs - metrics::rolling::RollingRegressionMetrics (line 21) ... ok [INFO] [stdout] test src/metrics/rolling.rs - metrics::rolling::RollingClassificationMetrics (line 192) ... ok [INFO] [stdout] test src/pipeline.rs - pipeline::Pipeline (line 179) ... ok [INFO] [stdout] test src/preprocessing/feature_selector.rs - preprocessing::feature_selector::OnlineFeatureSelector::new (line 76) ... ok [INFO] [stdout] test src/metrics/platt_scaling.rs - metrics::platt_scaling::OnlinePlattScaling (line 19) ... ok [INFO] [stdout] test src/preprocessing/feature_hasher.rs - preprocessing::feature_hasher (line 14) ... ok [INFO] [stdout] test src/preprocessing/ccipca.rs - preprocessing::ccipca::CCIPCA::with_amnestic (line 76) ... ok [INFO] [stdout] test src/pipeline.rs - pipeline (line 21) ... ok [INFO] [stdout] test src/preprocessing/feature_selector.rs - preprocessing::feature_selector (line 14) ... ok [INFO] [stdout] test src/pipeline.rs - pipeline::PipelineBuilder (line 92) ... ok [INFO] [stdout] test src/preprocessing/min_max.rs - preprocessing::min_max::MinMaxScaler (line 24) ... ok [INFO] [stdout] test src/preprocessing/mod.rs - preprocessing (line 21) ... ok [INFO] [stdout] test src/preprocessing/feature_selector.rs - preprocessing::feature_selector::OnlineFeatureSelector::mask_features (line 144) ... ok [INFO] [stdout] test src/preprocessing/feature_hasher.rs - preprocessing::feature_hasher::FeatureHasher::new (line 82) ... ok [INFO] [stdout] test src/preprocessing/min_max.rs - preprocessing::min_max::MinMaxScaler::with_range (line 82) ... ok [INFO] [stdout] test src/preprocessing/normalizer.rs - preprocessing::normalizer::IncrementalNormalizer::new (line 65) ... ok [INFO] [stdout] test src/preprocessing/normalizer.rs - preprocessing::normalizer::IncrementalNormalizer::update_and_transform (line 225) ... ok [INFO] [stdout] test src/preprocessing/one_hot.rs - preprocessing::one_hot::OneHotEncoder (line 16) ... ok [INFO] [stdout] test src/preprocessing/min_max.rs - preprocessing::min_max::MinMaxScaler::new (line 61) ... ok [INFO] [stdout] test src/preprocessing/normalizer.rs - preprocessing::normalizer (line 19) ... ok [INFO] [stdout] test src/preprocessing/one_hot.rs - preprocessing::one_hot::OneHotEncoder::with_max_categories (line 69) ... ok [INFO] [stdout] test src/preprocessing/normalizer.rs - preprocessing::normalizer::IncrementalNormalizer::with_n_features (line 85) ... ok [INFO] [stdout] test src/preprocessing/normalizer.rs - preprocessing::normalizer::IncrementalNormalizer::with_variance_floor (line 105) ... ok [INFO] [stdout] test src/preprocessing/polynomial.rs - preprocessing::polynomial::PolynomialFeatures::interaction_only (line 77) ... ok [INFO] [stdout] test src/preprocessing/target_encoder.rs - preprocessing::target_encoder (line 24) ... ok [INFO] [stdout] test src/preprocessing/target_encoder.rs - preprocessing::target_encoder::TargetEncoder::new (line 75) ... ok [INFO] [stdout] test src/preprocessing/polynomial.rs - preprocessing::polynomial (line 16) ... ok [INFO] [stdout] test src/preprocessing/one_hot.rs - preprocessing::one_hot::OneHotEncoder::new (line 48) ... ok [INFO] [stdout] test src/preprocessing/target_encoder.rs - preprocessing::target_encoder::TargetEncoder::with_smoothing (line 101) ... ok [INFO] [stdout] test src/preprocessing/polynomial.rs - preprocessing::polynomial::PolynomialFeatures::new (line 56) ... ok [INFO] [stdout] test src/reservoir/esn.rs - reservoir::esn::EchoStateNetwork (line 48) ... ok [INFO] [stdout] test src/stream/adapters.rs - stream::adapters (line 12) - compile ... ok [INFO] [stdout] test src/reservoir/esn_config.rs - reservoir::esn_config::ESNConfig (line 27) ... ok [INFO] [stdout] test src/reservoir/esn_preprocessor.rs - reservoir::esn_preprocessor (line 13) ... ok [INFO] [stdout] test src/stream/channel.rs - stream::channel::SampleSender (line 25) - compile ... ok [INFO] [stdout] test src/ssm/mamba_config.rs - ssm::mamba_config::MambaConfig (line 26) ... ok [INFO] [stdout] test src/snn/spikenet.rs - snn::spikenet::SpikeNet (line 42) ... ok [INFO] [stdout] test src/stream/mod.rs - stream (line 38) - compile ... ok [INFO] [stdout] test src/snn/mod.rs - snn (line 15) ... ok [INFO] [stdout] test src/reservoir/ngrc_config.rs - reservoir::ngrc_config::NGRCConfig (line 26) ... ok [INFO] [stdout] test src/reservoir/ngrc.rs - reservoir::ngrc::NextGenRC (line 45) ... ok [INFO] [stdout] test src/ssm/mamba.rs - ssm::mamba::StreamingMamba (line 59) ... ok [INFO] [stdout] test src/snn/mod.rs - snn (line 32) ... ok [INFO] [stdout] test src/stream/mod.rs - stream::AsyncSGBT::with_loss (line 218) - compile ... ok [INFO] [stdout] test src/ttt/mod.rs - ttt::StreamingTTT (line 245) - compile ... ok [INFO] [stdout] test src/snn/spike_preprocessor.rs - snn::spike_preprocessor::SpikePreprocessor (line 28) ... ok [INFO] [stdout] test src/snn/spikenet_config.rs - snn::spikenet_config::SpikeNetConfigBuilder (line 165) ... ok [INFO] [stdout] test src/ssm/mamba_config.rs - ssm::mamba_config::MambaConfigBuilder (line 79) ... ok [INFO] [stdout] test src/time_series/decomposition.rs - time_series::decomposition::StreamingDecomposition (line 148) ... ok [INFO] [stdout] test src/ssm/mod.rs - ssm (line 28) ... ok [INFO] [stdout] test src/ssm/mamba_preprocessor.rs - ssm::mamba_preprocessor (line 17) ... ok [INFO] [stdout] test src/ssm/mamba_preprocessor.rs - ssm::mamba_preprocessor::MambaPreprocessor (line 38) ... ok [INFO] [stdout] test src/time_series/holt_winters.rs - time_series::holt_winters::HoltWintersConfig (line 32) ... ok [INFO] [stdout] test src/ttt/mod.rs - ttt::TTTConfig (line 44) ... ok [INFO] [stdout] test src/time_series/snarimax.rs - time_series::snarimax::SNARIMAX::forecast (line 377) ... ok [INFO] [stdout] test src/time_series/snarimax.rs - time_series::snarimax::SNARIMAXConfig::builder (line 113) ... ok [INFO] [stdout] test src/time_series/snarimax.rs - time_series::snarimax (line 45) ... ok [INFO] [stdout] test src/time_series/snarimax.rs - time_series::snarimax::SNARIMAX::new (line 298) ... ok [INFO] [stdout] test src/time_series/decomposition.rs - time_series::decomposition::DecompositionConfigBuilder (line 36) ... ok [INFO] [stdout] test src/time_series/holt_winters.rs - time_series::holt_winters::HoltWinters (line 152) ... ok [INFO] [stdout] test src/ttt/mod.rs - ttt::TTTConfigBuilder (line 115) ... ok [INFO] [stdout] test src/time_series/snarimax.rs - time_series::snarimax::SNARIMAX (line 253) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 176 passed; 0 failed; 14 ignored; 0 measured; 0 filtered out; finished in 18.21s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "aa9d7f33aae46a0657287d9abca502080295d6ae137605847ba0c7a07bd5f93b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "aa9d7f33aae46a0657287d9abca502080295d6ae137605847ba0c7a07bd5f93b", kill_on_drop: false }` [INFO] [stdout] aa9d7f33aae46a0657287d9abca502080295d6ae137605847ba0c7a07bd5f93b