[INFO] fetching crate irithyll 10.0.1...
[INFO] testing irithyll-10.0.1 against 1.99.0-beta.8 for beta-1.100-2
[INFO] extracting crate irithyll 10.0.1 into /workspace/builds/worker-6-tc1/source
[INFO] started tweaking crates.io crate irithyll 10.0.1
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate irithyll 10.0.1
[INFO] tweaked toml for crates.io crate irithyll 10.0.1 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate irithyll 10.0.1 on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate irithyll 10.0.1 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded prost-derive v0.13.5
[INFO] [stderr]   Downloaded rand v0.8.6
[INFO] [stderr]   Downloaded prost v0.13.5
[INFO] [stderr]   Downloaded const-random-macro v0.1.16
[INFO] [stderr]   Downloaded seq-macro v0.3.6
[INFO] [stderr]   Downloaded ordered-float v2.10.1
[INFO] [stderr]   Downloaded integer-encoding v3.0.4
[INFO] [stderr]   Downloaded unty v0.0.4
[INFO] [stderr]   Downloaded bincode_derive v2.0.1
[INFO] [stderr]   Downloaded const-random v0.1.18
[INFO] [stderr]   Downloaded lexical-core v1.0.6
[INFO] [stderr]   Downloaded flatbuffers v24.12.23
[INFO] [stderr]   Downloaded snap v1.1.1
[INFO] [stderr]   Downloaded twox-hash v2.1.2
[INFO] [stderr]   Downloaded lexical-parse-integer v1.0.6
[INFO] [stderr]   Downloaded thrift v0.17.0
[INFO] [stderr]   Downloaded lz4_flex v0.11.6
[INFO] [stderr]   Downloaded virtue v0.0.18
[INFO] [stderr]   Downloaded arrow-arith v54.3.1
[INFO] [stderr]   Downloaded lexical-write-integer v1.0.6
[INFO] [stderr]   Downloaded arrow-string v54.3.1
[INFO] [stderr]   Downloaded arrow-row v54.3.1
[INFO] [stderr]   Downloaded arrow-data v54.3.1
[INFO] [stderr]   Downloaded arrow-select v54.3.1
[INFO] [stderr]   Downloaded arrow-buffer v54.3.1
[INFO] [stderr]   Downloaded comfy-table v7.2.2
[INFO] [stderr]   Downloaded bincode v2.0.1
[INFO] [stderr]   Downloaded arrow-ord v54.3.1
[INFO] [stderr]   Downloaded arrow-schema v54.3.1
[INFO] [stderr]   Downloaded arrow v54.3.1
[INFO] [stderr]   Downloaded arrow-ipc v54.3.1
[INFO] [stderr]   Downloaded arrow-cast v54.3.1
[INFO] [stderr]   Downloaded lexical-write-float v1.0.6
[INFO] [stderr]   Downloaded lexical-util v1.0.7
[INFO] [stderr]   Downloaded brotli-decompressor v4.0.3
[INFO] [stderr]   Downloaded lexical-parse-float v1.0.6
[INFO] [stderr]   Downloaded proptest v1.10.0
[INFO] [stderr]   Downloaded arrow-array v54.3.1
[INFO] [stderr]   Downloaded irithyll-core v1.0.0
[INFO] [stderr]   Downloaded parquet v54.3.1
[INFO] [stderr]   Downloaded brotli v7.0.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 7deaf20d92b46a2fbb973dfe0e2edc851fe3b2209a8087cfdb67493fa8e229d1
[INFO] running `Command { std: "docker" "start" "7deaf20d92b46a2fbb973dfe0e2edc851fe3b2209a8087cfdb67493fa8e229d1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7deaf20d92b46a2fbb973dfe0e2edc851fe3b2209a8087cfdb67493fa8e229d1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7deaf20d92b46a2fbb973dfe0e2edc851fe3b2209a8087cfdb67493fa8e229d1" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7deaf20d92b46a2fbb973dfe0e2edc851fe3b2209a8087cfdb67493fa8e229d1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7deaf20d92b46a2fbb973dfe0e2edc851fe3b2209a8087cfdb67493fa8e229d1" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling libm v0.2.16
[INFO] [stderr]    Compiling irithyll-core v1.0.0
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling irithyll v10.0.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 40.00s
[INFO] running `Command { std: "docker" "inspect" "7deaf20d92b46a2fbb973dfe0e2edc851fe3b2209a8087cfdb67493fa8e229d1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7deaf20d92b46a2fbb973dfe0e2edc851fe3b2209a8087cfdb67493fa8e229d1" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.42
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling zerocopy-derive v0.8.42
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[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 rayon v1.11.0
[INFO] [stderr]    Compiling plotters v0.3.7
[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 anes v0.1.6
[INFO] [stderr]    Compiling unarray v0.1.4
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling approx v0.5.1
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling proptest v1.10.0
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling irithyll v10.0.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 46s
[INFO] running `Command { std: "docker" "inspect" "7deaf20d92b46a2fbb973dfe0e2edc851fe3b2209a8087cfdb67493fa8e229d1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7deaf20d92b46a2fbb973dfe0e2edc851fe3b2209a8087cfdb67493fa8e229d1" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.24s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/irithyll-da55bf24c5a77728)
[INFO] [stdout] 
[INFO] [stdout] running 1643 tests
[INFO] [stdout] test anomaly::hst::tests::test_basic_construction ... 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_d_model_not_divisible_by_n_heads ... ok
[INFO] [stdout] test attention::attention_config::tests::builder_defaults_with_d_model ... ok
[INFO] [stdout] test attention::attention_config::tests::builder_explicit_d_key_d_value ... ok
[INFO] [stdout] test attention::attention_config::tests::builder_forgetting_factor_one_valid ... ok
[INFO] [stdout] test attention::attention_config::tests::builder_invalid_d_key_zero ... ok
[INFO] [stdout] test attention::attention_config::tests::builder_invalid_delta_negative ... ok
[INFO] [stdout] test attention::attention_config::tests::builder_invalid_delta_zero ... ok
[INFO] [stdout] test attention::attention_config::tests::builder_invalid_forgetting_factor_over_one ... ok
[INFO] [stdout] test attention::attention_config::tests::builder_invalid_forgetting_factor_zero ... ok
[INFO] [stdout] test attention::attention_config::tests::builder_invalid_n_heads_zero ... ok
[INFO] [stdout] test attention::attention_config::tests::builder_missing_d_model ... ok
[INFO] [stdout] test attention::attention_config::tests::config_clone ... ok
[INFO] [stdout] test attention::attention_config::tests::display_format ... ok
[INFO] [stdout] test attention::attention_preprocessor::tests::deterministic_with_same_seed ... ok
[INFO] [stdout] test attention::attention_preprocessor::tests::new_creates_correct_dim ... ok
[INFO] [stdout] test attention::attention_preprocessor::tests::pipeline_integration ... 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::transform_before_any_update_returns_zeros ... ok
[INFO] [stdout] test attention::attention_preprocessor::tests::transform_returns_cached_output ... ok
[INFO] [stdout] test attention::attention_preprocessor::tests::update_and_transform_produces_finite_output ... ok
[INFO] [stdout] test attention::attention_preprocessor::tests::update_and_transform_returns_correct_dim ... ok
[INFO] [stdout] test attention::streaming_attention::tests::attention_plasticity_disabled_by_default ... ok
[INFO] [stdout] test attention::streaming_attention::tests::attention_plasticity_enabled_creates_guard ... ok
[INFO] [stdout] test attention::streaming_attention::tests::attention_plasticity_train_runs_without_panic ... ok
[INFO] [stdout] test attention::streaming_attention::tests::config_accessor ... ok
[INFO] [stdout] test anomaly::hst::tests::test_anomaly_detection_basic ... ok
[INFO] [stdout] test attention::streaming_attention::tests::gla_predict_uses_current_input_not_stale ... ok
[INFO] [stdout] test attention::streaming_attention::tests::convergence_on_sine_wave ... ok
[INFO] [stdout] test attention::streaming_attention::tests::is_warm_after_warmup_samples ... ok
[INFO] [stdout] test attention::streaming_attention::tests::mode_accessor ... ok
[INFO] [stdout] test attention::streaming_attention::tests::new_creates_fresh_model ... ok
[INFO] [stdout] test attention::streaming_attention::tests::predict_after_reset_returns_zero ... ok
[INFO] [stdout] test attention::streaming_attention::tests::predict_after_training_is_finite ... ok
[INFO] [stdout] test attention::streaming_attention::tests::gla_prequential_accuracy_above_chance ... ok
[INFO] [stdout] test attention::streaming_attention::tests::predict_before_training_returns_zero ... ok
[INFO] [stdout] test attention::streaming_attention::tests::predict_batch_works ... ok
[INFO] [stdout] test attention::streaming_attention::tests::predict_reads_current_input ... ok
[INFO] [stdout] test attention::streaming_attention::tests::test_attention_nan_skipped ... ok
[INFO] [stdout] test attention::streaming_attention::tests::reset_clears_everything ... ok
[INFO] [stdout] test attention::streaming_attention::tests::train_one_increments_samples ... ok
[INFO] [stdout] test attention::streaming_attention::tests::train_convenience_uses_unit_weight ... ok
[INFO] [stdout] test automl::adaptation_bus::tests::adapter_queued_during_critical_registered_on_exit ... ok
[INFO] [stdout] test automl::adaptation_bus::tests::bus_rejects_adapter_with_lipschitz_above_one ... ok
[INFO] [stdout] test automl::adaptation_bus::tests::bus_rejects_registration_when_product_exceeds_one ... ok
[INFO] [stdout] test automl::adaptation_bus::tests::clamp_delta_over_budget_scaled_down ... ok
[INFO] [stdout] test automl::adaptation_bus::tests::bus_accepts_noop_and_contraction ... ok
[INFO] [stdout] test automl::adaptation_bus::tests::clamp_delta_within_budget_unchanged ... ok
[INFO] [stdout] test automl::adaptation_bus::tests::critical_section_flushes_adapter_state_on_exit ... ok
[INFO] [stdout] test automl::adaptation_bus::tests::critical_guard_exits_on_drop ... ok
[INFO] [stdout] test automl::adaptation_bus::tests::exit_without_enter_is_idempotent_noop ... ok
[INFO] [stdout] test automl::adaptation_bus::tests::critical_section_pauses_continuous_adapters ... ok
[INFO] [stdout] test automl::adaptation_bus::tests::nested_critical_section_correct_depth ... ok
[INFO] [stdout] test automl::adaptation_bus::tests::norm2_of_unit_diagonal ... ok
[INFO] [stdout] test automl::adaptation_bus::tests::oscillation_detector_fires_on_repeated_large_swings ... ok
[INFO] [stdout] test automl::adaptation_bus::tests::oscillation_detector_resets_after_stable_theta ... ok
[INFO] [stdout] test automl::adaptation_bus::tests::theta_stays_in_unit_hypercube_under_contraction ... ok
[INFO] [stdout] test automl::auto_builder::tests::diagnostic_learner_init_phase_no_adjustments ... ok
[INFO] [stdout] test automl::auto_builder::tests::diagnostic_learner_backward_compat_alias ... ok
[INFO] [stdout] test automl::auto_builder::tests::diagnostic_learner_meta_objective_default ... ok
[INFO] [stdout] test automl::auto_builder::tests::diagnostic_learner_phase_cycling ... ok
[INFO] [stdout] test automl::auto_builder::tests::diagnostic_learner_structural_change ... ok
[INFO] [stdout] test automl::auto_builder::tests::diagnostic_learner_theta_bounds_clamping ... ok
[INFO] [stdout] test automl::auto_builder::tests::diagnostic_learner_reset_clears_state ... ok
[INFO] [stdout] test automl::auto_builder::tests::diagnostic_learner_with_custom_objective ... ok
[INFO] [stdout] test automl::auto_builder::tests::distillation_disabled_by_default ... ok
[INFO] [stdout] test automl::auto_builder::tests::feasible_region_abundant_data ... 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::is_terminated_is_monotonic ... ok
[INFO] [stdout] test automl::auto_builder::tests::pareto_dominated_candidate_excluded ... ok
[INFO] [stdout] test automl::auto_builder::tests::pareto_handles_nan_signals ... ok
[INFO] [stdout] test automl::auto_builder::tests::pareto_invokes_bernstein_tiebreak_for_multi_front ... ok
[INFO] [stdout] test automl::auto_builder::tests::pareto_matches_scalar_when_single_metric_varies ... ok
[INFO] [stdout] test automl::auto_builder::tests::pareto_no_samples_returns_none ... ok
[INFO] [stdout] test automl::auto_builder::tests::pareto_non_dominated_pair_returns_both_in_front ... ok
[INFO] [stdout] test automl::auto_builder::tests::feasible_region_center_config_valid ... ok
[INFO] [stdout] test automl::auto_builder::tests::pareto_single_candidate_wins ... ok
[INFO] [stdout] test anomaly::hst::tests::test_reset ... ok
[INFO] [stdout] test anomaly::hst::tests::test_update_increments_count ... ok
[INFO] [stdout] test automl::auto_builder::tests::samples_since_change_increments_per_feed ... ok
[INFO] [stdout] test anomaly::hst::tests::test_score_and_update ... ok
[INFO] [stdout] test automl::auto_builder::tests::samples_until_termination_decrements_correctly ... ok
[INFO] [stdout] test automl::auto_builder::tests::samples_since_change_resets_on_winner_flip ... ok
[INFO] [stdout] test automl::auto_builder::tests::spsa_bounded_total_adjustment ... ok
[INFO] [stdout] test automl::auto_builder::tests::terminate_after_duration_freezes_state ... ignored, Duration-based termination is non-deterministic on real wall-clock time
[INFO] [stdout] test automl::auto_builder::tests::terminate_after_corrections_freezes_state ... ok
[INFO] [stdout] test automl::auto_builder::tests::terminate_after_samples_freezes_state ... ok
[INFO] [stdout] test automl::auto_builder::tests::train_one_weighted_default_ignores_weight ... ok
[INFO] [stdout] test automl::auto_builder::tests::welford_race_all_see_all ... ok
[INFO] [stdout] test anomaly::hst::tests::test_score_range ... ok
[INFO] [stdout] test automl::auto_builder::tests::terminate_after_never_default_back_compat ... ok
[INFO] [stdout] test automl::auto_builder::tests::welford_stats_accuracy ... ok
[INFO] [stdout] test automl::auto_builder::tests::winner_change_count_is_monotonically_non_decreasing ... ok
[INFO] [stdout] test automl::auto_builder::tests::welford_race_selects_best ... ok
[INFO] [stdout] test automl::auto_tuner::tests::tournament_builder_creates_champion_and_tournament ... ok
[INFO] [stdout] test automl::auto_tuner::tests::tournament_builder_default ... ok
[INFO] [stdout] test anomaly::hst::tests::test_with_ranges ... ok
[INFO] [stdout] test automl::budget::tests::budget_exhausts_arm_when_overrun ... ok
[INFO] [stdout] test automl::budget::tests::budget_normalizes_across_arms_with_different_complexity ... ok
[INFO] [stdout] test automl::budget::tests::budget_total_cost_reflects_actual_usage ... ok
[INFO] [stdout] test automl::cohort::tests::cohort_demotes_lowest_when_new_candidate_enters ... ok
[INFO] [stdout] test automl::cohort::tests::ewma_does_not_reset_at_round_boundary ... ok
[INFO] [stdout] test automl::cohort::tests::cohort_quorum_vote_demotes_majority ... ok
[INFO] [stdout] test automl::auto_tuner::tests::tournament_snapshot ... 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::latin_hypercube_coverage ... 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_in_bounds ... 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::auto_builder::tests::race_drift_score_returns_zero_until_buffer_half_full ... ok
[INFO] [stdout] test automl::config_space::tests::random_sample_in_bounds ... ok
[INFO] [stdout] test automl::config_space::tests::perturb_categorical_changes ... ok
[INFO] [stdout] test automl::config_space::tests::log_scale_sampling ... ok
[INFO] [stdout] test automl::factories::tests::attention_arm_config_rejects_out_of_range ... ok
[INFO] [stdout] test automl::factories::tests::delta_product_arm_config_rejects_out_of_range ... ok
[INFO] [stdout] test automl::factories::tests::distributional_arm_config_rejects_out_of_range ... ok
[INFO] [stdout] test automl::factories::tests::factory_as_trait_object ... ok
[INFO] [stdout] test automl::factories::tests::esn_arm_config_rejects_out_of_range ... ok
[INFO] [stdout] test automl::factories::tests::factory_error_display ... ok
[INFO] [stdout] test automl::config_space::tests::perturb_zero_sigma_preserves_float_and_int ... ok
[INFO] [stdout] test automl::factories::tests::factory_is_send_sync ... ok
[INFO] [stdout] test automl::factories::tests::factory_rejects_missing_param ... ok
[INFO] [stdout] test automl::factories::tests::factory_rejects_wrong_type_param ... ok
[INFO] [stdout] test automl::factories::tests::kan_arm_config_rejects_out_of_range ... ok
[INFO] [stdout] test automl::factories::tests::mamba_bd_arm_config_rejects_out_of_range ... ok
[INFO] [stdout] test automl::factories::tests::mamba3_arm_config_rejects_out_of_range ... ok
[INFO] [stdout] test automl::factories::tests::mamba_arm_config_rejects_out_of_range ... ok
[INFO] [stdout] test automl::factories::tests::multiclass_sgbt_arm_config_rejects_out_of_range ... ok
[INFO] [stdout] test automl::factories::tests::mgrade_arm_config_rejects_out_of_range ... ok
[INFO] [stdout] test automl::factories::tests::rwkv7_arm_config_rejects_out_of_range ... ok
[INFO] [stdout] test automl::factories::tests::sgbt_arm_config_rejects_out_of_range ... ok
[INFO] [stdout] test automl::factories::tests::slstm_arm_config_rejects_out_of_range ... ok
[INFO] [stdout] test automl::factories::tests::spike_net_arm_config_rejects_out_of_range ... ok
[INFO] [stdout] test automl::factories::tests::ttt_arm_config_rejects_out_of_range ... ok
[INFO] [stdout] test automl::factories::tests::unified_factory_in_auto_tuner ... ok
[INFO] [stdout] test automl::factories::tests::unified_factory_names ... ok
[INFO] [stdout] test automl::factories::tests::unified_factory_with_overrides ... ok
[INFO] [stdout] test automl::lipschitz_verification::lipschitz_tests::contraction_adapter_at_declared_bound ... ok
[INFO] [stdout] test automl::auto_tuner::tests::tournament_reset ... ok
[INFO] [stdout] test anomaly::hst::tests::test_deterministic_with_seed ... ok
[INFO] [stdout] test automl::auto_builder::tests::race_drift_score_positive_when_error_growing ... ok
[INFO] [stdout] test automl::lipschitz_verification::lipschitz_tests::drift_rate_adapter_non_expansive_after_flush ... ok
[INFO] [stdout] test automl::lipschitz_verification::lipschitz_tests::noop_adapter_non_expansive ... ok
[INFO] [stdout] test automl::meta_learner::tests::complexity_class_buckets_match_documented_thresholds ... ok
[INFO] [stdout] test automl::meta_learner::tests::lipschitz_product_satisfies_banach_contraction_invariant ... ok
[INFO] [stdout] test automl::meta_learner::tests::meta_learner_across_family_comparison_is_pareto_not_scalar ... ok
[INFO] [stdout] test automl::meta_learner::tests::meta_learner_compose_with_within_model_auto_tuner ... ok
[INFO] [stdout] test automl::meta_learner::tests::meta_learner_is_trait_object_safe ... ok
[INFO] [stdout] test automl::meta_learner::tests::meta_learner_lipschitz_bound_derives_from_implementation ... ok
[INFO] [stdout] test automl::meta_learner::tests::meta_learner_no_op_default_compiles_for_all_models ... ok
[INFO] [stdout] test automl::meta_learner::tests::no_op_default_factory_has_identity_lipschitz ... ok
[INFO] [stdout] test automl::meta_learner::tests::objective_sign_convention ... ok
[INFO] [stdout] test automl::factories::tests::projection_factory_in_auto_tuner ... ok
[INFO] [stdout] test automl::meta_learner::tests::pareto_complexity_axis_breaks_equal_metric_ties ... ok
[INFO] [stdout] test automl::meta_learner::tests::pareto_disjoint_objectives_are_incomparable ... ok
[INFO] [stdout] test automl::meta_learner::tests::pareto_strict_dominance_excludes_dominated ... ok
[INFO] [stdout] test automl::racing::tests::bernstein_bound_widens_with_variance ... ok
[INFO] [stdout] test automl::meta_learner::tests::pareto_handles_nan_as_incomparable ... ok
[INFO] [stdout] test automl::racing::tests::bernstein_inconclusive_below_min_samples ... ok
[INFO] [stdout] test automl::racing::tests::bernstein_promotes_with_clear_advantage ... ok
[INFO] [stdout] test automl::racing::tests::bernstein_promotion_requires_statistical_certainty ... ok
[INFO] [stdout] test automl::racing::tests::bernstein_handles_drift_via_ewma_decay ... ok
[INFO] [stdout] test automl::racing::tests::bernstein_returns_infinity_for_small_n ... ok
[INFO] [stdout] test automl::racing::tests::bernstein_worse_when_challenger_mean_exceeds_champion ... ok
[INFO] [stdout] test automl::racing::tests::bernstein_tighter_than_hoeffding_at_low_variance ... ok
[INFO] [stdout] test automl::racing::tests::pareto_front_can_invoke_bernstein_tiebreak ... ok
[INFO] [stdout] test automl::racing::tests::pareto_front_returns_none_when_uncertain ... ok
[INFO] [stdout] test automl::racing::tests::pareto_front_single_entry_always_wins ... ok
[INFO] [stdout] test automl::racing::tests::welford_tracker_cold_start_single_sample ... ok
[INFO] [stdout] test automl::racing::tests::welford_tracker_flush_resets_stats_keeps_range ... ok
[INFO] [stdout] test automl::racing::tests::welford_tracker_mean_and_variance ... ok
[INFO] [stdout] test automl::reward::tests::better_performance_higher_reward ... ok
[INFO] [stdout] test automl::reward::tests::baseline_tracks_values ... ok
[INFO] [stdout] test automl::auto_builder::tests::race_drift_score_negative_when_winner_improving ... ok
[INFO] [stdout] test automl::reward::tests::normalizer_first_value_returns_half ... 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::with_span_alpha_computation ... ok
[INFO] [stdout] test automl::lipschitz_verification::lipschitz_tests::plasticity_adapter_non_expansive_after_flush ... ok
[INFO] [stdout] test automl::reward::tests::worse_performance_lower_reward ... ok
[INFO] [stdout] test automl::reward::tests::zero_baseline_returns_half ... ok
[INFO] [stdout] test automl::reward::tests::new_panics_on_zero_alpha - should panic ... ok
[INFO] [stdout] test automl::reward::tests::new_panics_on_alpha_over_one - should panic ... ok
[INFO] [stdout] test automl::reward::tests::with_span_panics_on_zero - should panic ... ok
[INFO] [stdout] test automl::space::tests::conditional_param_present_only_when_active ... ok
[INFO] [stdout] test automl::space::tests::category_string_equality ... ok
[INFO] [stdout] test automl::space::tests::constraint_rejection_yields_only_feasible ... ok
[INFO] [stdout] test automl::space::tests::conditional_parent_must_exist ... ok
[INFO] [stdout] test automl::space::tests::cyclic_conditionals_detected ... ok
[INFO] [stdout] test automl::space::tests::param_map_rejects_wrong_type ... ok
[INFO] [stdout] test automl::space::tests::latin_hypercube_returns_feasible_subset ... ok
[INFO] [stdout] test automl::space::tests::log_scale_sampling_in_bounds ... ok
[INFO] [stdout] test automl::space::tests::perturb_stays_in_bounds_and_feasible ... ok
[INFO] [stdout] test automl::space::tests::param_map_required_accessors_reject_missing ... ok
[INFO] [stdout] test automl::space::tests::sampling_produces_in_bounds_values ... ok
[INFO] [stdout] test automl::space::tests::search_space_builder_basic_roundtrip ... ok
[INFO] [stdout] test automl::space::tests::deterministic_sampling_with_seed ... ok
[INFO] [stdout] test automl::space::tests::search_space_rejects_inverted_int_range ... ok
[INFO] [stdout] test automl::space::tests::search_space_rejects_duplicate_name ... ok
[INFO] [stdout] test automl::space::tests::search_space_set_float_range ... ok
[INFO] [stdout] test automl::space::tests::search_space_rejects_log_with_nonpositive_low ... ok
[INFO] [stdout] test automl::space::tests::search_space_set_float_range_rejects_inverted ... ok
[INFO] [stdout] test automl::space::tests::unsatisfiable_constraint_returns_error ... ok
[INFO] [stdout] test bandits::discounted_thompson::tests::deterministic_with_seed ... 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 automl::space::tests::search_space_rejects_empty_categorical ... ok
[INFO] [stdout] test automl::space::tests::search_space_rejects_inverted_float_range ... ok
[INFO] [stdout] test bandits::discounted_thompson::tests::adapts_to_change ... 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::epsilon_greedy::tests::decay_reduces_epsilon ... ok
[INFO] [stdout] test bandits::epsilon_greedy::tests::epsilon_zero_always_exploits ... ok
[INFO] [stdout] test bandits::discounted_thompson::tests::invalid_discount_above_one_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::discounted_thompson::tests::invalid_n_arms_panics - should panic ... ok
[INFO] [stdout] test bandits::epsilon_greedy::tests::selects_best_arm_over_time ... ok
[INFO] [stdout] test bandits::lin_ucb::tests::reset_clears_state ... ok
[INFO] [stdout] test bandits::discounted_thompson::tests::invalid_discount_zero_panics - should panic ... ok
[INFO] [stdout] test bandits::lin_ucb::tests::selects_best_arm_with_context ... ok
[INFO] [stdout] test bandits::lin_ucb::tests::explores_all_arms_initially ... ok
[INFO] [stdout] test bandits::lin_ucb::tests::theta_converges ... ok
[INFO] [stdout] test bandits::lin_ucb::tests::sherman_morrison_preserves_symmetry ... ok
[INFO] [stdout] test bandits::lin_ucb::tests::ucb_score_finite ... ok
[INFO] [stdout] test bandits::tests::beta_sample_in_unit_interval ... ok
[INFO] [stdout] test bandits::tests::standard_normal_finite ... ok
[INFO] [stdout] test bandits::tests::xorshift64_deterministic ... ok
[INFO] [stdout] test bandits::tests::xorshift64_f64_in_unit_interval ... ok
[INFO] [stdout] test bandits::thompson::tests::arm_values_track_mean ... ok
[INFO] [stdout] test bandits::thompson::tests::custom_prior_works ... ok
[INFO] [stdout] test bandits::tests::beta_sample_mean_approximately_correct ... ok
[INFO] [stdout] test bandits::thompson::tests::reset_restores_prior ... ok
[INFO] [stdout] test bandits::tests::gamma_sample_positive ... ok
[INFO] [stdout] test bandits::thompson::tests::rewards_clamped_to_unit_interval ... ok
[INFO] [stdout] test bandits::thompson::tests::prior_is_uniform ... ok
[INFO] [stdout] test bandits::ucb::tests::ucb1_explores_all_arms_first ... ok
[INFO] [stdout] test bandits::ucb::tests::ucb1_incremental_mean_correct ... ok
[INFO] [stdout] test bandits::ucb::tests::ucb1_reset_clears_state ... 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::ucb_tuned_explores_all_arms_first ... ok
[INFO] [stdout] test bandits::ucb::tests::ucb_tuned_reset_clears_state ... ok
[INFO] [stdout] test bandits::ucb::tests::ucb_tuned_selects_best_arm ... ok
[INFO] [stdout] test bandits::ucb::tests::ucb_tuned_variance_tracking ... 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::config_builder_validates ... ok
[INFO] [stdout] test clustering::clustream::tests::distant_point_creates_new_mc ... ok
[INFO] [stdout] test clustering::clustream::tests::macro_clusters_separates_groups ... 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::predict_nearest_micro_cluster ... ok
[INFO] [stdout] test clustering::clustream::tests::reset_clears_state ... ok
[INFO] [stdout] test clustering::clustream::tests::single_point_creates_micro_cluster ... ok
[INFO] [stdout] test clustering::dbstream::tests::cleanup_removes_light_clusters ... 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::macro_clusters_merge_shared_density ... ok
[INFO] [stdout] test clustering::dbstream::tests::nearby_points_merge ... 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::kmeans::tests::centroids_converge_on_clusters ... ok
[INFO] [stdout] test clustering::kmeans::tests::cluster_counts_track_assignments ... 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::predict_distance_returns_correct_distance ... ok
[INFO] [stdout] test clustering::kmeans::tests::predict_nearest_centroid ... ok
[INFO] [stdout] test clustering::kmeans::tests::reset_clears_all_state ... ok
[INFO] [stdout] test common::plasticity::tests::accepts_regen_fraction_one ... ok
[INFO] [stdout] test common::plasticity::tests::accepts_utility_alpha_zero ... ok
[INFO] [stdout] test common::plasticity::tests::builder_round_trips ... ok
[INFO] [stdout] test common::plasticity::tests::clone_is_deep ... ok
[INFO] [stdout] test common::plasticity::tests::default_values_match_paper ... ok
[INFO] [stdout] test common::plasticity::tests::display_contains_fields ... ok
[INFO] [stdout] test common::plasticity::tests::rejects_negative_regen_fraction ... ok
[INFO] [stdout] test common::plasticity::tests::rejects_negative_utility_alpha ... ok
[INFO] [stdout] test common::plasticity::tests::rejects_utility_alpha_one ... ok
[INFO] [stdout] test bandits::thompson::tests::update_adjusts_posterior ... ok
[INFO] [stdout] test common::plasticity::tests::rejects_zero_regen_fraction ... ok
[INFO] [stdout] test common::plasticity::tests::rejects_zero_regen_interval ... ok
[INFO] [stdout] test continual::continual_wrapper::tests::as_trait_object ... ok
[INFO] [stdout] test continual::continual_wrapper::tests::debug_format_is_informative ... ok
[INFO] [stdout] test bandits::thompson::tests::selects_best_arm_over_time ... 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::n_samples_tracks_correctly ... ok
[INFO] [stdout] test continual::continual_wrapper::tests::no_drift_detector_works_fine ... ok
[INFO] [stdout] test continual::continual_wrapper::tests::predict_is_side_effect_free ... ok
[INFO] [stdout] test continual::continual_wrapper::tests::pipeline_composition_works ... ok
[INFO] [stdout] test continual::continual_wrapper::tests::inner_access_works ... ok
[INFO] [stdout] test continual::continual_wrapper::tests::reset_clears_everything ... ok
[INFO] [stdout] test continual::continual_wrapper::tests::reset_on_drift_resets_inner_model ... ok
[INFO] [stdout] test continual::continual_wrapper::tests::with_reset_on_drift_false_does_not_reset ... 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 ensemble::adaptive::tests::plateau_lr_reduces_on_stagnation ... ok
[INFO] [stdout] test ensemble::adaptive::tests::predict_is_finite ... 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_tree_accuracies ... ok
[INFO] [stdout] test continual::continual_wrapper::tests::wraps_learner_transparently ... ok
[INFO] [stdout] test ensemble::adaptive_forest::tests::arf_majority_vote ... ok
[INFO] [stdout] test ensemble::bagged::tests::creates_correct_number_of_bags ... ok
[INFO] [stdout] test ensemble::bagged::tests::poisson_mean_approximately_one ... 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 bandits::lin_ucb::tests::single_feature_linear_reward ... ok
[INFO] [stdout] test ensemble::bagged::tests::predict_averages_bags ... ok
[INFO] [stdout] test ensemble::bagged::tests::rejects_zero_bags ... 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::config::tests::builder_chain ... ok
[INFO] [stdout] test ensemble::config::tests::default_config_values ... ok
[INFO] [stdout] test ensemble::config::tests::validation_adaptive_mts_floor_too_high ... ok
[INFO] [stdout] test ensemble::config::tests::validation_bad_monotone_constraint ... ok
[INFO] [stdout] test ensemble::config::tests::validation_delta_one ... ok
[INFO] [stdout] test ensemble::config::tests::validation_delta_zero ... ok
[INFO] [stdout] test ensemble::config::tests::validation_drift_detector_adwin_bad_delta ... ok
[INFO] [stdout] test ensemble::config::tests::validation_drift_detector_ddm_bad_levels ... ok
[INFO] [stdout] test ensemble::config::tests::validation_drift_detector_pht_bad_delta ... ok
[INFO] [stdout] test ensemble::config::tests::validation_duplicate_feature_names ... ok
[INFO] [stdout] test ensemble::config::tests::validation_empirical_sigma_alpha_too_high ... ok
[INFO] [stdout] test ensemble::config::tests::validation_error_weight_alpha_one ... ok
[INFO] [stdout] test ensemble::bagged::tests::streaming_learner_trait_object ... ok
[INFO] [stdout] test ensemble::config::tests::validation_error_weight_alpha_zero ... ok
[INFO] [stdout] test ensemble::config::tests::validation_feature_subsample_rate_too_high ... ok
[INFO] [stdout] test ensemble::config::tests::validation_feature_names_types_mismatch ... ok
[INFO] [stdout] test ensemble::config::tests::validation_gamma_negative ... ok
[INFO] [stdout] test ensemble::config::tests::validation_feature_subsample_rate_zero ... ok
[INFO] [stdout] test ensemble::config::tests::validation_grace_period_zero ... ok
[INFO] [stdout] test ensemble::config::tests::validation_lambda_negative ... ok
[INFO] [stdout] test ensemble::config::tests::validation_learning_rate_too_high ... ok
[INFO] [stdout] test ensemble::config::tests::validation_initial_target_count_zero ... ok
[INFO] [stdout] test ensemble::config::tests::validation_learning_rate_zero ... ok
[INFO] [stdout] test ensemble::config::tests::validation_max_depth_zero ... ok
[INFO] [stdout] test ensemble::config::tests::validation_n_bins_too_small ... ok
[INFO] [stdout] test ensemble::config::tests::validation_n_steps_zero ... ok
[INFO] [stdout] test ensemble::config::tests::validation_quality_prune_alpha_one ... ok
[INFO] [stdout] test ensemble::config::tests::validation_quality_prune_alpha_zero ... ok
[INFO] [stdout] test ensemble::config::tests::validation_n_bins_two_ok ... 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 ensemble::distributional::tests::batch_prediction_matches_individual ... ok
[INFO] [stdout] test ensemble::diagnostics::tests::ensemble_diagnostics_basic ... ok
[INFO] [stdout] test ensemble::distributional::tests::diagnostic_source_impl ... ok
[INFO] [stdout] test ensemble::distributional::tests::diagnostics_returns_correct_tree_count ... ok
[INFO] [stdout] test ensemble::distributional::tests::empirical_sigma_default_mode ... ok
[INFO] [stdout] test ensemble::distributional::tests::diagnostics_trees_have_leaves ... ok
[INFO] [stdout] test ensemble::distributional::tests::fresh_model_predicts_zero ... ok
[INFO] [stdout] test ensemble::distributional::tests::honest_sigma_in_gaussian_prediction ... ok
[INFO] [stdout] test ensemble::distributional::tests::packed_cache_disabled_by_default ... ok
[INFO] [stdout] test ensemble::distributional::tests::feature_importances_work ... ok
[INFO] [stdout] test ensemble::distributional::tests::predict_distributional_returns_sigma_ratio ... ok
[INFO] [stdout] test ensemble::distributional::tests::predict_decomposed_reconstructs_prediction ... ok
[INFO] [stdout] test ensemble::distributional::tests::predict_interpolated_returns_finite ... ok
[INFO] [stdout] test ensemble::distributional::tests::predict_smooth_returns_finite ... ok
[INFO] [stdout] test ensemble::distributional::tests::predict_interval_bounds_correct ... ok
[INFO] [stdout] test ensemble::distributional::tests::reset_clears_state ... ok
[INFO] [stdout] test ensemble::distributional::tests::serde_tests::json_round_trip_preserves_predictions ... ok
[INFO] [stdout] test ensemble::distributional::tests::serde_tests::state_preserves_rolling_sigma_mean ... ok
[INFO] [stdout] test ensemble::distributional::tests::sigma_always_positive ... ok
[INFO] [stdout] test ensemble::distributional::tests::sigma_modulated_initializes_rolling_mean ... ok
[INFO] [stdout] test ensemble::diagnostics::tests::feature_importance_nonzero ... ok
[INFO] [stdout] test ensemble::lr_schedule::tests::test_all_positive ... ok
[INFO] [stdout] test ensemble::lr_schedule::tests::test_constant_lr ... ok
[INFO] [stdout] test ensemble::lr_schedule::tests::test_cosine_annealing ... ok
[INFO] [stdout] test ensemble::distributional::tests::streaming_learner_returns_mu ... 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_exponential_floor ... ok
[INFO] [stdout] test ensemble::lr_schedule::tests::test_linear_decay ... 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_min_lr ... ok
[INFO] [stdout] test ensemble::lr_schedule::tests::test_plateau_reduces ... ok
[INFO] [stdout] test ensemble::lr_schedule::tests::test_plateau_reset ... ok
[INFO] [stdout] test ensemble::moe::tests::test_batch_training ... 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::streaming_learner_trait_object ... ok
[INFO] [stdout] test ensemble::moe::tests::test_gate_lr_effect ... ok
[INFO] [stdout] test ensemble::moe::tests::test_gating_probabilities_sum_to_one ... ok
[INFO] [stdout] test ensemble::moe::tests::test_hard_gating_top_k ... ok
[INFO] [stdout] test ensemble::moe::tests::test_n_experts ... ok
[INFO] [stdout] test ensemble::moe::tests::test_n_samples_seen ... ok
[INFO] [stdout] test ensemble::moe::tests::test_predict_with_gating ... ok
[INFO] [stdout] test ensemble::moe::tests::test_prediction_changes_after_training ... 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_single_expert ... 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_batch_training ... 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_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_mixture_variance ... ok
[INFO] [stdout] test ensemble::moe_distributional::tests::entropy_regularization_prevents_collapse ... 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::bagged::tests::convergence_on_linear_target ... 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::distributional::tests::tree_chain_mode_trains_scale_trees ... ok
[INFO] [stdout] test ensemble::moe_distributional::tests::test_prediction_changes_after_training ... ok
[INFO] [stdout] test ensemble::multi_target::tests::model_accessor_works ... ok
[INFO] [stdout] test ensemble::moe_distributional::tests::test_streaming_learner_trait ... ok
[INFO] [stdout] test ensemble::multi_target::tests::new_multi_target_creates_models ... ok
[INFO] [stdout] test ensemble::multi_target::tests::single_target_works ... ok
[INFO] [stdout] test ensemble::multi_target::tests::rejects_zero_targets ... ok
[INFO] [stdout] test ensemble::multi_target::tests::reset_clears_state ... ok
[INFO] [stdout] test ensemble::multi_target::tests::train_and_predict ... 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::multiclass::tests::predict_proba_sums_to_one ... ok
[INFO] [stdout] test ensemble::multiclass::tests::predict_proba_uniform_before_training ... ok
[INFO] [stdout] test ensemble::multiclass::tests::reset_clears_state ... ok
[INFO] [stdout] test ensemble::multi_target::tests::targets_are_independent ... ok
[INFO] [stdout] test ensemble::parallel::tests::accessors_return_expected_values ... ok
[INFO] [stdout] test ensemble::parallel::tests::base_prediction_initializes ... ok
[INFO] [stdout] test ensemble::multi_target::tests::wrong_target_count_panics - should panic ... ok
[INFO] [stdout] test ensemble::parallel::tests::debug_format_works ... ok
[INFO] [stdout] test ensemble::multiclass::tests::train_one_does_not_panic ... ok
[INFO] [stdout] test ensemble::parallel::tests::batch_prediction_matches_individual ... ok
[INFO] [stdout] test ensemble::parallel::tests::feature_importances_normalized ... ok
[INFO] [stdout] test ensemble::parallel::tests::mi_variant_works_with_parallel ... ok
[INFO] [stdout] test automl::lipschitz_verification::lipschitz_tests::drift_rate_adapter_non_expansive ... ok
[INFO] [stdout] test ensemble::parallel::tests::new_model_predicts_zero ... ok
[INFO] [stdout] test ensemble::parallel::tests::predict_proba_equals_predict_transformed ... ok
[INFO] [stdout] test ensemble::parallel::tests::prediction_changes_after_training ... 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::train_batch_equivalent_to_sequential ... 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::creates_correct_number_of_models ... ok
[INFO] [stdout] test ensemble::quantile_regressor::tests::batch_prediction ... ok
[INFO] [stdout] test ensemble::quantile_regressor::tests::pava_already_sorted ... ok
[INFO] [stdout] test ensemble::quantile_regressor::tests::pava_empty ... ok
[INFO] [stdout] test ensemble::quantile_regressor::tests::deterministic_with_same_config ... ok
[INFO] [stdout] test ensemble::quantile_regressor::tests::pava_equal_values ... ok
[INFO] [stdout] test ensemble::quantile_regressor::tests::pava_partial_violation ... ok
[INFO] [stdout] test ensemble::quantile_regressor::tests::pava_reversed ... ok
[INFO] [stdout] test ensemble::quantile_regressor::tests::pava_simple_violation ... ok
[INFO] [stdout] test ensemble::quantile_regressor::tests::pava_single_element ... ok
[INFO] [stdout] test ensemble::quantile_regressor::tests::pava_two_elements_violation ... ok
[INFO] [stdout] test ensemble::quantile_regressor::tests::predict_interval_returns_triple ... ok
[INFO] [stdout] test ensemble::quantile_regressor::tests::quantiles_are_sorted ... ok
[INFO] [stdout] test ensemble::quantile_regressor::tests::raw_predict_may_cross ... 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_one ... ok
[INFO] [stdout] test ensemble::quantile_regressor::tests::rejects_invalid_quantile_zero ... ok
[INFO] [stdout] test ensemble::quantile_regressor::tests::reset_clears_state ... 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::replacement::tests::graduated_blending_produces_intermediate_values ... 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_shadow_spawns_immediately ... 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::new_slot_predicts_zero ... ok
[INFO] [stdout] test ensemble::replacement::tests::predict_without_training ... ok
[INFO] [stdout] test ensemble::replacement::tests::reset_returns_to_fresh_state ... ok
[INFO] [stdout] test ensemble::replacement::tests::stable_stream_no_alternate ... 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::stacked::tests::test_base_predictions ... ok
[INFO] [stdout] test ensemble::stacked::tests::test_creation ... ok
[INFO] [stdout] test ensemble::stacked::tests::test_debug_impl ... ok
[INFO] [stdout] test ensemble::stacked::tests::test_heterogeneous_bases ... ok
[INFO] [stdout] test ensemble::quantile_regressor::tests::predictions_are_non_crossing ... ok
[INFO] [stdout] test ensemble::stacked::tests::test_n_samples_seen ... ok
[INFO] [stdout] test ensemble::stacked::tests::test_predict_batch ... ok
[INFO] [stdout] test ensemble::stacked::tests::test_passthrough ... ok
[INFO] [stdout] test ensemble::stacked::tests::test_temporal_holdout ... ok
[INFO] [stdout] test ensemble::stacked::tests::test_train_and_predict ... ok
[INFO] [stdout] test ensemble::stacked::tests::test_trait_object ... ok
[INFO] [stdout] test ensemble::step::tests::accessors_match_slot ... ok
[INFO] [stdout] test ensemble::step::tests::debug_format_does_not_panic ... 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::train_count_one_trains_once ... 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::tests::base_prediction_initializes ... ok
[INFO] [stdout] test ensemble::stacked::tests::test_reset ... ok
[INFO] [stdout] test ensemble::tests::ewma_config_propagates_and_trains ... ok
[INFO] [stdout] test ensemble::tests::clone_produces_independent_copy ... ok
[INFO] [stdout] test ensemble::tests::feature_importances_sums_to_one ... ok
[INFO] [stdout] test ensemble::tests::loss_accessor_works ... ok
[INFO] [stdout] test ensemble::tests::max_tree_samples_config_propagates ... ok
[INFO] [stdout] test ensemble::tests::new_model_predicts_zero ... ok
[INFO] [stdout] test ensemble::tests::predict_with_confidence_finite ... ok
[INFO] [stdout] test ensemble::parallel::tests::linear_signal_rmse_improves ... 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::multi_target::tests::convergence_on_linear_signal ... ok
[INFO] [stdout] test ensemble::tests::predict_with_confidence_matches_predict ... ok
[INFO] [stdout] test ensemble::tests::snapshot_restore_preserves_tree_config_knobs ... ok
[INFO] [stdout] test ensemble::tests::reset_returns_to_initial ... ok
[INFO] [stdout] test ensemble::tests::train_batch_equivalent_to_sequential ... ok
[INFO] [stdout] test ensemble::tests::train_one_does_not_panic ... 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::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::prequential::tests::zero_step_interval_panics - should panic ... ok
[INFO] [stdout] test evaluation::progressive::tests::evaluate_over_observations ... ok
[INFO] [stdout] test evaluation::progressive::tests::holdout_fraction_one_means_none_train ... 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::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 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 evaluation::progressive::tests::reset_clears_all_state ... 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 explain::importance_drift::tests::feature_means_reports ... ok
[INFO] [stdout] test explain::importance_drift::tests::handles_fewer_shap_values_than_features ... 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::importance_drift::tests::zero_sample_rate_panics - should panic ... ok
[INFO] [stdout] test explain::importance_drift::tests::zero_features_panics - should panic ... ok
[INFO] [stdout] test explain::streaming::tests::streaming_shap_basic ... ok
[INFO] [stdout] test explain::treeshap::tests::empty_tree_returns_zeros ... ok
[INFO] [stdout] test explain::treeshap::tests::ensemble_shap_integration ... 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::streaming::tests::streaming_shap_reset ... ok
[INFO] [stdout] test export_embedded::tests::binary_size_is_compact ... ok
[INFO] [stdout] test export_embedded::tests::export_distributional_packed_roundtrip ... 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_i16_single_tree_roundtrip ... ok
[INFO] [stdout] test export_embedded::tests::export_i16_untrained_model ... ok
[INFO] [stdout] test export_embedded::tests::export_i16_produces_valid_binary ... ok
[INFO] [stdout] test export_embedded::tests::export_predictions_match_within_tolerance ... ok
[INFO] [stdout] test export_embedded::tests::export_preserves_base_prediction ... ok
[INFO] [stdout] test export_embedded::tests::export_produces_valid_binary ... ok
[INFO] [stdout] test export_embedded::tests::roundtrip_single_tree ... ok
[INFO] [stdout] test export_embedded::tests::export_untrained_model ... ok
[INFO] [stdout] test generators::agrawal::tests::agrawal_deterministic_with_same_seed ... ok
[INFO] [stdout] test generators::agrawal::tests::agrawal_drift_at_change_points ... ok
[INFO] [stdout] test generators::agrawal::tests::agrawal_labels_are_binary ... ok
[INFO] [stdout] test generators::agrawal::tests::agrawal_produces_correct_n_features ... ok
[INFO] [stdout] test generators::agrawal::tests::agrawal_all_functions_produce_valid_output ... ok
[INFO] [stdout] test generators::agrawal::tests::agrawal_produces_finite_values ... ok
[INFO] [stdout] test generators::agrawal::tests::agrawal_task_type_is_binary_classification ... ok
[INFO] [stdout] test generators::agrawal::tests::agrawal_salary_in_range ... ok
[INFO] [stdout] test generators::friedman::tests::friedman_deterministic_with_same_seed ... ok
[INFO] [stdout] test generators::friedman::tests::friedman_features_in_unit_range ... ok
[INFO] [stdout] test generators::friedman::tests::friedman_no_drift_by_default ... ok
[INFO] [stdout] test generators::friedman::tests::friedman_produces_correct_n_features ... ok
[INFO] [stdout] test generators::friedman::tests::friedman_drift_when_configured ... ok
[INFO] [stdout] test generators::friedman::tests::friedman_produces_finite_values ... ok
[INFO] [stdout] test generators::friedman::tests::friedman_task_type_is_regression ... ok
[INFO] [stdout] test generators::hyperplane::tests::hyperplane_custom_dimensionality ... ok
[INFO] [stdout] test generators::hyperplane::tests::hyperplane_deterministic_with_same_seed ... ok
[INFO] [stdout] test generators::hyperplane::tests::hyperplane_features_in_unit_range ... ok
[INFO] [stdout] test generators::hyperplane::tests::hyperplane_gradual_drift_signals ... ok
[INFO] [stdout] test generators::hyperplane::tests::hyperplane_no_drift_when_magnitude_zero ... ok
[INFO] [stdout] test generators::hyperplane::tests::hyperplane_produces_correct_n_features ... ok
[INFO] [stdout] test ensemble::tests::split_reeval_config_propagates ... ok
[INFO] [stdout] test generators::hyperplane::tests::hyperplane_task_type_is_binary ... ok
[INFO] [stdout] test generators::friedman::tests::friedman_target_depends_on_first_five_features ... ok
[INFO] [stdout] test generators::led::tests::led_all_digits_appear ... ok
[INFO] [stdout] test generators::hyperplane::tests::hyperplane_produces_finite_values ... ok
[INFO] [stdout] test ensemble::tests::linear_signal_rmse_improves ... ok
[INFO] [stdout] test generators::led::tests::led_deterministic_with_same_seed ... ok
[INFO] [stdout] test generators::led::tests::led_drift_at_change_points ... ok
[INFO] [stdout] test generators::led::tests::led_features_are_binary ... ok
[INFO] [stdout] test generators::led::tests::led_produces_correct_n_features ... ok
[INFO] [stdout] test generators::led::tests::led_produces_finite_values ... ok
[INFO] [stdout] test generators::led::tests::led_task_type_is_multiclass_10 ... ok
[INFO] [stdout] test generators::led::tests::led_labels_in_valid_range ... ok
[INFO] [stdout] test ensemble::quantile_regressor::tests::higher_quantile_predicts_higher_after_training ... ok
[INFO] [stdout] test generators::lorenz::tests::lorenz_custom_parameters ... ok
[INFO] [stdout] test automl::lipschitz_verification::lipschitz_tests::plasticity_adapter_non_expansive ... ok
[INFO] [stdout] test generators::lorenz::tests::lorenz_series_is_chaotic ... ok
[INFO] [stdout] test generators::lorenz::tests::lorenz_produces_correct_n_features ... ok
[INFO] [stdout] test generators::lorenz::tests::lorenz_no_drift ... ok
[INFO] [stdout] test generators::mackey_glass::tests::mackey_glass_custom_lags ... ok
[INFO] [stdout] test generators::lorenz::tests::lorenz_produces_finite_values ... ok
[INFO] [stdout] test generators::lorenz::tests::lorenz_task_type_is_regression ... ok
[INFO] [stdout] test generators::mackey_glass::tests::mackey_glass_produces_finite_values ... ok
[INFO] [stdout] test generators::mackey_glass::tests::mackey_glass_series_is_chaotic ... ok
[INFO] [stdout] test generators::mackey_glass::tests::mackey_glass_no_drift ... ok
[INFO] [stdout] test generators::mackey_glass::tests::mackey_glass_produces_correct_n_features ... ok
[INFO] [stdout] test generators::mqar::tests::mqar_custom_config_dimensions ... ok
[INFO] [stdout] test generators::mqar::tests::mqar_deterministic_with_same_seed ... ok
[INFO] [stdout] test generators::mqar::tests::mqar_keys_are_unit_norm ... ok
[INFO] [stdout] test generators::mqar::tests::mqar_phase_boundary_drift_flag ... ok
[INFO] [stdout] test generators::mqar::tests::mqar_produces_correct_n_features ... ok
[INFO] [stdout] test generators::mqar::tests::mqar_produces_finite_values ... ok
[INFO] [stdout] test generators::mqar::tests::mqar_recall_keys_match_bind_keys ... ok
[INFO] [stdout] test generators::mqar::tests::mqar_task_type_is_regression ... ok
[INFO] [stdout] test generators::needle::tests::needle_at_expected_position ... ok
[INFO] [stdout] test generators::needle::tests::needle_deterministic_with_same_seed ... ok
[INFO] [stdout] test generators::needle::tests::needle_epoch_drift_flag ... ok
[INFO] [stdout] test generators::needle::tests::needle_middle_position ... ok
[INFO] [stdout] test generators::needle::tests::needle_produces_correct_n_features ... ok
[INFO] [stdout] test generators::needle::tests::needle_produces_finite_values ... ok
[INFO] [stdout] test generators::needle::tests::needle_task_type_is_regression ... ok
[INFO] [stdout] test generators::mackey_glass::tests::mackey_glass_deterministic_with_same_seed ... ok
[INFO] [stdout] test generators::parity::tests::parity_custom_n_bits ... ok
[INFO] [stdout] test generators::mackey_glass::tests::mackey_glass_values_bounded ... ok
[INFO] [stdout] test generators::parity::tests::parity_deterministic_with_same_seed ... ok
[INFO] [stdout] test generators::parity::tests::parity_label_matches_xor ... ok
[INFO] [stdout] test generators::parity::tests::parity_balanced_classes ... ok
[INFO] [stdout] test generators::parity::tests::parity_features_are_binary ... ok
[INFO] [stdout] test generators::parity::tests::parity_produces_correct_n_features ... ok
[INFO] [stdout] test generators::parity::tests::parity_subset_parity_correct ... ok
[INFO] [stdout] test generators::parity::tests::parity_labels_are_binary ... ok
[INFO] [stdout] test generators::periodic::tests::periodic_custom_window_dimension ... ok
[INFO] [stdout] test generators::parity::tests::parity_no_drift ... ok
[INFO] [stdout] test generators::periodic::tests::periodic_deterministic_with_same_seed ... ok
[INFO] [stdout] test generators::periodic::tests::periodic_no_drift ... ok
[INFO] [stdout] test generators::periodic::tests::periodic_produces_correct_n_features ... ok
[INFO] [stdout] test generators::mackey_glass::tests::mackey_glass_task_type_is_regression ... ok
[INFO] [stdout] test generators::parity::tests::parity_task_type_is_binary_classification ... ok
[INFO] [stdout] test generators::periodic::tests::periodic_noiseless_target_is_deterministic ... ok
[INFO] [stdout] test generators::periodic::tests::periodic_produces_finite_values ... ok
[INFO] [stdout] test generators::periodic::tests::periodic_signal_has_expected_variance ... ok
[INFO] [stdout] test generators::periodic::tests::periodic_task_type_is_regression ... ok
[INFO] [stdout] test generators::rbf::tests::rbf_custom_dimensions ... ok
[INFO] [stdout] test generators::rbf::tests::rbf_labels_in_valid_range ... ok
[INFO] [stdout] test generators::rbf::tests::rbf_no_drift_when_speed_zero ... ok
[INFO] [stdout] test generators::rbf::tests::rbf_produces_correct_n_features ... ok
[INFO] [stdout] test generators::rbf::tests::rbf_task_type_binary_default ... ok
[INFO] [stdout] test generators::rbf::tests::rbf_task_type_multiclass ... ok
[INFO] [stdout] test generators::sea::tests::sea_deterministic_with_same_seed ... ok
[INFO] [stdout] test generators::sea::tests::sea_drift_at_change_points ... ok
[INFO] [stdout] test generators::sea::tests::sea_features_in_range ... ok
[INFO] [stdout] test generators::sea::tests::sea_labels_are_binary ... ok
[INFO] [stdout] test generators::sea::tests::sea_produces_correct_n_features ... ok
[INFO] [stdout] test generators::sea::tests::sea_produces_finite_values ... ok
[INFO] [stdout] test generators::sea::tests::sea_task_type_is_binary_classification ... ok
[INFO] [stdout] test generators::rbf::tests::rbf_deterministic_with_same_seed ... ok
[INFO] [stdout] test generators::waveform::tests::waveform_all_classes_appear ... ok
[INFO] [stdout] test generators::waveform::tests::waveform_deterministic_with_same_seed ... ok
[INFO] [stdout] test generators::waveform::tests::waveform_no_drift ... ok
[INFO] [stdout] test generators::waveform::tests::waveform_produces_correct_n_features_default ... ok
[INFO] [stdout] test generators::waveform::tests::waveform_labels_in_valid_range ... ok
[INFO] [stdout] test generators::waveform::tests::waveform_produces_correct_n_features_with_noise ... ok
[INFO] [stdout] test generators::waveform::tests::waveform_task_type_is_multiclass_3 ... ok
[INFO] [stdout] test generators::lorenz::tests::lorenz_values_on_attractor ... ok
[INFO] [stdout] test kan::bspline::tests::basis_boundary_safety ... 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::bspline::tests::grid_construction ... ok
[INFO] [stdout] test kan::config::tests::config_accepts_zero_coefficient_decay ... ok
[INFO] [stdout] test kan::config::tests::config_accepts_zero_momentum ... ok
[INFO] [stdout] test kan::config::tests::config_builder_custom ... ok
[INFO] [stdout] test kan::config::tests::config_builder_default ... ok
[INFO] [stdout] test kan::config::tests::config_clone ... ok
[INFO] [stdout] test kan::config::tests::config_display ... ok
[INFO] [stdout] test kan::config::tests::config_rejects_invalid_coefficient_decay ... ok
[INFO] [stdout] test kan::config::tests::config_rejects_invalid_momentum ... ok
[INFO] [stdout] test kan::config::tests::config_rejects_non_unit_output ... ok
[INFO] [stdout] test kan::config::tests::config_rejects_single_layer ... ok
[INFO] [stdout] test kan::config::tests::config_rejects_zero_grid_size ... ok
[INFO] [stdout] test kan::config::tests::config_rejects_zero_learning_rate ... ok
[INFO] [stdout] test kan::config::tests::config_rejects_zero_size ... ok
[INFO] [stdout] test kan::config::tests::config_rejects_zero_spline_order ... ok
[INFO] [stdout] test kan::config::tests::plasticity_disabled_by_default ... ok
[INFO] [stdout] test kan::config::tests::plasticity_enabled_via_config ... 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 kan::layer::tests::forward_finite ... ok
[INFO] [stdout] test generators::waveform::tests::waveform_produces_finite_values ... ok
[INFO] [stdout] test kan::layer::tests::n_params_formula ... ok
[INFO] [stdout] test generators::waveform::tests::waveform_templates_have_correct_peaks ... ok
[INFO] [stdout] test kan::model::tests::constant_feature_does_not_produce_nan ... ok
[INFO] [stdout] test kan::model::tests::constant_target_does_not_produce_nan ... ok
[INFO] [stdout] test kan::model::tests::implements_streaming_learner ... ok
[INFO] [stdout] test kan::model::tests::kan_adjust_config_changes_lr_and_lambda ... ok
[INFO] [stdout] test generators::lorenz::tests::lorenz_deterministic ... ok
[INFO] [stdout] test generators::rbf::tests::rbf_gradual_drift_signals ... ok
[INFO] [stdout] test kan::model::tests::kan_gate_chain_rule_matches_finite_diff ... ok
[INFO] [stdout] test generators::rbf::tests::rbf_produces_finite_values ... ok
[INFO] [stdout] test kan::model::tests::learning_rate_setter_alias ... ok
[INFO] [stdout] test kan::layer::tests::learning_y_equals_x_squared ... ok
[INFO] [stdout] test kan::model::tests::n_params_positive ... ok
[INFO] [stdout] test kan::model::tests::n_samples_tracks ... ok
[INFO] [stdout] test kan::model::tests::new_creates_model ... ok
[INFO] [stdout] test kan::model::tests::predict_before_train_returns_zero ... ok
[INFO] [stdout] test kan::model::tests::kan_uncertainty_modulated_lr ... ok
[INFO] [stdout] test kan::model::tests::reset_clears_state ... ok
[INFO] [stdout] test kan::model::tests::train_and_predict_finite ... ok
[INFO] [stdout] test learner::tests::test_clone ... ok
[INFO] [stdout] test learner::tests::test_inner_access ... ok
[INFO] [stdout] test kan::model::tests::predict_reads_current_input ... 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 learner::tests::test_train_and_predict ... ok
[INFO] [stdout] test learner::tests::test_trait_object_safety ... ok
[INFO] [stdout] test learners::bounded_rls::tests::below_lo_clipped_to_lo ... ok
[INFO] [stdout] test learners::bounded_rls::tests::cold_start_predict_clipped_returns_zero_within_bounds ... ok
[INFO] [stdout] test learners::bounded_rls::tests::exceeds_hi_clipped_to_hi ... ok
[INFO] [stdout] test learners::bounded_rls::tests::in_range_prediction_passes_through ... ok
[INFO] [stdout] test learners::bounded_rls::tests::n_samples_seen_delegates_to_inner ... ok
[INFO] [stdout] test learners::classification::tests::binary_wrapper_learns_sine_classification ... ok
[INFO] [stdout] test learners::classification::tests::binary_wrapper_predict_proba_returns_two_classes ... ok
[INFO] [stdout] test learners::classification::tests::binary_wrapper_returns_zero_or_one ... ok
[INFO] [stdout] test learners::classification::tests::classification_mode_equality ... ok
[INFO] [stdout] test learners::classification::tests::multiclass_learns_three_class_data ... ok
[INFO] [stdout] test learners::classification::tests::multiclass_predict_proba_returns_k_probabilities ... ok
[INFO] [stdout] test learners::classification::tests::multiclass_reset_clears_all_heads ... ok
[INFO] [stdout] test learners::classification::tests::multiclass_wrapper_returns_valid_class_index ... ok
[INFO] [stdout] test learners::classification::tests::regression_mode_is_passthrough ... ok
[INFO] [stdout] test learners::classification::tests::sigmoid_at_zero_is_half ... ok
[INFO] [stdout] test learners::classification::tests::sigmoid_extreme_values_are_finite ... ok
[INFO] [stdout] test learners::classification::tests::softmax_extreme_logits_are_stable ... ok
[INFO] [stdout] test learners::classification::tests::softmax_sums_to_one ... ok
[INFO] [stdout] test learners::classification::tests::softmax_uniform_logits_are_equal ... ok
[INFO] [stdout] test learners::classification::tests::wrapper_debug_format ... ok
[INFO] [stdout] test learners::classification::tests::wrapper_mode_accessor ... ok
[INFO] [stdout] test learners::classification::tests::wrapper_reset_clears_state ... ok
[INFO] [stdout] test learners::classification::tests::wrapper_tracks_samples_seen ... ok
[INFO] [stdout] test learners::classification::tests::multiclass_panics_on_fewer_than_two_classes - should panic ... 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 kan::model::tests::kan_learns_nonlinear ... ok
[INFO] [stdout] test learners::krls::tests::dictionary_respects_budget ... ok
[INFO] [stdout] test kan::model::tests::multi_layer_kan ... ok
[INFO] [stdout] test learners::krls::tests::ald_sparsifies_dictionary ... ok
[INFO] [stdout] test learners::krls::tests::forgetting_adapts_to_shift ... 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 learners::linear::tests::test_elastic_net ... ok
[INFO] [stdout] test learners::linear::tests::test_lasso ... 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_predict_batch ... ok
[INFO] [stdout] test learners::linear::tests::test_reset ... ok
[INFO] [stdout] test learners::linear::tests::test_ridge ... 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::mondrian::tests::test_clone ... ok
[INFO] [stdout] test learners::mondrian::tests::test_convergence ... ok
[INFO] [stdout] test learners::mondrian::tests::test_creation ... ok
[INFO] [stdout] test learners::mondrian::tests::test_default_config ... ok
[INFO] [stdout] test learners::krls::tests::polynomial_kernel_works ... ok
[INFO] [stdout] test learners::mondrian::tests::test_multi_tree ... ok
[INFO] [stdout] test learners::mondrian::tests::test_different_regions ... ok
[INFO] [stdout] test learners::mondrian::tests::test_multiple_samples ... 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_reset ... ok
[INFO] [stdout] test learners::mondrian::tests::test_single_sample ... 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::mondrian::tests::test_trait_object ... ok
[INFO] [stdout] test learners::rls::tests::adaptive_ff_drops_on_sudden_shift ... ok
[INFO] [stdout] test learners::rls::tests::adaptive_ff_stable_data_stays_near_base ... ok
[INFO] [stdout] test learners::rls::tests::confidence_intervals_narrow_with_data ... ok
[INFO] [stdout] test learners::rls::tests::adaptive_ff_recovers_after_shift ... ok
[INFO] [stdout] test learners::rls::tests::noise_variance_reflects_residuals ... 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::fixed_forgetting_does_not_adapt ... ok
[INFO] [stdout] test learners::rls::tests::test_lwr_constant ... ok
[INFO] [stdout] test learners::rls::tests::test_lwr_buffer_capacity ... 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_quadratic ... ok
[INFO] [stdout] test learners::rls::tests::test_lwr_creation ... ok
[INFO] [stdout] test learners::rls::tests::test_poly_reset ... ok
[INFO] [stdout] test learners::rls::tests::test_rls_forgetting ... ok
[INFO] [stdout] test learners::rls::tests::test_rls_multivariate ... ok
[INFO] [stdout] test learners::rls::tests::test_rls_creation ... ok
[INFO] [stdout] test learners::rls::tests::test_rls_reset ... ok
[INFO] [stdout] test learners::rls::tests::test_rls_trait_object ... 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_hessian_positive_definite ... 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_invalid_tau_one - should panic ... 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 learners::rls::tests::test_rls_simple_linear ... 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::huber::tests::test_gradient_at_boundary ... ok
[INFO] [stdout] test loss::huber::tests::test_gradient_is_derivative_of_loss_linear ... ok
[INFO] [stdout] test loss::huber::tests::test_gradient_is_derivative_of_loss_quadratic ... ok
[INFO] [stdout] test loss::huber::tests::test_gradient_linear_region ... ok
[INFO] [stdout] test loss::huber::tests::test_gradient_quadratic_region ... 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_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_loss_quadratic_region ... ok
[INFO] [stdout] test loss::huber::tests::test_n_outputs ... ok
[INFO] [stdout] test loss::huber::tests::test_predict_transform_is_identity ... ok
[INFO] [stdout] test loss::logistic::tests::test_gradient_is_derivative_of_loss ... ok
[INFO] [stdout] test loss::logistic::tests::test_gradient_perfect_prediction ... ok
[INFO] [stdout] test loss::expectile::tests::test_predict_transform_is_identity ... ok
[INFO] [stdout] test loss::logistic::tests::test_gradient_target_0_pred_0 ... ok
[INFO] [stdout] test loss::logistic::tests::test_gradient_target_1_pred_0 ... ok
[INFO] [stdout] test loss::logistic::tests::test_hessian_max_at_pred_zero ... ok
[INFO] [stdout] test loss::logistic::tests::test_hessian_positive ... 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_initial_prediction_skewed ... ok
[INFO] [stdout] test loss::logistic::tests::test_loss_value ... ok
[INFO] [stdout] test loss::logistic::tests::test_n_outputs ... 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_gradient_over_predict ... ok
[INFO] [stdout] test loss::quantile::tests::test_gradient_under_predict ... ok
[INFO] [stdout] test loss::quantile::tests::test_hessian_is_one ... ok
[INFO] [stdout] test loss::quantile::tests::test_initial_prediction_empty ... ok
[INFO] [stdout] test loss::quantile::tests::test_initial_prediction_is_quantile ... ok
[INFO] [stdout] test loss::quantile::tests::test_invalid_tau_zero - should panic ... ok
[INFO] [stdout] test loss::quantile::tests::test_invalid_tau_one - should panic ... ok
[INFO] [stdout] test loss::quantile::tests::test_loss_pinball ... ok
[INFO] [stdout] test loss::quantile::tests::test_loss_type_returns_some ... ok
[INFO] [stdout] test loss::quantile::tests::test_median_loss_is_half_mae ... ok
[INFO] [stdout] test loss::quantile::tests::test_predict_transform_is_identity ... ok
[INFO] [stdout] test loss::quantile::tests::test_n_outputs ... ok
[INFO] [stdout] test loss::softmax::tests::test_gradient_correct_class ... ok
[INFO] [stdout] test loss::softmax::tests::test_gradient_confident_correct ... 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::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_loss_decreases_with_correct_prediction ... 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_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::squared::tests::test_gradient_is_derivative_of_loss ... ok
[INFO] [stdout] test loss::softmax::tests::test_initial_prediction_is_zero ... ok
[INFO] [stdout] test loss::squared::tests::test_hessian_is_constant ... 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_loss_value ... 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 lstm::tests::slstm_config_builder_default ... ok
[INFO] [stdout] test lstm::tests::slstm_config_rejects_invalid_n_heads ... ok
[INFO] [stdout] test lstm::tests::slstm_config_rejects_wrong_bias_length ... ok
[INFO] [stdout] test lstm::tests::slstm_config_rejects_zero_d_model ... ok
[INFO] [stdout] test lstm::tests::slstm_diagnostics_array_finite ... ok
[INFO] [stdout] test lstm::tests::slstm_model_uses_multi_head_block_diagonal ... ok
[INFO] [stdout] test learners::krls::tests::linear_kernel_matches_linear ... ok
[INFO] [stdout] test lstm::tests::slstm_plasticity_disabled_by_default ... ok
[INFO] [stdout] test lstm::tests::slstm_new_creates_model ... ok
[INFO] [stdout] test lstm::tests::lstm_predict_reads_current_input ... ok
[INFO] [stdout] test lstm::tests::slstm_plasticity_reset_clears_guard ... ok
[INFO] [stdout] test lstm::tests::slstm_plasticity_enabled_creates_guard ... ok
[INFO] [stdout] test lstm::tests::slstm_predict_before_train_returns_zero ... ok
[INFO] [stdout] test lstm::tests::slstm_readout_weights_available_after_training ... ok
[INFO] [stdout] test lstm::tests::slstm_rejects_invalid_delta_rls ... ok
[INFO] [stdout] test lstm::tests::slstm_rejects_invalid_forgetting_factor ... ok
[INFO] [stdout] test lstm::tests::slstm_streaming_learner_boxable ... ok
[INFO] [stdout] test lstm::tests::slstm_reset_clears_state ... ok
[INFO] [stdout] test lstm::tests::test_lstm_nan_input_skipped ... ok
[INFO] [stdout] test lstm::tests::slstm_train_and_predict_finite ... ok
[INFO] [stdout] test lstm::tests::test_streaming_lstm_alias ... ok
[INFO] [stdout] test metrics::auc::tests::all_negative_returns_none ... ok
[INFO] [stdout] test kan::model::tests::coefficient_decay_shrinks_coefficients ... ok
[INFO] [stdout] test metrics::auc::tests::all_positive_returns_none ... ok
[INFO] [stdout] test metrics::auc::tests::empty_buffer_returns_none ... ok
[INFO] [stdout] test metrics::auc::tests::is_full_transitions ... ok
[INFO] [stdout] test metrics::auc::tests::known_small_example_exact_auc ... 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::positive_negative_counts ... ok
[INFO] [stdout] test metrics::auc::tests::perfect_classifier_auc_is_one ... ok
[INFO] [stdout] test lstm::tests::slstm_plasticity_train_runs_without_panic ... ok
[INFO] [stdout] test metrics::auc::tests::single_sample_returns_none ... ok
[INFO] [stdout] test metrics::auc::tests::reset_clears_everything ... ok
[INFO] [stdout] test metrics::auc::tests::random_classifier_auc_near_half ... ok
[INFO] [stdout] test metrics::auc::tests::ties_handled_correctly ... ok
[INFO] [stdout] test metrics::auc::tests::ties_mixed_with_clear_pairs ... ok
[INFO] [stdout] test metrics::auc::tests::window_eviction_drops_old_samples ... ok
[INFO] [stdout] test metrics::auc::tests::window_eviction_updates_class_counts ... ok
[INFO] [stdout] test metrics::auc::tests::zero_window_panics - should panic ... 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 metrics::auc::tests::window_size_accessor ... ok
[INFO] [stdout] test metrics::classification::tests::f1_zero_when_no_predictions ... ok
[INFO] [stdout] test metrics::classification::tests::f1_mixed_case ... ok
[INFO] [stdout] test metrics::classification::tests::fifty_percent_accuracy ... ok
[INFO] [stdout] test metrics::classification::tests::log_loss_asymmetric ... ok
[INFO] [stdout] test metrics::classification::tests::log_loss_near_perfect_predictions ... ok
[INFO] [stdout] test metrics::classification::tests::perfect_accuracy ... ok
[INFO] [stdout] test metrics::classification::tests::log_loss_clips_extreme_probabilities ... ok
[INFO] [stdout] test metrics::classification::tests::precision_all_false_positives ... ok
[INFO] [stdout] test metrics::classification::tests::log_loss_random_predictions ... 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_lower ... ok
[INFO] [stdout] test metrics::classification::tests::recall_all_positives_detected ... ok
[INFO] [stdout] test metrics::conformal::tests::aci_clamp_upper ... ok
[INFO] [stdout] test metrics::conformal::tests::aci_converges_to_target ... ok
[INFO] [stdout] test metrics::conformal::tests::aci_invalid_alpha - should panic ... ok
[INFO] [stdout] test metrics::conformal::tests::aci_invalid_gamma - should panic ... 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::decaying_beta_zero_equals_fixed ... ok
[INFO] [stdout] test metrics::conformal::tests::decaying_step_has_smaller_updates_over_time ... ok
[INFO] [stdout] test metrics::conformal::tests::aci_reset ... ok
[INFO] [stdout] test metrics::conformal::tests::aci_effective_quantiles ... ok
[INFO] [stdout] test metrics::conformal_pid::tests::n_updates_tracks_correctly ... ok
[INFO] [stdout] test metrics::conformal_pid::tests::coverage_converges_to_target ... ok
[INFO] [stdout] test metrics::conformal_pid::tests::reset_clears_state ... ok
[INFO] [stdout] test metrics::conformal_pid::tests::saturate_prevents_runaway ... ok
[INFO] [stdout] test metrics::conformal_pid::tests::score_derivative_term_reacts_to_changes ... ok
[INFO] [stdout] test metrics::conformal::tests::fixed_schedule_unchanged ... ok
[INFO] [stdout] test metrics::conformal_pid::tests::pid_tighter_than_constant_threshold ... ok
[INFO] [stdout] test metrics::ewma::tests::ewma_cls_all_correct ... ok
[INFO] [stdout] test metrics::ewma::tests::ewma_alpha_getter ... ok
[INFO] [stdout] test metrics::ewma::tests::ewma_cls_log_loss_near_perfect ... ok
[INFO] [stdout] test metrics::ewma::tests::ewma_cls_zero_span - should panic ... ok
[INFO] [stdout] test metrics::ewma::tests::ewma_cls_reset ... ok
[INFO] [stdout] test metrics::ewma::tests::ewma_reg_decay ... ok
[INFO] [stdout] test metrics::ewma::tests::ewma_reg_initial ... ok
[INFO] [stdout] test metrics::ewma::tests::ewma_reg_r_squared_perfect ... ok
[INFO] [stdout] test metrics::ewma::tests::ewma_reg_reset ... ok
[INFO] [stdout] test metrics::ewma::tests::ewma_cls_accuracy_decays ... ok
[INFO] [stdout] test metrics::ewma::tests::ewma_reg_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::importance::tests::empty_state ... ok
[INFO] [stdout] test metrics::importance::tests::normalized_zero_total_returns_zeros ... ok
[INFO] [stdout] test metrics::importance::tests::normalized_sums_to_one ... ok
[INFO] [stdout] test metrics::importance::tests::reset_clears_all_gains ... ok
[INFO] [stdout] test kan::model::tests::kan_lr_does_not_decay_to_zero_on_long_stream ... ok
[INFO] [stdout] test metrics::importance::tests::single_update ... ok
[INFO] [stdout] test metrics::importance::tests::top_k_empty_gains ... ok
[INFO] [stdout] test metrics::importance::tests::top_k_exceeds_n_features ... ok
[INFO] [stdout] test metrics::kappa::tests::cohen_chance_classifier ... ok
[INFO] [stdout] test metrics::importance::tests::top_k_ordering ... ok
[INFO] [stdout] test metrics::kappa::tests::cohen_empty_returns_zero ... ok
[INFO] [stdout] test metrics::kappa::tests::cohen_known_confusion_matrix ... ok
[INFO] [stdout] test metrics::kappa::tests::cohen_perfect_classifier ... ok
[INFO] [stdout] test metrics::kappa::tests::cohen_perfect_multiclass ... ok
[INFO] [stdout] test metrics::kappa::tests::cohen_auto_grow ... ok
[INFO] [stdout] test metrics::importance::tests::top_k_zero_k ... ok
[INFO] [stdout] test metrics::kappa::tests::cohen_single_sample ... ok
[INFO] [stdout] test metrics::kappa::tests::cohen_single_class ... 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::kappam_empty_returns_zero ... ok
[INFO] [stdout] test metrics::kappa::tests::cohen_worse_than_chance ... ok
[INFO] [stdout] test metrics::kappa::tests::cohen_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_reset ... ok
[INFO] [stdout] test metrics::kappa::tests::kappam_single_class_returns_zero ... ok
[INFO] [stdout] test metrics::kappa::tests::kappam_single_sample ... 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_model_equals_nochange ... ok
[INFO] [stdout] test metrics::kappa::tests::cohen_default_is_empty ... ok
[INFO] [stdout] test metrics::kappa::tests::kappam_perfect_classifier ... ok
[INFO] [stdout] test metrics::kappa::tests::kappat_perfect_on_changing_stream ... ok
[INFO] [stdout] test metrics::kappa::tests::kappat_single_sample_returns_zero ... ok
[INFO] [stdout] test metrics::kappa::tests::kappat_two_samples ... 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_worse_than_nochange ... ok
[INFO] [stdout] test metrics::platt_scaling::tests::calibrate_identity_by_default ... 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::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::perfect_classifier_stays_calibrated ... ok
[INFO] [stdout] test metrics::platt_scaling::tests::update_moves_toward_correct_calibration ... ok
[INFO] [stdout] test metrics::quantile_tracker::tests::reset_clears_state ... ok
[INFO] [stdout] test metrics::regression::tests::default_is_empty ... 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::regression::tests::empty_state_returns_zeros ... ok
[INFO] [stdout] test metrics::regression::tests::large_sample_count ... ok
[INFO] [stdout] test metrics::regression::tests::mae_multiple_samples ... 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::r_squared_partial_fit ... 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_precision_recall ... ok
[INFO] [stdout] test metrics::rolling::tests::rolling_cls_reset ... ok
[INFO] [stdout] test metrics::rolling::tests::rolling_cls_slides ... ok
[INFO] [stdout] test metrics::regression::tests::mse_multiple_samples ... ok
[INFO] [stdout] test metrics::rolling::tests::rolling_cls_zero_window - should panic ... 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::kappa::tests::kappat_reset ... ok
[INFO] [stdout] test metrics::rolling::tests::rolling_reg_within_window ... ok
[INFO] [stdout] test metrics::rolling::tests::rolling_reg_reset ... ok
[INFO] [stdout] test metrics::streaming_metric::tests::accuracy_classification_metric_correct ... ok
[INFO] [stdout] test metrics::regression::tests::nan_inputs_propagate ... ok
[INFO] [stdout] test metrics::streaming_metric::tests::composed_metrics_emit_both_values ... ok
[INFO] [stdout] test metrics::streaming_metric::tests::higher_is_better_flags ... ok
[INFO] [stdout] test metrics::streaming_metric::tests::logloss_at_half_equals_ln2 ... ok
[INFO] [stdout] test metrics::rolling::tests::rolling_reg_zero_window - should panic ... ok
[INFO] [stdout] test metrics::streaming_metric::tests::logloss_clamps_extremes ... ok
[INFO] [stdout] test metrics::streaming_metric::tests::mae_empty_returns_zero ... ok
[INFO] [stdout] test metrics::streaming_metric::tests::mae_reset_clears_state ... ok
[INFO] [stdout] test metrics::streaming_metric::tests::mae_streaming_matches_offline_computation ... ok
[INFO] [stdout] test metrics::streaming_metric::tests::mse_empty_returns_zero ... ok
[INFO] [stdout] test metrics::streaming_metric::tests::mse_streaming_matches_offline_computation ... ok
[INFO] [stdout] test metrics::streaming_metric::tests::pinball_asymmetry_at_tau_09 ... ok
[INFO] [stdout] test metrics::streaming_metric::tests::pinball_empty_returns_zero ... ok
[INFO] [stdout] test metrics::streaming_metric::tests::pinball_loss_correct_at_tau_05 ... ok
[INFO] [stdout] test metrics::streaming_metric::tests::r2_cold_start_returns_zero ... ok
[INFO] [stdout] test metrics::streaming_metric::tests::pinball_rejects_tau_out_of_range - should panic ... ok
[INFO] [stdout] test metrics::streaming_metric::tests::r_squared_streaming_uses_welford_sstot ... ok
[INFO] [stdout] test metrics::streaming_metric::tests::rmse_is_sqrt_of_mse ... ok
[INFO] [stdout] test metrics::streaming_metric::tests::triple_union_receives_all_updates ... ok
[INFO] [stdout] test metrics::streaming_metric::tests::union_reset_resets_both ... ok
[INFO] [stdout] test metrics::strongly_adaptive::tests::adapts_to_sudden_shift ... ok
[INFO] [stdout] test metrics::strongly_adaptive::tests::coverage_converges_to_target ... ok
[INFO] [stdout] test metrics::strongly_adaptive::tests::default_constructors_work ... ok
[INFO] [stdout] test metrics::strongly_adaptive::tests::multiple_experts_have_different_scales ... ok
[INFO] [stdout] test metrics::streaming_metric::tests::accuracy_handles_multiclass_labels ... ok
[INFO] [stdout] test metrics::strongly_adaptive::tests::reset_clears_all_experts ... ok
[INFO] [stdout] test metrics::strongly_adaptive::tests::wealth_weighting_favors_accurate_experts ... ok
[INFO] [stdout] test metrics::temperature_scaling::tests::calibrate_sums_to_one ... ok
[INFO] [stdout] test metrics::temperature_scaling::tests::calibrate_with_t_equals_one_is_softmax ... ok
[INFO] [stdout] test metrics::temperature_scaling::tests::default_uses_lr_0_01 ... ok
[INFO] [stdout] test metrics::streaming_metric::tests::r2_negative_for_bad_predictions ... ok
[INFO] [stdout] test metrics::temperature_scaling::tests::initial_temperature_is_one ... ok
[INFO] [stdout] test metrics::temperature_scaling::tests::lower_temperature_sharpens_distribution ... ok
[INFO] [stdout] test metrics::rolling::tests::rolling_reg_window_size ... ok
[INFO] [stdout] test metrics::temperature_scaling::tests::panics_on_negative_lr - should panic ... ok
[INFO] [stdout] test metrics::temperature_scaling::tests::panics_on_zero_lr - should panic ... ok
[INFO] [stdout] test metrics::temperature_scaling::tests::reset_restores_default_state ... ok
[INFO] [stdout] test metrics::temperature_scaling::tests::overconfident_model_increases_temperature ... ok
[INFO] [stdout] test metrics::temperature_scaling::tests::update_adjusts_temperature ... ok
[INFO] [stdout] test metrics::tests::metric_set_default ... ok
[INFO] [stdout] test metrics::tests::metric_set_new_is_empty ... ok
[INFO] [stdout] test metrics::tests::metric_set_reset ... ok
[INFO] [stdout] test metrics::tests::metric_set_update_classification ... ok
[INFO] [stdout] test metrics::tests::metric_set_update_regression ... ok
[INFO] [stdout] test mgrade::tests::mgrade_accepts_forgetting_factor_one ... ok
[INFO] [stdout] test mgrade::tests::mgrade_config_builder_default ... ok
[INFO] [stdout] test mgrade::tests::mgrade_config_rejects_kernel_size_one ... ok
[INFO] [stdout] test mgrade::tests::mgrade_config_rejects_zero_d_hidden ... ok
[INFO] [stdout] test mgrade::tests::mgrade_config_rejects_zero_d_in ... ok
[INFO] [stdout] test mgrade::tests::mgrade_diagnostics_array_finite ... ok
[INFO] [stdout] test metrics::temperature_scaling::tests::extreme_logits_dont_cause_nan ... ok
[INFO] [stdout] test metrics::temperature_scaling::tests::higher_temperature_flattens_distribution ... ok
[INFO] [stdout] test mgrade::tests::mgrade_new_creates_model ... ok
[INFO] [stdout] test metrics::temperature_scaling::tests::temperature_stays_positive_after_many_updates ... ok
[INFO] [stdout] test mgrade::tests::mgrade_predict_before_train_returns_zero ... ok
[INFO] [stdout] test mgrade::tests::mgrade_rejects_invalid_delta_rls ... ok
[INFO] [stdout] test mgrade::tests::mgrade_rejects_invalid_forgetting_factor ... ok
[INFO] [stdout] test mgrade::tests::mgrade_reset_clears_state ... ok
[INFO] [stdout] test mgrade::tests::mgrade_streaming_learner_boxable ... ok
[INFO] [stdout] test mgrade::tests::mgrade_readout_weights_available_after_training ... ok
[INFO] [stdout] test mgrade::tests::mgrade_type_is_pascal_case ... ok
[INFO] [stdout] test mgrade::tests::test_mgrade_adjust_config ... ok
[INFO] [stdout] test mgrade::tests::test_mgrade_nan_skipped ... ok
[INFO] [stdout] test mgrade::tests::mgrade_train_and_predict_finite ... ok
[INFO] [stdout] test moe::router::tests::router_renormalized_weights_sum_to_one ... ok
[INFO] [stdout] test mgrade::tests::mgrade_predict_reads_current_input ... ok
[INFO] [stdout] test moe::router::tests::router_select_top_k ... ok
[INFO] [stdout] test moe::router::tests::router_select_top_k_exceeds_n ... ok
[INFO] [stdout] test moe::router::tests::router_uniform_before_init ... ok
[INFO] [stdout] test moe::router::tests::router_load_balance_corrects_imbalance ... ok
[INFO] [stdout] test moe::router::tests::router_update_shifts_distribution ... ok
[INFO] [stdout] test moe::router::tests::softmax_numerical_stability ... 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::tests::builder_creates_moe ... ok
[INFO] [stdout] test moe::tests::builder_errors_with_one_expert ... ok
[INFO] [stdout] test moe::tests::custom_config ... ok
[INFO] [stdout] test moe::tests::expert_predictions_returns_all ... ok
[INFO] [stdout] test moe::tests::implements_streaming_learner ... ok
[INFO] [stdout] test moe::tests::load_distribution_available ... ok
[INFO] [stdout] test moe::tests::heterogeneous_experts_work ... ok
[INFO] [stdout] test moe::tests::n_samples_tracks_correctly ... ok
[INFO] [stdout] test moe::tests::neural_moe_seed_observably_affects_initial_routing ... ok
[INFO] [stdout] test moe::tests::reset_clears_state ... 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::moe_expert_disagreement ... ok
[INFO] [stdout] test moe::tests::utilization_starts_at_zero ... ok
[INFO] [stdout] test moe::router::tests::router_reset_clears_state ... ok
[INFO] [stdout] test moe::tests::warmup_eventually_routes_normally ... ok
[INFO] [stdout] test moe::tests::warmup_progress_accessor ... ok
[INFO] [stdout] test moe::tests::train_and_predict_finite ... ok
[INFO] [stdout] test moe::tests::warmup_suppresses_cold_expert ... ok
[INFO] [stdout] test pipeline::tests::builder_creates_pipeline ... ok
[INFO] [stdout] test moe::tests::warmup_hint_stored ... ok
[INFO] [stdout] test pipeline::tests::learner_boxed_constructor ... ok
[INFO] [stdout] test pipeline::tests::make_pipeline_chains_three_stages ... ok
[INFO] [stdout] test pipeline::tests::make_pipeline_implements_streaming_learner ... ok
[INFO] [stdout] test pipeline::tests::make_pipeline_two_stages ... ok
[INFO] [stdout] test pipeline::tests::make_pipeline_compiles_with_one_stage ... ok
[INFO] [stdout] test pipeline::tests::multi_preprocessor_chaining ... ok
[INFO] [stdout] test pipeline::tests::pipeline_as_trait_object ... ok
[INFO] [stdout] test pipeline::tests::pipeline_target_preprocessor_reset_clears_scaler ... 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::pipeline_with_target_preprocessor_inverts_on_predict ... ok
[INFO] [stdout] test pipeline::tests::predict_does_not_update_preprocessor ... ok
[INFO] [stdout] test pipeline::tests::reset_clears_all_state ... ok
[INFO] [stdout] test pipeline::tests::empty_preprocessor_pipeline ... ok
[INFO] [stdout] test preprocessing::ccipca::tests::construction_and_initial_state ... ok
[INFO] [stdout] test preprocessing::ccipca::tests::components_are_orthogonal ... ok
[INFO] [stdout] test preprocessing::ccipca::tests::known_principal_components ... ok
[INFO] [stdout] test preprocessing::ccipca::tests::lazy_init_sets_n_features ... ok
[INFO] [stdout] test preprocessing::ccipca::tests::streaming_preprocessor_trait ... ok
[INFO] [stdout] test preprocessing::feature_hasher::tests::deterministic_hashing ... ok
[INFO] [stdout] test preprocessing::ccipca::tests::reset_clears_state ... ok
[INFO] [stdout] test preprocessing::feature_hasher::tests::different_inputs_different_outputs ... 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::sign_preserves_inner_product_approx ... ok
[INFO] [stdout] test preprocessing::feature_hasher::tests::empty_input_returns_zero_vector ... ok
[INFO] [stdout] test preprocessing::feature_hasher::tests::single_feature_maps_to_one_bucket ... ok
[INFO] [stdout] test preprocessing::feature_hasher::tests::update_and_transform_equals_transform ... ok
[INFO] [stdout] test preprocessing::feature_selector::tests::active_count_matches_mask ... ok
[INFO] [stdout] test preprocessing::feature_selector::tests::all_active_during_warmup ... ok
[INFO] [stdout] test preprocessing::feature_hasher::tests::zero_buckets_panics - should panic ... ok
[INFO] [stdout] test preprocessing::feature_selector::tests::full_keep_no_mask ... ok
[INFO] [stdout] test preprocessing::feature_selector::tests::importance_ewma_update_smooths_correctly ... ok
[INFO] [stdout] test preprocessing::feature_selector::tests::keep_fraction_determines_active_count ... ok
[INFO] [stdout] test preprocessing::feature_selector::tests::mask_features_zeros_inactive ... ok
[INFO] [stdout] test preprocessing::feature_selector::tests::masking_activates_after_warmup ... ok
[INFO] [stdout] test preprocessing::feature_selector::tests::panics_on_importance_length_mismatch - should panic ... ok
[INFO] [stdout] test preprocessing::feature_selector::tests::reset_restores_initial_state ... ok
[INFO] [stdout] test preprocessing::feature_selector::tests::mask_features_in_place_matches_mask_features ... ok
[INFO] [stdout] test preprocessing::min_max::tests::accessors_track_extremes ... ok
[INFO] [stdout] test preprocessing::min_max::tests::custom_range ... ok
[INFO] [stdout] test preprocessing::min_max::tests::equal_range_panics - should panic ... ok
[INFO] [stdout] test preprocessing::min_max::tests::invalid_range_panics - should panic ... ok
[INFO] [stdout] test preprocessing::min_max::tests::output_dim_matches ... ok
[INFO] [stdout] test preprocessing::min_max::tests::panics_on_dimension_mismatch - should panic ... ok
[INFO] [stdout] test preprocessing::min_max::tests::range_accessor_returns_config ... ok
[INFO] [stdout] test preprocessing::min_max::tests::reset_clears_stats ... ok
[INFO] [stdout] test preprocessing::min_max::tests::reset_preserves_custom_range ... ok
[INFO] [stdout] test preprocessing::min_max::tests::scales_to_zero_one ... ok
[INFO] [stdout] test preprocessing::min_max::tests::single_sample_constant ... ok
[INFO] [stdout] test preprocessing::min_max::tests::transform_before_update_passes_through ... ok
[INFO] [stdout] test preprocessing::min_max::tests::transform_does_not_update_bounds ... ok
[INFO] [stdout] test preprocessing::min_max::tests::constant_feature_maps_to_midpoint ... ok
[INFO] [stdout] test preprocessing::normalizer::tests::lazy_init_sets_n_features_from_first_update ... ok
[INFO] [stdout] test preprocessing::normalizer::tests::panics_on_dimension_mismatch - should panic ... 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::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::max_categories_cap ... ok
[INFO] [stdout] test preprocessing::one_hot::tests::mixed_categorical_and_continuous ... ok
[INFO] [stdout] test preprocessing::one_hot::tests::one_hot_encoding_correct ... ok
[INFO] [stdout] test preprocessing::normalizer::tests::explicit_init_pre_allocates ... 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::one_hot::tests::reset_clears_categories ... ok
[INFO] [stdout] test preprocessing::polynomial::tests::output_dim_correct ... ok
[INFO] [stdout] test preprocessing::polynomial::tests::reset_clears_dim ... ok
[INFO] [stdout] test preprocessing::polynomial::tests::single_feature_full ... 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::two_features_interaction_only ... ok
[INFO] [stdout] test preprocessing::polynomial::tests::update_and_transform_equals_transform ... ok
[INFO] [stdout] test preprocessing::target_encoder::tests::encodes_with_target_mean ... ok
[INFO] [stdout] test preprocessing::polynomial::tests::is_interaction_only_accessor ... ok
[INFO] [stdout] test preprocessing::ccipca::tests::dimension_reduction ... ok
[INFO] [stdout] test preprocessing::target_encoder::tests::passthrough_non_categorical ... ok
[INFO] [stdout] test preprocessing::target_encoder::tests::reset_clears_all_stats ... ok
[INFO] [stdout] test preprocessing::target_encoder::tests::smoothing_pulls_toward_global_mean ... ok
[INFO] [stdout] test preprocessing::target_encoder::tests::unknown_category_uses_global_mean ... ok
[INFO] [stdout] test preprocessing::target_encoder::tests::update_and_transform_consistency ... ok
[INFO] [stdout] test preprocessing::target_encoder::tests::zero_smoothing_uses_pure_category_mean ... ok
[INFO] [stdout] test preprocessing::target_preprocessor::tests::target_encoder_handles_categorical_streaming ... ok
[INFO] [stdout] test preprocessing::target_preprocessor::tests::target_encoder_preprocessor_reset_clears_encoder ... ok
[INFO] [stdout] test preprocessing::target_preprocessor::tests::target_log1p_transform_boundary_zero ... ok
[INFO] [stdout] test preprocessing::target_preprocessor::tests::target_log1p_transform_inverse_correct_for_positive ... ok
[INFO] [stdout] test preprocessing::target_preprocessor::tests::target_log1p_transform_out_of_domain_produces_nan ... ok
[INFO] [stdout] test preprocessing::target_preprocessor::tests::target_log1p_transform_stateless_reset_no_op ... ok
[INFO] [stdout] test preprocessing::target_preprocessor::tests::target_scaler_accumulates_statistics_online ... ok
[INFO] [stdout] test preprocessing::target_preprocessor::tests::target_scaler_cold_start_is_finite ... ok
[INFO] [stdout] test preprocessing::target_preprocessor::tests::target_scaler_fit_transform_then_inverse_recovers_original ... ok
[INFO] [stdout] test preprocessing::target_preprocessor::tests::target_scaler_reset_clears_state ... ok
[INFO] [stdout] test projection::projected_learner::tests::accessors_work ... ok
[INFO] [stdout] test preprocessing::target_encoder::tests::multiple_categorical_features ... ok
[INFO] [stdout] test projection::projected_learner::tests::as_trait_object ... ok
[INFO] [stdout] test projection::projected_learner::tests::custom_config_builds ... ok
[INFO] [stdout] test projection::projected_learner::tests::debug_format_is_informative ... ok
[INFO] [stdout] test projection::projected_learner::tests::default_config_builds ... ok
[INFO] [stdout] test projection::projected_learner::tests::delta_zero_fails ... ok
[INFO] [stdout] test projection::projected_learner::tests::from_boxed_constructor_works ... ok
[INFO] [stdout] test projection::projected_learner::tests::lambda_above_one_fails ... ok
[INFO] [stdout] test preprocessing::target_encoder::tests::negative_smoothing_panics - should panic ... ok
[INFO] [stdout] test projection::projected_learner::tests::lambda_zero_fails ... ok
[INFO] [stdout] test projection::projected_learner::tests::predict_before_training_returns_finite ... ok
[INFO] [stdout] test projection::projected_learner::tests::predict_is_side_effect_free ... ok
[INFO] [stdout] test projection::projected_learner::tests::predict_reads_current_input ... ok
[INFO] [stdout] test projection::projected_learner::tests::seed_zero_fails ... ok
[INFO] [stdout] test projection::projected_learner::tests::reset_clears_everything ... ok
[INFO] [stdout] test projection::projected_learner::tests::train_and_predict_basic ... ok
[INFO] [stdout] test projection::projected_learner::tests::warmup_transition_is_seamless ... ok
[INFO] [stdout] test projection::projected_learner::tests::zero_rank_fails ... ok
[INFO] [stdout] test projection::subspace_tracker::tests::determinism ... ok
[INFO] [stdout] test projection::subspace_tracker::tests::dimensions_correct ... ok
[INFO] [stdout] test projection::subspace_tracker::tests::reorthogonalize_preserves_unit_columns ... ok
[INFO] [stdout] test projection::projected_learner::tests::inner_model_sees_rank_dim_features ... ok
[INFO] [stdout] test projection::subspace_tracker::tests::convergence_on_known_subspace ... ok
[INFO] [stdout] test projection::subspace_tracker::tests::reset_restores_initial_state ... ok
[INFO] [stdout] test projection::subspace_tracker::tests::update_increments_samples ... ok
[INFO] [stdout] test projection::subspace_tracker::tests::supervised_update_finds_signal_direction ... ok
[INFO] [stdout] test projection::subspace_tracker::tests::supervised_update_increments_samples ... ok
[INFO] [stdout] test lstm::tests::test_slstm_sine_regression_reasonable ... ok
[INFO] [stdout] test reservoir::esn::tests::cold_start_returns_zero ... ok
[INFO] [stdout] test reservoir::esn::tests::esn_plasticity_disabled_by_default ... ok
[INFO] [stdout] test reservoir::esn::tests::esn_plasticity_enabled_creates_guard ... 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::predict_is_side_effect_free ... ok
[INFO] [stdout] test reservoir::esn::tests::esn_prediction_uncertainty ... ok
[INFO] [stdout] test reservoir::esn::tests::predict_reads_current_input ... ok
[INFO] [stdout] test mgrade::tests::test_mgrade_sine_regression_reasonable ... ok
[INFO] [stdout] test reservoir::esn::tests::readout_projection_reduces_rls_dim ... ok
[INFO] [stdout] test reservoir::esn::tests::reservoir_state_evolves ... ok
[INFO] [stdout] test reservoir::esn::tests::reset_clears_learned_state ... ok
[INFO] [stdout] test reservoir::esn::tests::readout_projection_deterministic ... ok
[INFO] [stdout] test reservoir::esn::tests::readout_projection_reset_preserves_determinism ... ok
[INFO] [stdout] test reservoir::esn::tests::esn_plasticity_train_runs_without_panic ... ok
[INFO] [stdout] test reservoir::esn::tests::small_reservoir_no_projection ... ok
[INFO] [stdout] test reservoir::esn::tests::test_esn_streaming_alias ... ok
[INFO] [stdout] test reservoir::esn::tests::trains_after_warmup ... ok
[INFO] [stdout] test reservoir::esn::tests::trait_object_compatibility ... ok
[INFO] [stdout] test reservoir::esn::tests::warmup_period_no_training ... ok
[INFO] [stdout] test reservoir::esn::tests::test_esn_nan_skipped ... 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 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_zero_fails ... ok
[INFO] [stdout] test reservoir::esn_config::tests::negative_input_scaling_fails ... ok
[INFO] [stdout] test reservoir::esn_config::tests::readout_dim_auto_defaults_for_large_reservoir ... ok
[INFO] [stdout] test reservoir::esn_config::tests::readout_dim_explicit_overrides_auto ... ok
[INFO] [stdout] test reservoir::esn_config::tests::readout_dim_no_auto_default_for_small_reservoir ... ok
[INFO] [stdout] test reservoir::esn_config::tests::zero_reservoir_fails ... ok
[INFO] [stdout] test reservoir::esn_config::tests::zero_spectral_radius_fails ... ok
[INFO] [stdout] test reservoir::esn_preprocessor::tests::multiple_inputs_work ... 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_config::tests::leak_rate_above_one_fails ... ok
[INFO] [stdout] test reservoir::esn_preprocessor::tests::reset_zeros_state ... ok
[INFO] [stdout] test reservoir::esn_preprocessor::tests::transform_does_not_advance_reservoir ... 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::ngrc::tests::learns_linear_trend ... ok
[INFO] [stdout] test reservoir::esn_config::tests::negative_spectral_radius_fails ... ok
[INFO] [stdout] test reservoir::ngrc::tests::predict_is_side_effect_free ... ok
[INFO] [stdout] test reservoir::ngrc::tests::predict_reads_current_input ... ok
[INFO] [stdout] test learners::krls::tests::learn_sine_rbf ... ok
[INFO] [stdout] test reservoir::ngrc::tests::no_bias_config ... 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::warmup_then_trains ... ok
[INFO] [stdout] test reservoir::ngrc_config::tests::custom_config_builds ... ok
[INFO] [stdout] test reservoir::ngrc_config::tests::default_config_builds ... 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_config::tests::forgetting_factor_above_one_fails ... ok
[INFO] [stdout] test reservoir::ngrc_config::tests::forgetting_factor_zero_fails ... ok
[INFO] [stdout] test reservoir::ngrc_config::tests::k_zero_fails ... ok
[INFO] [stdout] test reservoir::ngrc::tests::trait_object_compatibility ... ok
[INFO] [stdout] test reservoir::ngrc_config::tests::s_zero_fails ... ok
[INFO] [stdout] test reservoir::ngrc::tests::sine_wave_regression ... ok
[INFO] [stdout] test reservoir::esn_preprocessor::tests::pipeline_integration ... 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 serde_support::tests::json_invalid_input_returns_error ... ok
[INFO] [stdout] test serde_support::tests::distributional_model_json_roundtrip ... 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::multiple_timesteps_produce_different_features ... ok
[INFO] [stdout] test snn::spike_preprocessor::tests::lazy_initialization_on_first_update ... ok
[INFO] [stdout] test snn::spike_preprocessor::tests::reset_clears_preprocessor_state ... ok
[INFO] [stdout] test snn::spike_preprocessor::tests::spike_features_are_binary ... ok
[INFO] [stdout] test snn::spike_preprocessor::tests::transform_before_init_returns_zeros ... ok
[INFO] [stdout] test snn::spike_preprocessor::tests::transform_does_not_advance_state ... ok
[INFO] [stdout] test snn::spike_preprocessor::tests::works_in_pipeline ... ok
[INFO] [stdout] test snn::spikenet::tests::input_scaling_adapts ... ok
[INFO] [stdout] test snn::spikenet::tests::lazy_initialization_on_first_train ... ok
[INFO] [stdout] test serde_support::tests::bagged_model_json_roundtrip ... ok
[INFO] [stdout] test snn::spikenet::tests::n_samples_tracks_correctly ... ok
[INFO] [stdout] test snn::spikenet::tests::predict_before_training_returns_zero ... ok
[INFO] [stdout] test snn::spikenet::tests::predict_is_deterministic_without_train ... ok
[INFO] [stdout] test snn::spikenet::tests::memory_bytes_positive_after_init ... ok
[INFO] [stdout] test snn::spikenet::tests::reset_clears_state ... ok
[INFO] [stdout] test snn::spike_preprocessor::tests::output_dim_matches_hidden_plus_output ... ok
[INFO] [stdout] test serde_support::tests::multiclass_model_json_roundtrip ... ok
[INFO] [stdout] test snn::spikenet::tests::test_spikenet_dimension_mismatch_no_panic ... ok
[INFO] [stdout] test snn::spikenet::tests::weighted_training_does_not_crash ... ok
[INFO] [stdout] test snn::spikenet::tests::with_n_input_initializes_immediately ... ok
[INFO] [stdout] test snn::spikenet_config::tests::all_builder_methods_chain ... 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::default_config_is_valid ... ok
[INFO] [stdout] test snn::spikenet_config::tests::negative_eta_rejected ... ok
[INFO] [stdout] test snn::spikenet_config::tests::pp_prop_variant_constructible ... ok
[INFO] [stdout] test snn::spikenet_config::tests::weight_range_too_large_rejected ... ok
[INFO] [stdout] test snn::spikenet_config::tests::zero_hidden_rejected ... ok
[INFO] [stdout] test snn::spikenet_config::tests::zero_outputs_rejected ... ok
[INFO] [stdout] test automl::factories::tests::auto_tuner_survives_invalid_factory_config ... ok
[INFO] [stdout] test ssm::mamba::tests::block_diagonal_nan_guard_with_large_features ... ok
[INFO] [stdout] test ssm::mamba::tests::gate_weights_deterministic ... ok
[INFO] [stdout] test ssm::mamba::tests::gating_filters_ssm_output ... ok
[INFO] [stdout] test ssm::mamba::tests::mamba_bd_4_features_matches_readout_dim ... ok
[INFO] [stdout] test ssm::mamba::tests::mamba_bd_nan_guard_resets_state_not_panic ... ok
[INFO] [stdout] test snn::spikenet::tests::spikenet_predict_reads_current_input ... ok
[INFO] [stdout] test ssm::mamba::tests::mamba_predict_reads_current_input ... ok
[INFO] [stdout] test ssm::mamba::tests::new_creates_fresh_model ... 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::reset_restores_gate_weights ... ok
[INFO] [stdout] test ssm::mamba::tests::predict_after_training_is_finite ... ok
[INFO] [stdout] test ssm::mamba::tests::train_convenience_uses_unit_weight ... ok
[INFO] [stdout] test ssm::mamba::tests::silu_activation_correctness ... ok
[INFO] [stdout] test ssm::mamba::tests::train_one_increments_samples ... ok
[INFO] [stdout] test ssm::mamba::tests::convergence_on_linear_target ... ok
[INFO] [stdout] test ssm::mamba::tests::v3_variant_readout_dim ... ok
[INFO] [stdout] test ssm::mamba::tests::v3_variant_trains_successfully ... ok
[INFO] [stdout] test ssm::mamba::tests::v3exp_readout_dim ... ok
[INFO] [stdout] test ssm::mamba::tests::v3mimo_readout_dim ... ok
[INFO] [stdout] test ssm::mamba::tests::v3mimo_variant_trains_successfully ... ok
[INFO] [stdout] test ssm::mamba_config::tests::bd_basic_config ... ok
[INFO] [stdout] test ssm::mamba_config::tests::bd_block_size_must_divide_d_in ... ok
[INFO] [stdout] test ssm::mamba_config::tests::bd_block_size_too_large ... ok
[INFO] [stdout] test ssm::mamba_config::tests::bd_block_size_too_small ... ok
[INFO] [stdout] test ssm::mamba_config::tests::bd_display_format ... ok
[INFO] [stdout] test ssm::mamba_config::tests::bd_various_block_sizes ... ok
[INFO] [stdout] test ssm::mamba_config::tests::builder_custom_values ... ok
[INFO] [stdout] test ssm::mamba_config::tests::builder_defaults ... 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_config::tests::display_format_v3 ... ok
[INFO] [stdout] test ssm::mamba_config::tests::mamba_version_default_is_v1 ... ok
[INFO] [stdout] test ssm::mamba_config::tests::v1_ignores_n_groups ... ok
[INFO] [stdout] test ssm::mamba_config::tests::v3_auto_derive_n_groups ... ok
[INFO] [stdout] test ssm::mamba_config::tests::v3_auto_derive_n_groups_small_d_in ... ok
[INFO] [stdout] test ssm::mamba_config::tests::v3_explicit_n_groups ... ok
[INFO] [stdout] test ssm::mamba_config::tests::v3_n_groups_must_divide_d_in ... ok
[INFO] [stdout] test ssm::mamba_config::tests::v3exp_auto_derive_n_groups ... ok
[INFO] [stdout] test ssm::mamba_config::tests::v3exp_basic_config ... ok
[INFO] [stdout] test ssm::mamba_config::tests::v3exp_display_format ... ok
[INFO] [stdout] test snn::spikenet::tests::predictions_change_after_training ... ok
[INFO] [stdout] test ssm::mamba_config::tests::v3exp_with_bcnorm ... ok
[INFO] [stdout] test ssm::mamba_config::tests::v3mimo_basic_config ... ok
[INFO] [stdout] test ssm::mamba_config::tests::v3mimo_display_format ... ok
[INFO] [stdout] test ssm::mamba_config::tests::v3exp_n_groups_must_divide_d_in ... ok
[INFO] [stdout] test ssm::mamba_config::tests::v3mimo_rank_4 ... ok
[INFO] [stdout] test ssm::mamba_config::tests::v3mimo_rank_too_large ... ok
[INFO] [stdout] test ssm::mamba_config::tests::v3mimo_rank_zero_invalid ... 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_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 ssm::mamba_config::tests::v3mimo_readout_dim_smaller_than_v3exp ... ok
[INFO] [stdout] test stream::adapters::tests::multiple_predictions ... 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::predictions_reflect_model_state ... ok
[INFO] [stdout] test stream::adapters::tests::stream_is_unpin ... ok
[INFO] [stdout] test stream::adapters::tests::stream_size_hint ... ok
[INFO] [stdout] test stream::adapters::tests::stream_terminates_on_close ... ok
[INFO] [stdout] test stream::channel::tests::bounded_backpressure ... ok
[INFO] [stdout] test stream::adapters::tests::stream_yields_predictions ... ok
[INFO] [stdout] test stream::channel::tests::is_closed_reflects_state ... ok
[INFO] [stdout] test stream::channel::tests::large_burst ... ok
[INFO] [stdout] test stream::channel::tests::cloned_sender_works ... 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::send_batch_preserves_order ... ok
[INFO] [stdout] test stream::channel::tests::send_fails_on_closed_receiver ... ok
[INFO] [stdout] test stream::channel::tests::sender_is_send_sync ... ok
[INFO] [stdout] test stream::channel::tests::send_recv_round_trip ... ok
[INFO] [stdout] test stream::tests::basic_lifecycle ... ok
[INFO] [stdout] test stream::tests::async_sgbt_is_send ... ok
[INFO] [stdout] test stream::tests::callback_receives_correct_counts ... ok
[INFO] [stdout] test stream::tests::multiple_senders ... ok
[INFO] [stdout] test stream::tests::concurrent_predict_during_training ... ok
[INFO] [stdout] test stream::tests::predictor_clone_independent ... ok
[INFO] [stdout] test stream::tests::predictor_is_send_sync ... ok
[INFO] [stdout] test stream::tests::predictor_predict_transformed ... ok
[INFO] [stdout] test stream::tests::run_with_callback_invokes ... ok
[INFO] [stdout] test stream::tests::run_returns_ok_on_empty_channel ... ok
[INFO] [stdout] test stream::tests::with_capacity_custom ... ok
[INFO] [stdout] test stream::tests::with_loss_creates_runner ... 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::initialized_after_one_period ... ok
[INFO] [stdout] test time_series::decomposition::tests::n_samples_increments ... ok
[INFO] [stdout] test time_series::decomposition::tests::position_cycles_correctly ... ok
[INFO] [stdout] test time_series::decomposition::tests::reset_clears_state ... ok
[INFO] [stdout] test time_series::decomposition::tests::seasonal_pattern_captured ... ok
[INFO] [stdout] test time_series::decomposition::tests::trend_tracks_level_shift ... ok
[INFO] [stdout] test time_series::holt_winters::tests::additive_seasonal_captured ... ok
[INFO] [stdout] test time_series::holt_winters::tests::config_validates ... ok
[INFO] [stdout] test time_series::holt_winters::tests::constant_series_converges ... 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::initialization_buffers_first_period ... ok
[INFO] [stdout] test time_series::holt_winters::tests::linear_trend_captured ... ok
[INFO] [stdout] test time_series::holt_winters::tests::multiplicative_seasonal_captured ... 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::exogenous_input ... 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::predict_reads_current_input ... ok
[INFO] [stdout] test time_series::snarimax::tests::reset_clears_state ... ok
[INFO] [stdout] test time_series::snarimax::tests::seasonal_component_works ... ok
[INFO] [stdout] test time_series::snarimax::tests::simple_ar1_converges ... ok
[INFO] [stdout] test time_series::snarimax::tests::streaming_learner_trait ... ok
[INFO] [stdout] test snn::spikenet::tests::test_spikenet_binary_classification_above_chance ... ok
[INFO] [stdout] test ttt::config::tests::config_batch_size_default ... ok
[INFO] [stdout] test ttt::config::tests::config_builder_custom ... ok
[INFO] [stdout] test ttt::config::tests::config_builder_default ... ok
[INFO] [stdout] test ttt::config::tests::config_clone ... ok
[INFO] [stdout] test ttt::config::tests::config_display ... ok
[INFO] [stdout] test ttt::config::tests::config_display_includes_batch_size ... ok
[INFO] [stdout] test ttt::config::tests::config_display_includes_deep_memory_layers ... ok
[INFO] [stdout] test ttt::config::tests::config_rejects_invalid ... ok
[INFO] [stdout] test ttt::config::tests::config_rejects_zero_batch_size ... ok
[INFO] [stdout] test ttt::config::tests::deep_memory_layers_default_is_one ... ok
[INFO] [stdout] test ttt::config::tests::deep_memory_layers_two_accepted ... ok
[INFO] [stdout] test ttt::config::tests::ttt_alpha_warmup ... ok
[INFO] [stdout] test ttt::config::tests::deep_memory_layers_zero_rejected ... ok
[INFO] [stdout] test ttt::config::tests::ttt_nesterov_config ... ok
[INFO] [stdout] test ttt::config::tests::ttt_plasticity_disabled_by_default ... ok
[INFO] [stdout] test ttt::config::tests::ttt_plasticity_enabled ... ok
[INFO] [stdout] test ttt::config::tests::ttt_defaults_unchanged ... ok
[INFO] [stdout] test ttt::config::tests::ttt_rejects_invalid_forgetting_factor ... ok
[INFO] [stdout] test ttt::config::tests::ttt_rejects_invalid_momentum ... ok
[INFO] [stdout] test ttt::config::tests::ttt_rejects_negative_alpha ... ok
[INFO] [stdout] test ttt::config::tests::ttt_rejects_zero_learning_rate ... ok
[INFO] [stdout] test stream::tests::training_improves_predictions ... ok
[INFO] [stdout] test ttt::layer::tests::convergence_on_pattern ... ok
[INFO] [stdout] test ttt::config::tests::ttt_rejects_invalid_delta_rls ... ok
[INFO] [stdout] test ttt::config::tests::ttt_surprise_gated_config ... ok
[INFO] [stdout] test ttt::layer::tests::forward_initializes_projections ... 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::momentum_changes_behavior ... ok
[INFO] [stdout] test ttt::layer::tests::new_creates_uninit ... ok
[INFO] [stdout] test ttt::layer::tests::reset_full_clears_everything ... 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::forward_output_finite ... ok
[INFO] [stdout] test ttt::layer::tests::deterministic_with_seed ... ok
[INFO] [stdout] test ttt::model::tests::auto_pretrain_reset_restores_schedule ... ok
[INFO] [stdout] test ttt::model::tests::adaptive_forgetting_factor_produces_finite_predictions ... ok
[INFO] [stdout] test ttt::model::tests::auto_pretrain_tau_scales_with_dimensions ... ok
[INFO] [stdout] test ttt::model::tests::batch_size_one_matches_online ... ok
[INFO] [stdout] test ttt::model::tests::deep_memory_layers_two_trains_and_predicts ... ok
[INFO] [stdout] test ttt::model::tests::gelu_output_is_nonlinear ... ok
[INFO] [stdout] test ttt::model::tests::implements_streaming_learner ... ok
[INFO] [stdout] test ssm::mamba::tests::v3exp_with_bcnorm_trains_successfully ... ok
[INFO] [stdout] test ttt::model::tests::n_samples_seen_tracks_post_warmup ... ok
[INFO] [stdout] test ttt::model::tests::new_creates_model ... ok
[INFO] [stdout] test ttt::model::tests::d_model_observably_affects_output ... ok
[INFO] [stdout] test ttt::model::tests::predict_before_train_returns_zero ... ok
[INFO] [stdout] test ttt::model::tests::predict_reads_current_input ... ok
[INFO] [stdout] test ttt::model::tests::plasticity_ttt_surgical_reinit ... ok
[INFO] [stdout] test ttt::model::tests::pretrain_empty_data_noop ... ok
[INFO] [stdout] test ttt::model::tests::auto_pretrain_decays_projection_lr ... ok
[INFO] [stdout] test ttt::model::tests::pretrain_zero_epochs_noop ... ok
[INFO] [stdout] test ttt::model::tests::reset_clears_batch_state ... ok
[INFO] [stdout] test ttt::model::tests::reset_clears_state ... ok
[INFO] [stdout] test ttt::model::tests::test_identity_init_when_dims_match ... ok
[INFO] [stdout] test ttt::model::tests::test_set_projections_overrides_init ... ok
[INFO] [stdout] test ttt::model::tests::test_set_projections_validates_dimensions ... ok
[INFO] [stdout] test ttt::model::tests::test_xavier_init_when_dims_differ ... ok
[INFO] [stdout] test ttt::model::tests::titans_extensions_work ... ok
[INFO] [stdout] test ttt::model::tests::train_and_predict_finite ... ok
[INFO] [stdout] test ttt::model::tests::ttt_adjust_config_updates_effective_alpha ... ok
[INFO] [stdout] test ssm::mamba::tests::v3exp_variant_trains_successfully ... ok
[INFO] [stdout] test ttt::model::tests::ttt_all_titans_features_combined ... ok
[INFO] [stdout] test ttt::model::tests::ttt_alpha_warmup_trains ... ok
[INFO] [stdout] test ttt::model::tests::ttt_plasticity_enabled_creates_guard ... ok
[INFO] [stdout] test ttt::model::tests::ttt_nesterov_trains ... ok
[INFO] [stdout] test ttt::model::tests::ttt_sensitivity_tracks_adjusted_alpha ... ok
[INFO] [stdout] test reservoir::esn::tests::sine_wave_regression ... ok
[INFO] [stdout] test ttt::model::tests::pretrain_projections_basic ... ok
[INFO] [stdout] test ttt::model::tests::warmup_delays_training ... ok
[INFO] [stdout] test ttt::model::tests::ttt_uncertainty_modulated_eta ... ok
[INFO] [stdout] test wave7_1_tests::binary_classifier_predicts_in_unit_interval ... ok
[INFO] [stdout] test wave7_1_tests::drift_aware_wraps_arbitrary_learner ... ok
[INFO] [stdout] test wave7_1_tests::multiclass_routes_classes_correctly ... ok
[INFO] [stdout] test wave7_1_tests::online_regressor_preset_compiles_and_predicts ... ok
[INFO] [stdout] test wave7_1_tests::projected_wraps_arbitrary_learner ... ok
[INFO] [stdout] test ttt::model::tests::ttt_surprise_gated_trains ... ok
[INFO] [stdout] test ttt::model::tests::ttt_plasticity_train_runs_without_panic ... ok
[INFO] [stdout] test reservoir::esn::tests::large_reservoir_sine_wave_with_projection ... ok
[INFO] [stdout] test ttt::model::tests::pretrain_improves_over_random ... ok
[INFO] [stdout] test ttt::model::tests::mini_batch_convergence ... ok
[INFO] [stdout] test wave7_1_tests::auto_tune_uses_supplied_factory ... ok
[INFO] [stdout] test wave7_1_tests::tuned_sgbt_preset_runs_within_model_autotuner ... ok
[INFO] [stdout] test automl::factories::tests::multi_factory_with_projected ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1642 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 11.90s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/compliance_harness.rs (/opt/rustwide/target/debug/deps/compliance_harness-ddb77dff31b87986)
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test compliance_linear ... ok
[INFO] [stdout] test compliance_attention_gla ... ok
[INFO] [stdout] test compliance_mondrian ... ok
[INFO] [stdout] test compliance_gaussian_nb ... ok
[INFO] [stdout] test compliance_rls ... ok
[INFO] [stdout] test compliance_mamba ... ok
[INFO] [stdout] test compliance_sgbt ... ok
[INFO] [stdout] test compliance_esn ... ok
[INFO] [stdout] test compliance_mgrade ... ok
[INFO] [stdout] test compliance_spikenet ... ok
[INFO] [stdout] test compliance_krls ... ok
[INFO] [stdout] test compliance_kan ... ok
[INFO] [stdout] test compliance_slstm ... ok
[INFO] [stderr]      Running tests/convergence.rs (/opt/rustwide/target/debug/deps/convergence-944f19def2a5d325)
[INFO] [stdout] test compliance_ttt ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s
[INFO] [stdout] 
[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.43s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/degradation.rs (/opt/rustwide/target/debug/deps/degradation-53c9ef2e6a7881f4)
[INFO] [stdout] 
[INFO] [stdout] running 17 tests
[INFO] [stdout] test abrupt_drift_rls_recovers ... ok
[INFO] [stdout] test abrupt_drift_mamba_stays_finite ... ok
[INFO] [stdout] test abrupt_drift_mgrade_stays_finite ... ok
[INFO] [stdout] test abrupt_drift_sgbt_recovers ... ok
[INFO] [stdout] test cold_restart_rls_stays_finite ... ok
[INFO] [stdout] test abrupt_drift_ttt_stays_finite ... ok
[INFO] [stdout] test abrupt_drift_esn_stays_finite ... ok
[INFO] [stdout] test abrupt_drift_slstm_stays_finite ... ok
[INFO] [stdout] test scale_shift_rls_adapts ... ok
[INFO] [stdout] test abrupt_drift_spikenet_stays_finite ... ok
[INFO] [stdout] test cold_restart_mamba_stays_finite ... ok
[INFO] [stdout] test scale_shift_sgbt_adapts ... ok
[INFO] [stdout] test abrupt_drift_kan_stays_finite ... ok
[INFO] [stdout] test cold_restart_spikenet_stays_finite ... ok
[INFO] [stdout] test cold_restart_sgbt_stays_finite ... ok
[INFO] [stdout] test cold_restart_kan_stays_finite ... ok
[INFO] [stdout] test cold_restart_slstm_stays_finite ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.30s
[INFO] [stderr]      Running tests/generate_bench_model.rs (/opt/rustwide/target/debug/deps/generate_bench_model-b1b9b5f9feeaaeba)
[INFO] [stdout] 
[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-c1cccfefeee626ed)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test no_false_alarm_stationary ... ok
[INFO] [stdout] test pht_detects_abrupt_drift ... ok
[INFO] [stdout] test drift_detector_clone_fresh_resets ... 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.10s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration_sgbt.rs (/opt/rustwide/target/debug/deps/integration_sgbt-9073dddae3af5c33)
[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_regression_converges ... ok
[INFO] [stdout] test sgbt_classification_accuracy ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.53s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/log_linear_attention.rs (/opt/rustwide/target/debug/deps/log_linear_attention-3eac8fa87b401ebb)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test log_linear_mqar_streaming_dominates_untrained ... ok
[INFO] [stdout] test log_linear_needle_mse_vs_gla ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/metamorphic_tests.rs (/opt/rustwide/target/debug/deps/metamorphic_tests-d229f8076c014014)
[INFO] [stdout] 
[INFO] [stdout] running 28 tests
[INFO] [stdout] test count_monotone_linear ... ok
[INFO] [stdout] test count_monotone_esn_nondecreasing ... ok
[INFO] [stdout] test count_monotone_rls ... ok
[INFO] [stdout] test count_monotone_sgbt ... ok
[INFO] [stdout] test count_monotone_spikenet ... ok
[INFO] [stdout] test count_monotone_mgrade_nondecreasing ... ok
[INFO] [stdout] test count_monotone_krls ... ok
[INFO] [stdout] test count_monotone_mondrian ... ok
[INFO] [stdout] test monotone_adaptation_rls ... ok
[INFO] [stdout] test count_monotone_ttt_nondecreasing ... ok
[INFO] [stdout] test predict_consistent_linear ... ok
[INFO] [stdout] test predict_consistent_esn ... ok
[INFO] [stdout] test predict_consistent_attention ... ok
[INFO] [stdout] test count_monotone_slstm_nondecreasing ... ok
[INFO] [stdout] test monotone_adaptation_sgbt ... ok
[INFO] [stdout] test predict_consistent_mamba ... ok
[INFO] [stdout] test predict_consistent_sgbt ... ok
[INFO] [stdout] test predict_consistent_rls ... ok
[INFO] [stdout] test predict_consistent_spikenet ... ok
[INFO] [stdout] test reset_idempotent_mondrian ... ok
[INFO] [stdout] test reset_idempotent_rls ... ok
[INFO] [stdout] test predict_consistent_kan ... ok
[INFO] [stdout] test reset_idempotent_slstm ... ok
[INFO] [stdout] test reset_idempotent_mamba ... ok
[INFO] [stdout] test reset_idempotent_ttt ... ok
[INFO] [stdout] test reset_idempotent_kan ... ok
[INFO] [stdout] test monotone_adaptation_kan ... ok
[INFO] [stdout] test reset_idempotent_sgbt ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/numerical_stability.rs (/opt/rustwide/target/debug/deps/numerical_stability-3fad311f1e64c52f)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test stability_sgbt_mixed_extreme_and_normal ... ok
[INFO] [stdout] test stability_reset_then_extreme ... ok
[INFO] [stdout] test stability_extreme_magnitudes ... ok
[INFO] [stdout] test stability_all_zero_features ... ok
[INFO] [stdout] test stability_near_zero_features ... ok
[INFO] [stdout] test stability_alternating_extremes ... ok
[INFO] [stdout] test stability_repeated_identical ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.39s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/property_tests.rs (/opt/rustwide/target/debug/deps/property_tests-89a1ba7968ac8cc5)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test loss_gradient_finite ... ok
[INFO] [stdout] test loss_hessian_nonneg ... ok
[INFO] [stdout] test sample_weight_positive ... ok
[INFO] [stdout] test tree_prediction_finite ... ok
[INFO] [stdout] test softmax_sums_to_one ... ok
[INFO] [stdout] test logistic_sigmoid_in_01 ... ok
[INFO] [stdout] test logistic_gradient_bounded ... ok
[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.11s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/selective_ssm_v3.rs (/opt/rustwide/target/debug/deps/selective_ssm_v3-394a7910910f935b)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test complex_diag_million_step_finite ... ignored
[INFO] [stdout] test v3exp_parity_complex_modes_dominate_real_decay ... ok
[INFO] [stderr]    Doc-tests irithyll
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 31.37s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 246 tests
[INFO] [stdout] test src/attention/attention_config.rs - attention::attention_config::StreamingAttentionConfig (line 35) ... ignored
[INFO] [stdout] test src/attention/attention_config.rs - attention::attention_config::StreamingAttentionConfigBuilder (line 110) ... 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 30) ... ignored
[INFO] [stdout] test src/attention/mod.rs - attention::delta_net (line 93) ... ignored
[INFO] [stdout] test src/attention/mod.rs - attention::delta_product (line 120) ... ignored
[INFO] [stdout] test src/attention/mod.rs - attention::gla (line 70) ... ignored
[INFO] [stdout] test src/attention/mod.rs - attention::hawk (line 199) ... ignored
[INFO] [stdout] test src/attention/mod.rs - attention::hgrn2 (line 175) ... ignored
[INFO] [stdout] test src/attention/mod.rs - attention::log_linear (line 286) ... ignored
[INFO] [stdout] test src/attention/mod.rs - attention::ret_net (line 222) ... ignored
[INFO] [stdout] test src/attention/mod.rs - attention::rwkv7 (line 151) ... ignored
[INFO] [stdout] test src/attention/mod.rs - attention::streaming_attention (line 245) ... ignored
[INFO] [stdout] test src/attention/streaming_attention.rs - attention::streaming_attention::StreamingAttentionModel (line 49) ... ignored
[INFO] [stdout] test src/automl/meta_learner.rs - automl::meta_learner::MetaLearner (line 268) ... ignored
[INFO] [stdout] test src/automl/meta_learner.rs - automl::meta_learner::MetaLearner (line 282) ... ignored
[INFO] [stdout] test src/automl/auto_tuner/core.rs - automl::auto_tuner::core::AutoTuner (line 33) - compile ... ok
[INFO] [stdout] test src/automl/factories/mod.rs - automl::factories::Factory (line 86) - compile ... ok
[INFO] [stdout] test src/automl/auto_builder/mod.rs - automl::auto_builder::WelfordRace::with_termination (line 624) ... ok
[INFO] [stdout] test src/automl/meta_learner.rs - automl::meta_learner::NoOpMetaLearner (line 378) ... ok
[INFO] [stdout] test src/automl/reward.rs - automl::reward::RewardNormalizer (line 16) ... ok
[INFO] [stdout] test src/automl/adaptation_bus.rs - automl::adaptation_bus::CriticalGuard (line 825) ... ok
[INFO] [stdout] test src/automl/factories/mod.rs - automl::factories::Factory::with_config_range (line 324) ... ok
[INFO] [stdout] test src/automl/adaptation_bus.rs - automl::adaptation_bus::AdaptationBus (line 475) ... ok
[INFO] [stdout] test src/bandits/discounted_thompson.rs - bandits::discounted_thompson (line 34) ... ok
[INFO] [stdout] test src/bandits/mod.rs - bandits (line 26) ... ok
[INFO] [stdout] test src/bandits/epsilon_greedy.rs - bandits::epsilon_greedy::EpsilonGreedy (line 17) ... ok
[INFO] [stdout] test src/bandits/thompson.rs - bandits::thompson (line 28) ... ok
[INFO] [stdout] test src/bandits/ucb.rs - bandits::ucb::UCB1 (line 18) ... ok
[INFO] [stdout] test src/bandits/ucb.rs - bandits::ucb::UCBTuned (line 130) ... ok
[INFO] [stdout] test src/bandits/lin_ucb.rs - bandits::lin_ucb::LinUCB (line 24) ... ok
[INFO] [stdout] test src/clustering/clustream.rs - clustering::clustream::CluStream (line 244) ... ok
[INFO] [stdout] test src/anomaly/hst.rs - anomaly::hst::HalfSpaceTree (line 338) ... ok
[INFO] [stdout] test src/clustering/clustream.rs - clustering::clustream::CluStreamConfig::builder (line 184) ... ok
[INFO] [stdout] test src/clustering/kmeans.rs - clustering::kmeans::StreamingKMeans (line 124) ... ok
[INFO] [stdout] test src/common/plasticity.rs - common::plasticity::PlasticityConfigBuilder (line 102) ... ok
[INFO] [stdout] test src/clustering/dbstream.rs - clustering::dbstream::DBStreamConfig (line 110) ... ok
[INFO] [stdout] test src/clustering/kmeans.rs - clustering::kmeans::StreamingKMeansConfigBuilder (line 25) ... ok
[INFO] [stdout] test src/clustering/dbstream.rs - clustering::dbstream::DBStream (line 181) ... ok
[INFO] [stdout] test src/common/plasticity.rs - common::plasticity (line 15) ... 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/continual/mod.rs - continual (line 12) ... ok
[INFO] [stdout] test src/continual/continual_wrapper.rs - continual::continual_wrapper::continual (line 293) ... ok
[INFO] [stdout] test src/ensemble/adaptive.rs - ensemble::adaptive::AdaptiveSGBT<SquaredLoss>::new (line 74) ... ok
[INFO] [stdout] test src/ensemble/adaptive.rs - ensemble::adaptive::AdaptiveSGBT<L>::with_loss (line 101) ... ok
[INFO] [stdout] test src/ensemble/adaptive.rs - ensemble::adaptive (line 10) ... ok
[INFO] [stdout] test src/ensemble/adaptive_forest.rs - ensemble::adaptive_forest::AdaptiveRandomForest (line 200) ... ok
[INFO] [stdout] test src/ensemble/bagged.rs - ensemble::bagged (line 13) ... ok
[INFO] [stdout] test src/ensemble/distributional/mod.rs - ensemble::distributional::DistributionalSGBT (line 106) ... ok
[INFO] [stdout] test src/ensemble/core.rs - ensemble::core::SGBT (line 47) ... ok
[INFO] [stdout] test src/ensemble/lr_schedule.rs - ensemble::lr_schedule (line 23) ... ok
[INFO] [stdout] test src/ensemble/lr_schedule.rs - ensemble::lr_schedule::ConstantLR (line 85) ... ok
[INFO] [stdout] test src/ensemble/config/mod.rs - ensemble::config::SGBTConfigBuilder (line 600) ... ok
[INFO] [stdout] test src/ensemble/core.rs - ensemble::core::SGBT (line 55) ... ok
[INFO] [stdout] test src/ensemble/lr_schedule.rs - ensemble::lr_schedule::CosineAnnealingLR (line 264) ... ok
[INFO] [stdout] test src/ensemble/lr_schedule.rs - ensemble::lr_schedule::ExponentialDecayLR (line 206) ... ok
[INFO] [stdout] test src/ensemble/core.rs - ensemble::core::SGBT<L>::with_loss (line 172) ... ok
[INFO] [stdout] test src/ensemble/lr_schedule.rs - ensemble::lr_schedule::PlateauLR (line 332) ... ok
[INFO] [stdout] test src/evaluation/mod.rs - evaluation (line 15) ... ok
[INFO] [stdout] test src/ensemble/moe.rs - ensemble::moe (line 43) ... ok
[INFO] [stdout] test src/ensemble/lr_schedule.rs - ensemble::lr_schedule::LinearDecayLR (line 138) ... ok
[INFO] [stdout] test src/ensemble/parallel.rs - ensemble::parallel::ParallelSGBT<L>::with_loss (line 132) ... ok
[INFO] [stdout] test src/export_embedded.rs - export_embedded (line 17) - compile ... ok
[INFO] [stdout] test src/export_embedded.rs - export_embedded::export_turbo_quantized_weights (line 634) - compile ... ok
[INFO] [stdout] test src/ensemble/moe_distributional.rs - ensemble::moe_distributional (line 45) ... ok
[INFO] [stdout] test src/ensemble/multi_target.rs - ensemble::multi_target::MultiTargetSGBT (line 21) ... ok
[INFO] [stdout] test src/ensemble/stacked.rs - ensemble::stacked (line 25) ... ok
[INFO] [stdout] test src/kan/model.rs - kan::model::StreamingKAN (line 20) - compile ... ok
[INFO] [stdout] test src/evaluation/progressive.rs - evaluation::progressive::ProgressiveValidator (line 73) ... ok
[INFO] [stdout] test src/kan/config.rs - kan::config::KANConfig (line 46) ... ok
[INFO] [stdout] test src/evaluation/prequential.rs - evaluation::prequential::PrequentialEvaluator (line 70) ... ok
[INFO] [stdout] test src/kan/config.rs - kan::config::KANConfigBuilder (line 145) ... ok
[INFO] [stdout] test src/ensemble/quantile_regressor.rs - ensemble::quantile_regressor (line 15) ... ok
[INFO] [stdout] test src/kan/mod.rs - kan (line 17) ... ok
[INFO] [stdout] test src/learner.rs - learner (line 25) ... ok
[INFO] [stdout] test src/generators/mod.rs - generators (line 28) ... ok
[INFO] [stdout] test src/learner.rs - learner::SGBTLearner (line 81) ... ok
[INFO] [stdout] test src/learner.rs - learner::SGBTLearner (line 90) ... ok
[INFO] [stdout] test src/learners/classification.rs - learners::classification (line 43) ... ok
[INFO] [stdout] test src/learner.rs - learner::SGBTLearner<SquaredLoss>::from_config (line 151) ... ok
[INFO] [stdout] test src/learners/classification.rs - learners::classification (line 29) ... ok
[INFO] [stdout] test src/learners/mondrian.rs - learners::mondrian::MondrianForest (line 451) ... ignored
[INFO] [stdout] test src/learners/mondrian.rs - learners::mondrian::MondrianForestConfig (line 61) ... ignored
[INFO] [stdout] test src/learners/linear.rs - learners::linear::StreamingLinearModel::new (line 172) ... ok
[INFO] [stdout] test src/learners/linear.rs - learners::linear::Regularization (line 47) ... ok
[INFO] [stdout] test src/learners/naive_bayes.rs - learners::naive_bayes::GaussianNB (line 113) ... ignored
[INFO] [stdout] test src/learners/krls.rs - learners::krls (line 30) ... ok
[INFO] [stdout] test src/learners/bounded_rls.rs - learners::bounded_rls (line 9) ... 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/learners/linear.rs - learners::linear::StreamingLinearModel (line 135) ... ok
[INFO] [stdout] test src/lib.rs - (line 119) - compile ... ok
[INFO] [stdout] test src/lib.rs - (line 103) - compile ... ok
[INFO] [stdout] test src/lib.rs - (line 93) - compile ... ok
[INFO] [stdout] test src/lib.rs - auto_regressor (line 1292) - compile ... ok
[INFO] [stdout] test src/learners/rls.rs - learners::rls::RecursiveLeastSquares (line 102) ... ok
[INFO] [stdout] test src/learners/rls.rs - learners::rls::LocallyWeightedRegression (line 760) ... ok
[INFO] [stdout] test src/learners/multinomial_bernoulli_nb.rs - learners::multinomial_bernoulli_nb::MultinomialNB (line 32) ... ok
[INFO] [stdout] test src/lib.rs - auto_tuner (line 1202) - compile ... ok
[INFO] [stdout] test src/lib.rs - auto_tune (line 1033) - compile ... ok
[INFO] [stdout] test src/learners/rls.rs - learners::rls::StreamingPolynomialRegression (line 579) ... ok
[INFO] [stdout] test src/learners/multinomial_bernoulli_nb.rs - learners::multinomial_bernoulli_nb::BernoulliNB (line 226) ... ok
[INFO] [stdout] test src/lib.rs - adaptive_sgbt (line 676) ... ok
[INFO] [stdout] test src/lib.rs - ccipca (line 597) ... ok
[INFO] [stdout] test src/lib.rs - binary_classifier (line 1052) ... ok
[INFO] [stdout] test src/lib.rs - esn_preprocessor (line 809) ... ok
[INFO] [stdout] test src/lib.rs - esn (line 788) ... ok
[INFO] [stdout] test src/lib.rs - epsilon_greedy (line 698) ... ok
[INFO] [stdout] test src/lib.rs - gaussian_nb (line 530) ... ok
[INFO] [stdout] test src/lib.rs - feature_hasher (line 610) ... ok
[INFO] [stdout] test src/lib.rs - drift_aware (line 1112) ... ok
[INFO] [stdout] test src/lib.rs - krls (line 585) ... ok
[INFO] [stdout] test src/lib.rs - lin_ucb (line 752) ... ok
[INFO] [stdout] test src/lib.rs - mgrade (line 946) - compile ... ok
[INFO] [stdout] test src/lib.rs - linear (line 506) ... ok
[INFO] [stdout] test src/lib.rs - mamba_bd (line 864) ... ok
[INFO] [stdout] test src/lib.rs - make_pipeline (line 216) ... ok
[INFO] [stdout] test src/lib.rs - mamba (line 829) ... ok
[INFO] [stdout] test src/lib.rs - make_pipeline (line 227) ... ok
[INFO] [stdout] test src/lib.rs - mamba_preprocessor (line 848) ... ok
[INFO] [stdout] test src/lib.rs - min_max_scaler (line 623) ... ok
[INFO] [stdout] test src/lib.rs - mondrian (line 542) ... ok
[INFO] [stdout] test src/lib.rs - multiclass_classifier (line 1075) ... ok
[INFO] [stdout] test src/lib.rs - ngrc (line 766) ... ok
[INFO] [stdout] test src/lib.rs - normalizer (line 558) ... ok
[INFO] [stdout] test src/lib.rs - online_regressor (line 1236) ... ok
[INFO] [stdout] test src/lib.rs - multiclass (line 1176) ... ok
[INFO] [stdout] test src/lib.rs - one_hot (line 635) ... ok
[INFO] [stdout] test src/lib.rs - streaming_kan (line 965) - compile ... ok
[INFO] [stdout] test src/lib.rs - streaming_ttt (line 906) - compile ... ok
[INFO] [stdout] test src/lib.rs - streaming_slstm (line 928) - compile ... ok
[INFO] [stdout] test src/lib.rs - rls (line 518) ... ok
[INFO] [stdout] test src/lib.rs - projected (line 1142) ... ok
[INFO] [stdout] test src/lib.rs - tuned_sgbt (line 1263) - compile ... ok
[INFO] [stdout] test src/lib.rs - pipe (line 572) ... ok
[INFO] [stdout] test src/lib.rs - sgbt (line 488) ... ok
[INFO] [stdout] test src/lib.rs - polynomial_features (line 647) ... ok
[INFO] [stdout] test src/lstm/mod.rs - lstm::StreamingLSTM (line 275) - compile ... ok
[INFO] [stdout] test src/lib.rs - thompson (line 739) ... ok
[INFO] [stdout] test src/lstm/mod.rs - lstm::SLSTMConfig (line 32) ... ok
[INFO] [stdout] test src/lib.rs - ucb1 (line 711) ... ok
[INFO] [stdout] test src/lib.rs - spikenet (line 885) ... ok
[INFO] [stdout] test src/lib.rs - target_encoder (line 663) ... ok
[INFO] [stdout] test src/lib.rs - ucb_tuned (line 724) ... ok
[INFO] [stdout] test src/metrics/classification.rs - metrics::classification::ClassificationMetrics (line 15) ... ok
[INFO] [stdout] test src/lstm/mod.rs - lstm::SLSTMConfigBuilder (line 114) ... ok
[INFO] [stdout] test src/metrics/ewma.rs - metrics::ewma::EwmaClassificationMetrics (line 158) ... ok
[INFO] [stdout] test src/metrics/conformal_pid.rs - metrics::conformal_pid::ConformalPID (line 19) ... ok
[INFO] [stdout] test src/metrics/conformal.rs - metrics::conformal::AdaptiveConformalInterval (line 52) ... ok
[INFO] [stdout] test src/metrics/auc.rs - metrics::auc::StreamingAUC (line 36) ... ok
[INFO] [stdout] test src/metrics/kappa.rs - metrics::kappa::CohenKappa (line 44) ... ok
[INFO] [stdout] test src/metrics/ewma.rs - metrics::ewma::EwmaRegressionMetrics (line 18) ... ok
[INFO] [stdout] test src/metrics/kappa.rs - metrics::kappa::KappaM (line 181) ... ok
[INFO] [stdout] test src/metrics/importance.rs - metrics::importance::FeatureImportance (line 15) ... ok
[INFO] [stdout] test src/metrics/kappa.rs - metrics::kappa::KappaT (line 315) ... ok
[INFO] [stdout] test src/metrics/rolling.rs - metrics::rolling::RollingClassificationMetrics (line 192) ... ok
[INFO] [stdout] test src/metrics/quantile_tracker.rs - metrics::quantile_tracker::StreamingQuantileTracker (line 20) ... ok
[INFO] [stdout] test src/metrics/platt_scaling.rs - metrics::platt_scaling::OnlinePlattScaling (line 21) ... ok
[INFO] [stdout] test src/metrics/rolling.rs - metrics::rolling::RollingRegressionMetrics (line 21) ... ok
[INFO] [stdout] test src/metrics/regression.rs - metrics::regression::RegressionMetrics (line 15) ... ok
[INFO] [stdout] test src/metrics/mod.rs - metrics::MetricSet (line 46) ... ok
[INFO] [stdout] test src/metrics/streaming_metric.rs - metrics::streaming_metric (line 15) ... ok
[INFO] [stdout] test src/metrics/streaming_metric.rs - metrics::streaming_metric::MAE (line 146) ... ok
[INFO] [stdout] test src/metrics/streaming_metric.rs - metrics::streaming_metric::Accuracy (line 593) ... ok
[INFO] [stdout] test src/metrics/streaming_metric.rs - metrics::streaming_metric::LogLoss (line 521) ... ok
[INFO] [stdout] test src/metrics/streaming_metric.rs - metrics::streaming_metric::R2 (line 331) ... ok
[INFO] [stdout] test src/metrics/streaming_metric.rs - metrics::streaming_metric::Pinball (line 425) ... ok
[INFO] [stdout] test src/metrics/streaming_metric.rs - metrics::streaming_metric::MSE (line 207) ... ok
[INFO] [stdout] test src/metrics/streaming_metric.rs - metrics::streaming_metric::MetricUnion (line 83) ... ok
[INFO] [stdout] test src/mgrade/mod.rs - mgrade::StreamingMGrade (line 226) - compile ... ok
[INFO] [stdout] test src/moe/mod.rs - moe::NeuralMoE (line 90) - compile ... ok
[INFO] [stdout] test src/metrics/strongly_adaptive.rs - metrics::strongly_adaptive::StronglyAdaptiveConformal (line 28) ... ok
[INFO] [stdout] test src/mgrade/mod.rs - mgrade::MGradeConfigBuilder (line 99) ... ok
[INFO] [stdout] test src/metrics/streaming_metric.rs - metrics::streaming_metric::RMSE (line 270) ... ok
[INFO] [stdout] test src/metrics/temperature_scaling.rs - metrics::temperature_scaling (line 28) ... ok
[INFO] [stdout] test src/mgrade/mod.rs - mgrade::MGradeConfig (line 35) ... ok
[INFO] [stdout] test src/pipeline.rs - pipeline::Pipeline (line 213) ... ok
[INFO] [stdout] test src/pipeline.rs - pipeline (line 21) ... ok
[INFO] [stdout] test src/preprocessing/ccipca.rs - preprocessing::ccipca (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::PipelineBuilder (line 93) ... ok
[INFO] [stdout] test src/pipeline.rs - pipeline::PipelineBuilder::target_preprocessor (line 133) ... 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::new (line 61) ... ok
[INFO] [stdout] test src/preprocessing/feature_selector.rs - preprocessing::feature_selector (line 14) ... 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 (line 24) ... ok
[INFO] [stdout] test src/preprocessing/feature_selector.rs - preprocessing::feature_selector::OnlineFeatureSelector::new (line 76) ... ok
[INFO] [stdout] test src/preprocessing/mod.rs - preprocessing (line 21) ... 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::IncrementalNormalizer::update_and_transform (line 225) ... ok
[INFO] [stdout] test src/preprocessing/feature_selector.rs - preprocessing::feature_selector::OnlineFeatureSelector::mask_features (line 144) ... ok
[INFO] [stdout] test src/preprocessing/normalizer.rs - preprocessing::normalizer (line 19) ... ok
[INFO] [stdout] test src/preprocessing/normalizer.rs - preprocessing::normalizer::IncrementalNormalizer::new (line 65) ... 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::with_n_features (line 85) ... ok
[INFO] [stdout] test src/preprocessing/one_hot.rs - preprocessing::one_hot::OneHotEncoder (line 16) ... ok
[INFO] [stdout] test src/preprocessing/one_hot.rs - preprocessing::one_hot::OneHotEncoder::with_max_categories (line 69) ... ok
[INFO] [stdout] test src/preprocessing/one_hot.rs - preprocessing::one_hot::OneHotEncoder::new (line 48) ... 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::new (line 56) ... ok
[INFO] [stdout] test src/preprocessing/polynomial.rs - preprocessing::polynomial (line 16) ... 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::TargetEncoder::new (line 75) ... ok
[INFO] [stdout] test src/preprocessing/target_encoder.rs - preprocessing::target_encoder::TargetEncoder::with_smoothing (line 101) ... ok
[INFO] [stdout] test src/preprocessing/target_encoder.rs - preprocessing::target_encoder (line 24) ... ok
[INFO] [stdout] test src/preprocessing/target_preprocessor.rs - preprocessing::target_preprocessor::TargetScaler (line 137) ... ok
[INFO] [stdout] test src/preprocessing/target_preprocessor.rs - preprocessing::target_preprocessor::TargetEncoderPreprocessor (line 379) ... ok
[INFO] [stdout] test src/preprocessing/target_preprocessor.rs - preprocessing::target_preprocessor (line 40) ... ok
[INFO] [stdout] test src/projection/projected_learner.rs - projection::projected_learner::ProjectedLearner (line 243) ... ok
[INFO] [stdout] test src/projection/subspace_tracker.rs - projection::subspace_tracker::SubspaceTracker (line 107) ... ok
[INFO] [stdout] test src/reservoir/esn.rs - reservoir::esn::EchoStateNetwork (line 49) ... ok
[INFO] [stdout] test src/preprocessing/target_preprocessor.rs - preprocessing::target_preprocessor::TargetLog1pTransform (line 297) ... ok
[INFO] [stdout] test src/reservoir/esn_config.rs - reservoir::esn_config::ESNConfig (line 28) ... ok
[INFO] [stdout] test src/snn/mod.rs - snn (line 15) ... ok
[INFO] [stdout] test src/reservoir/ngrc.rs - reservoir::ngrc::NextGenRC (line 45) ... ok
[INFO] [stdout] test src/snn/mod.rs - snn (line 32) ... ok
[INFO] [stdout] test src/reservoir/esn_preprocessor.rs - reservoir::esn_preprocessor (line 13) ... ok
[INFO] [stdout] test src/snn/spikenet.rs - snn::spikenet::SpikeNet (line 59) ... ok
[INFO] [stdout] test src/reservoir/ngrc_config.rs - reservoir::ngrc_config::NGRCConfig (line 26) ... ok
[INFO] [stdout] test src/snn/spike_preprocessor.rs - snn::spike_preprocessor::SpikePreprocessor (line 29) ... ok
[INFO] [stdout] test src/snn/spikenet_config.rs - snn::spikenet_config::SpikeNetConfigBuilder (line 231) ... ok
[INFO] [stdout] test src/stream/adapters.rs - stream::adapters (line 12) - compile ... ok
[INFO] [stdout] test src/stream/mod.rs - stream (line 38) - compile ... ok
[INFO] [stdout] test src/ssm/mamba/mod.rs - ssm::mamba::StreamingMamba (line 161) ... 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 110) ... ok
[INFO] [stdout] test src/stream/mod.rs - stream::AsyncSGBT<L>::with_loss (line 218) - compile ... ok
[INFO] [stdout] test src/ssm/mamba_preprocessor.rs - ssm::mamba_preprocessor (line 17) ... ok
[INFO] [stdout] test src/ssm/mamba_config.rs - ssm::mamba_config::MambaConfigBuilder (line 210) ... ok
[INFO] [stdout] test src/ssm/mod.rs - ssm (line 28) ... ok
[INFO] [stdout] test src/ssm/mamba_preprocessor.rs - ssm::mamba_preprocessor::MambaPreprocessor (line 38) ... ok
[INFO] [stdout] test src/time_series/decomposition.rs - time_series::decomposition::StreamingDecomposition (line 155) ... ok
[INFO] [stdout] test src/time_series/holt_winters.rs - time_series::holt_winters::HoltWintersConfig (line 33) ... ok
[INFO] [stdout] test src/time_series/decomposition.rs - time_series::decomposition::DecompositionConfigBuilder (line 36) ... 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 (line 284) ... ok
[INFO] [stdout] test src/time_series/snarimax.rs - time_series::snarimax::SNARIMAX::forecast (line 409) ... ok
[INFO] [stdout] test src/time_series/snarimax.rs - time_series::snarimax::SNARIMAX::new (line 330) ... ok
[INFO] [stdout] test src/time_series/holt_winters.rs - time_series::holt_winters::HoltWinters (line 170) ... ok
[INFO] [stdout] test src/ttt/model.rs - ttt::model::StreamingTTT (line 18) - compile ... ok
[INFO] [stdout] test src/ttt/config.rs - ttt::config::TTTConfig (line 10) ... ok
[INFO] [stdout] test src/ttt/config.rs - ttt::config::TTTConfigBuilder (line 131) ... ok
[INFO] [stdout] test src/time_series/snarimax.rs - time_series::snarimax::SNARIMAXConfig::builder (line 115) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 226 passed; 0 failed; 20 ignored; 0 measured; 0 filtered out; finished in 52.96s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "7deaf20d92b46a2fbb973dfe0e2edc851fe3b2209a8087cfdb67493fa8e229d1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7deaf20d92b46a2fbb973dfe0e2edc851fe3b2209a8087cfdb67493fa8e229d1", kill_on_drop: false }`
[INFO] [stdout] 7deaf20d92b46a2fbb973dfe0e2edc851fe3b2209a8087cfdb67493fa8e229d1
