[INFO] cloning repository https://github.com/ferrumox/rabbit
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ferrumox/rabbit" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fferrumox%2Frabbit", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fferrumox%2Frabbit'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 5cd932a11085dea2c9809a457a22fc5cf1d6b74c
[INFO] testing ferrumox/rabbit against 1.99.0-beta.8 for beta-1.100-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fferrumox%2Frabbit" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-1-tc1/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/ferrumox/rabbit
[INFO] finished tweaking git repo https://github.com/ferrumox/rabbit
[INFO] tweaked toml for git repo https://github.com/ferrumox/rabbit written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ferrumox/rabbit 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 git repo https://github.com/ferrumox/rabbit 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]  Downloading crates ...
[INFO] [stderr]   Downloaded regex v1.13.0
[INFO] [stderr]   Downloaded io-uring v0.7.13
[INFO] [stderr]   Downloaded regex-automata v0.4.15
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] dccea4cb7bfeb555f99af48229c29e925315b0d7663cf9c2ac84859f00c28944
[INFO] running `Command { std: "docker" "start" "dccea4cb7bfeb555f99af48229c29e925315b0d7663cf9c2ac84859f00c28944", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "dccea4cb7bfeb555f99af48229c29e925315b0d7663cf9c2ac84859f00c28944", 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" "dccea4cb7bfeb555f99af48229c29e925315b0d7663cf9c2ac84859f00c28944" "/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" "dccea4cb7bfeb555f99af48229c29e925315b0d7663cf9c2ac84859f00c28944", 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" "dccea4cb7bfeb555f99af48229c29e925315b0d7663cf9c2ac84859f00c28944" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling crossbeam-utils v0.8.22
[INFO] [stderr]    Compiling quote v1.0.46
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.20
[INFO] [stderr]    Compiling zeroize v1.9.0
[INFO] [stderr]    Compiling log v0.4.33
[INFO] [stderr]    Compiling crossbeam-deque v0.8.7
[INFO] [stderr]    Compiling cc v1.3.0
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling bytes v1.12.1
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling rustls v0.23.42
[INFO] [stderr]    Compiling simd-adler32 v0.3.10
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling io-uring v0.7.13
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling rustls-pki-types v1.15.0
[INFO] [stderr]    Compiling bitflags v2.13.0
[INFO] [stderr]    Compiling either v1.16.0
[INFO] [stderr]    Compiling utf8-zero v0.8.1
[INFO] [stderr]    Compiling tiny_http v0.12.0
[INFO] [stderr]    Compiling bit-set v0.5.3
[INFO] [stderr]    Compiling webpki-roots v1.0.9
[INFO] [stderr]    Compiling http v1.4.2
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]    Compiling ureq-proto v0.6.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling memmap2 v0.9.11
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling regex-automata v0.4.15
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling fancy-regex v0.13.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling ureq v3.3.0
[INFO] [stderr]    Compiling rabbit v0.29.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 39.47s
[INFO] running `Command { std: "docker" "inspect" "dccea4cb7bfeb555f99af48229c29e925315b0d7663cf9c2ac84859f00c28944", 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" "dccea4cb7bfeb555f99af48229c29e925315b0d7663cf9c2ac84859f00c28944" "/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 quote v1.0.46
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling either v1.16.0
[INFO] [stderr]    Compiling zerocopy v0.8.54
[INFO] [stderr]    Compiling rustls v0.23.42
[INFO] [stderr]    Compiling autocfg v1.5.1
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling regex v1.13.0
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerocopy-derive v0.8.54
[INFO] [stderr]    Compiling ureq v3.3.0
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling rabbit v0.29.1 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 35.60s
[INFO] running `Command { std: "docker" "inspect" "dccea4cb7bfeb555f99af48229c29e925315b0d7663cf9c2ac84859f00c28944", 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" "dccea4cb7bfeb555f99af48229c29e925315b0d7663cf9c2ac84859f00c28944" "/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.21s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rabbit-ebc4cc02c8b3374e)
[INFO] [stdout] 
[INFO] [stdout] running 436 tests
[INFO] [stdout] test convert::classify::tests::embed_and_output_markers_get_the_io_bucket ... ok
[INFO] [stdout] test convert::classify::tests::expert_index_pattern_matches_any_expert_naming_scheme ... ok
[INFO] [stdout] test convert::classify::tests::unrecognized_2d_weight_falls_back_to_the_dense_bucket ... ok
[INFO] [stdout] test convert::classify::tests::router_gate_weight_is_f32_but_gate_proj_is_not ... ok
[INFO] [stdout] test convert::classify::tests::scale_sidecars_are_consumed_regardless_of_dimensionality ... ok
[INFO] [stdout] test convert::classify::tests::any_non_2d_tensor_is_passthrough_f32_regardless_of_name ... ok
[INFO] [stdout] test convert::classify::tests::norm_layernorm_and_ln_markers_stay_f32 ... ok
[INFO] [stdout] test convert::quality::tests::by_bucket_averages_correctly_and_worst_sorts_descending ... ok
[INFO] [stdout] test convert::quality::tests::grouped_quantization_measures_lower_error_than_per_row_on_wide_rows ... ok
[INFO] [stdout] test convert::quality::tests::measure_error_is_zero_for_an_exact_f32_round_trip_shaped_input ... ok
[INFO] [stdout] test convert::quality::tests::measure_error_is_positive_and_small_for_a_real_int4_round_trip ... ok
[INFO] [stdout] test convert::tests::parses_a_well_formed_override ... ok
[INFO] [stdout] test convert::tests::rejects_missing_colon_empty_pattern_or_unparseable_bits ... ok
[INFO] [stdout] test convert::config::tests::group_size_zero_copies_verbatim ... ok
[INFO] [stdout] test convert::config::tests::group_size_nonzero_stamps_the_field ... ok
[INFO] [stdout] test convert::tests::splits_on_the_last_colon_so_a_colon_in_the_pattern_stays_intact ... ok
[INFO] [stdout] test expert_cache::tests::a_pin_candidate_is_not_loaded_until_generation_actually_needs_it ... ok
[INFO] [stdout] test convert::report::tests::counts_and_examples_match_the_expected_buckets ... ok
[INFO] [stdout] test expert_cache::tests::a_pin_candidate_gets_promoted_on_its_first_real_load_and_counted_as_a_hit_after ... ok
[INFO] [stdout] test convert::report::tests::summary_is_non_empty_and_mentions_every_populated_bucket ... ok
[INFO] [stdout] test expert_cache::tests::ensure_loaded_counts_hits_and_misses_and_dedupes_repeated_ids ... ok
[INFO] [stdout] test expert_cache::tests::a_promoted_expert_survives_lru_pressure_at_capacity_one ... ok
[INFO] [stdout] test expert_cache::tests::ensure_loaded_evicts_lru_same_as_get_or_load ... ok
[INFO] [stdout] test expert_cache::tests::begin_then_finish_loading_matches_ensure_loaded ... ok
[INFO] [stdout] test expert_cache::tests::evicts_the_least_recently_used_slot_on_overflow ... ok
[INFO] [stdout] test expert_cache::tests::ensure_loaded_fused_gate_up_matches_get_or_load_separate_values ... ok
[INFO] [stdout] test expert_cache::tests::ensure_loaded_matches_sequential_get_or_load_values ... ok
[INFO] [stdout] test expert_cache::tests::kimi_linear_naming_loads_w1_w3_w2_into_gate_up_down ... ok
[INFO] [stdout] test expert_cache::tests::parse_mem_available_kb_reads_the_real_proc_meminfo_format ... ok
[INFO] [stdout] test expert_cache::tests::fp8_backed_expert_tensors_dequantize_identically_on_both_paths ... ok
[INFO] [stdout] test expert_cache::tests::loads_and_caches_experts_with_correct_shapes ... ok
[INFO] [stdout] test expert_cache::tests::marking_a_candidate_after_it_is_already_resident_does_not_retroactively_promote_it ... ok
[INFO] [stdout] test expert_cache::tests::parse_mem_available_kb_returns_none_on_a_malformed_value ... ok
[INFO] [stdout] test expert_cache::tests::ensure_loaded_matches_sequential_get_or_load_values_for_mxfp4 ... ok
[INFO] [stdout] test expert_cache::tests::mmap_experts_false_still_uses_the_existing_load_path_for_mxfp4 ... ok
[INFO] [stdout] test expert_cache::tests::fused_gate_up_naming_matches_separate_naming_values ... ok
[INFO] [stdout] test expert_cache::tests::kimi_k3_mxfp4_naming_reads_weight_packed_and_weight_scale_directly ... ok
[INFO] [stdout] test expert_cache::tests::parse_mem_available_kb_returns_none_when_the_field_is_missing ... ok
[INFO] [stdout] test generate::tests::argmax_finds_the_maximum ... ok
[INFO] [stdout] test expert_cache::tests::io_batch_size_bigger_than_capacity_still_streams_every_experts_correct_values ... ok
[INFO] [stdout] test expert_cache::tests::mmap_experts_matches_sequential_get_or_load_values_for_mxfp4 ... ok
[INFO] [stdout] test expert_cache::tests::seed_usage_sets_counters_seen_by_usage_counts ... ok
[INFO] [stdout] test expert_cache::tests::qs_backed_expert_tensors_pass_through_unquantized_on_both_paths ... ok
[INFO] [stdout] test expert_cache::tests::safe_mxfp4_capacity_handles_zero_moe_layers ... ok
[INFO] [stdout] test expert_cache::tests::kimi_linear_naming_ensure_loaded_matches_get_or_load ... ok
[INFO] [stdout] test expert_cache::tests::record_selection_and_usage_counts_round_trip ... ok
[INFO] [stdout] test expert_cache::tests::qwen38_mxfp4_naming_reads_plain_weight_and_decodes_like_k3_naming ... ok
[INFO] [stdout] test generate::tests::build_distribution_nucleus_zeroes_out_the_low_probability_tail ... ok
[INFO] [stdout] test expert_cache::tests::marking_the_same_candidate_twice_does_not_duplicate_the_pinned_slot ... ok
[INFO] [stdout] test generate::tests::build_distribution_sums_to_one_and_favors_larger_logits ... ok
[INFO] [stdout] test expert_cache::tests::qwen38_mxfp4_naming_ensure_loaded_matches_get_or_load ... ok
[INFO] [stdout] test generate::tests::rng_is_deterministic_from_seed_and_stays_in_unit_range ... ok
[INFO] [stdout] test generate::tests::sample_excludes_the_banned_token ... ok
[INFO] [stdout] test generate::tests::pick_token_is_greedy_argmax_at_zero_temperature ... ok
[INFO] [stdout] test expert_cache::tests::safe_mxfp4_capacity_does_not_touch_an_already_safe_request ... ok
[INFO] [stdout] test generate::tests::kv_session_load_errors_on_bad_magic ... ok
[INFO] [stdout] test generate::tests::save_usage_then_warm_start_round_trips_live_counters_across_a_fresh_caches_instance ... ok
[INFO] [stdout] test generate::tests::kv_session_load_errors_on_dimension_mismatch ... ok
[INFO] [stdout] test generate::tests::warm_start_below_threshold_seeds_counters_but_marks_no_pin_candidates ... ok
[INFO] [stdout] test generate::tests::warm_start_above_threshold_marks_candidates_matching_budget_which_promote_on_first_load ... ok
[INFO] [stdout] test glm52::attention::tests::dsa_select_falls_back_to_dense_when_context_is_short ... ok
[INFO] [stdout] test glm52::attention::tests::dsa_select_forced_keeps_every_position_as_a_set ... ok
[INFO] [stdout] test glm52::attention::tests::output_gate_with_a_zero_weight_g_proj_scales_output_by_exactly_half ... ok
[INFO] [stdout] test glm52::attention::tests::qproj_direct_absorbed_path_matches_dense_reconstruction_path ... ok
[INFO] [stdout] test glm52::attention::tests::absorbed_path_matches_dense_reconstruction_path ... ok
[INFO] [stdout] test glm52::attention::tests::rmsnorm_matches_hand_computation ... ok
[INFO] [stdout] test generate::tests::step_profiled_reports_nonzero_attention_and_expert_matmul_time ... ok
[INFO] [stdout] test glm52::attention::tests::rope_interleave_at_pos_zero_is_a_pure_deinterleave ... ok
[INFO] [stdout] test glm52::attention::tests::softmax_sums_to_one_and_is_monotonic ... ok
[INFO] [stdout] test glm52::config::tests::loads_a_valid_n_group_greater_than_one ... ok
[INFO] [stdout] test glm52::attention::tests::output_gate_on_differs_from_off ... ok
[INFO] [stdout] test glm52::config::tests::loads_minimal_config_with_defaults ... ok
[INFO] [stdout] test glm52::config::tests::reads_eos_array_and_explicit_indexer_types ... ok
[INFO] [stdout] test glm52::attention::tests::dsa_force_select_all_matches_plain_dense_attention ... ok
[INFO] [stdout] test glm52::config::tests::rejects_a_different_architectures_model_type ... ok
[INFO] [stdout] test glm52::config::tests::rejects_a_config_with_no_model_type_at_all ... ok
[INFO] [stdout] test glm52::attention::tests::rope_off_changes_output_versus_interleaved ... ok
[INFO] [stdout] test glm52::config::tests::rejects_an_n_group_that_does_not_divide_n_experts_evenly ... ok
[INFO] [stdout] test glm52::convert::classify::tests::embed_and_lm_head_get_the_io_bucket ... ok
[INFO] [stdout] test glm52::attention::tests::rope_off_absorbed_path_matches_dense_reconstruction_path ... ok
[INFO] [stdout] test glm52::convert::classify::tests::keep_idx_mode_keeps_only_indexer_tensors_within_real_layers ... ok
[INFO] [stdout] test glm52::convert::classify::tests::keep_mtp_mode_keeps_only_the_mtp_layer_minus_its_indexer ... ok
[INFO] [stdout] test glm52::config::tests::rejects_out_of_range_field ... ok
[INFO] [stdout] test glm52::convert::classify::tests::scale_sidecars_are_always_consumed_regardless_of_layer_or_mode ... ok
[INFO] [stdout] test glm52::convert::classify::tests::unrecognized_weight_falls_back_to_q_and_unrecognized_non_weight_falls_back_to_f32 ... ok
[INFO] [stdout] test glm52::convert::dequant::tests::each_16_wide_block_uses_its_own_scale ... ok
[INFO] [stdout] test glm52::convert::dequant::tests::gscale_at_or_above_one_is_rejected_as_the_wrong_convention ... ok
[INFO] [stdout] test glm52::convert::dequant::tests::mismatched_block_scale_column_count_is_rejected ... ok
[INFO] [stdout] test glm52::convert::dequant::tests::nibble_order_is_low_equals_even_column_high_equals_odd ... ok
[INFO] [stdout] test glm52::convert::classify::tests::default_mode_skips_the_mtp_layer_and_indexer_family_tensors ... ok
[INFO] [stdout] test glm52::convert::classify::tests::global_and_per_layer_f32_only_tensors_are_never_quantized ... ok
[INFO] [stdout] test glm52::attention::tests::rope_off_is_invariant_to_theta ... ok
[INFO] [stdout] test expert_cache::tests::safe_mxfp4_capacity_clamps_the_flat_default_at_real_k3_scale ... ok
[INFO] [stdout] test glm52::convert::classify::tests::per_tensor_class_buckets_resolve_in_priority_order ... ok
[INFO] [stdout] test glm52::convert::dequant::tests::e2m1_lut_matches_the_16_documented_codes ... ok
[INFO] [stdout] test expert_cache::tests::safe_mxfp4_capacity_scales_up_with_a_bigger_budget ... ok
[INFO] [stdout] test generate::tests::kv_session_load_recovers_from_a_truncated_trailing_record ... ok
[INFO] [stdout] test glm52::convert::download::tests::segment_bounds_covers_the_whole_range_with_no_gaps_or_overlaps ... ok
[INFO] [stdout] test generate::tests::layers_forward_matches_manual_per_layer_composition_with_dsa_reuse ... ok
[INFO] [stdout] test glm52::convert::download::tests::seg_state_round_trips_and_rejects_a_mismatched_run ... ok
[INFO] [stdout] test glm52::convert::hf_api::tests::resolve_url_matches_the_documented_hf_scheme ... ok
[INFO] [stdout] test glm52::convert::shard::tests::group_size_routes_through_the_grouped_quantizer ... ok
[INFO] [stdout] test glm52::convert::shard::tests::dmlp_bits_override_takes_priority_over_ebits ... ok
[INFO] [stdout] test generate::tests::kv_session_round_trip_gives_bit_identical_continuation ... ok
[INFO] [stdout] test glm52::convert::shard::tests::keeps_norm_as_plain_f32_never_quantized ... ok
[INFO] [stdout] test glm52::convert::shard::tests::keep_mtp_mode_converts_only_the_mtp_layer ... ok
[INFO] [stdout] test generate::tests::kv_session_two_partial_saves_equal_one_combined_save ... ok
[INFO] [stdout] test glm52::convert::shard::tests::keep_idx_mode_converts_only_indexer_tensors ... ok
[INFO] [stdout] test glm52::convert::shard::tests::quantizes_the_dense_mlp_weight_and_matches_qt_alloc_directly ... ok
[INFO] [stdout] test glm52::convert::shard::tests::name_override_wins_even_over_an_explicit_bits_map_entry ... ok
[INFO] [stdout] test glm52::convert::shard::tests::skips_mtp_and_indexer_tensors_by_default ... ok
[INFO] [stdout] test glm52::convert::shard::tests::name_override_does_not_affect_a_non_matching_tensor ... ok
[INFO] [stdout] test glm52::convert::writer::tests::round_trips_through_rabbit_s_own_reader ... ok
[INFO] [stdout] test glm52::convert::shard::tests::name_override_wins_over_the_bucket_default ... ok
[INFO] [stdout] test glm52::attention::tests::qproj_direct_never_reads_q_a_ln_or_q_b ... ok
[INFO] [stdout] test generate::tests::step_and_step_all_agree_on_the_last_position ... ok
[INFO] [stdout] test glm52::model::tests::qt_load_falls_back_to_the_plain_path_without_a_qs_sidecar ... ok
[INFO] [stdout] test glm52::model::tests::qt_load_reads_a_real_fp8_checkpoint_tensor_natively ... ok
[INFO] [stdout] test glm52::model::tests::detect_fused_gate_up_checks_the_first_moe_layer_not_layer_zero ... ok
[INFO] [stdout] test glm52::model::tests::qt_load_wraps_a_qs_sidecar_without_requantizing ... ok
[INFO] [stdout] test generate::tests::generate_stops_at_a_stop_id_without_emitting_it ... ok
[INFO] [stdout] test glm52::model::tests::loads_dense_and_moe_layers_with_correct_shapes ... ok
[INFO] [stdout] test glm52::convert::shard::tests::nvfp4_source_tensor_dequantizes_and_then_quantizes_like_any_other_weight ... ok
[INFO] [stdout] test glm52::moe::tests::cache_route_select_always_keeps_true_top_j_regardless_of_residency ... ok
[INFO] [stdout] test glm52::moe::tests::apply_single_expert_fused_gate_up_matches_separate_bit_exact ... ok
[INFO] [stdout] test glm52::moe::tests::dense_mlp_matches_hand_computed_silu_gate ... ok
[INFO] [stdout] test glm52::convert::download::tests::download_single_fetches_a_fresh_file_with_no_prior_part ... ok
[INFO] [stdout] test glm52::model::tests::embed_row_dequantizes_the_right_row_at_full_precision ... ok
[INFO] [stdout] test glm52::moe::tests::dense_mlp_with_situ_activation_matches_a_naive_independent_reference ... ok
[INFO] [stdout] test glm52::moe::tests::rank_top_grouped_ties_keep_the_lower_group_index ... ok
[INFO] [stdout] test glm52::moe::tests::rank_top_grouped_matches_plain_rank_top_when_n_group_is_one ... ok
[INFO] [stdout] test glm52::moe::tests::apply_single_expert_with_situ_activation_fused_matches_separate ... ok
[INFO] [stdout] test glm52::moe::tests::cache_route_select_prefers_resident_experts_over_higher_ranked_non_resident_ones ... ok
[INFO] [stdout] test glm52::moe::tests::route_norm_topk_normalizes_weights_to_sum_to_routed_scale ... ok
[INFO] [stdout] test glm52::moe::tests::route_cache_aware_matches_route_when_cache_route_disabled ... ok
[INFO] [stdout] test glm52::moe::tests::rank_top_grouped_keeps_only_experts_from_the_top_scoring_groups ... ok
[INFO] [stdout] test kernels::tests::active_dot_kernel_reports_a_known_tier ... ok
[INFO] [stdout] test glm52::model::tests::detects_dsa_only_when_all_full_layers_have_indexer_weights ... ok
[INFO] [stdout] test kernels::tests::axpy_i4_f32_avx512_matches_scalar_bit_exact ... ok
[INFO] [stdout] test kernels::tests::dot_i4i8_avx2_matches_scalar_bit_exact ... ok
[INFO] [stdout] test kernels::tests::dot_i4i8_avx512vnni_matches_scalar_bit_exact ... ok
[INFO] [stdout] test kernels::tests::dot_i4i8_matches_naive_sum ... ok
[INFO] [stdout] test kernels::tests::dot_i8i8_avx512vnni_matches_scalar_bit_exact ... ok
[INFO] [stdout] test kernels::tests::dot_i8i8_avx2_matches_scalar_bit_exact ... ok
[INFO] [stdout] test kernels::tests::dot_i8i8_matches_naive_sum ... ok
[INFO] [stdout] test glm52::moe::tests::route_selection_uses_biased_score_but_weight_uses_plain_sigmoid ... ok
[INFO] [stdout] test kernels::tests::matmul_i2_matches_manual_nibble_unpack ... ok
[INFO] [stdout] test kernels::tests::matmul_i4_avx512_matches_avx2_within_tolerance ... ok
[INFO] [stdout] test kernels::tests::matmul_i4_avx512_matches_scalar_within_tolerance ... ok
[INFO] [stdout] test kernels::tests::matmul_i4_avx2_matches_scalar_within_tolerance ... ok
[INFO] [stdout] test glm52::moe::tests::cache_route_select_fills_only_as_many_resident_slots_as_needed_then_falls_back ... ok
[INFO] [stdout] test kernels::tests::matmul_i4_grouped_matches_manual_nibble_unpack_across_two_groups ... ok
[INFO] [stdout] test kernels::tests::matmul_i2_avx2_matches_scalar_within_tolerance ... ok
[INFO] [stdout] test glm52::model::tests::quantized_dbits_still_loads_and_shapes_match ... ok
[INFO] [stdout] test glm52::moe::tests::route_respects_n_group_and_topk_group_end_to_end ... ok
[INFO] [stdout] test glm52::moe::tests::moe_output_is_identical_whether_or_not_an_expert_is_pre_pinned ... ok
[INFO] [stdout] test kernels::tests::matmul_i4_matches_manual_nibble_unpack ... ok
[INFO] [stdout] test glm52::moe::tests::top2_sum_adds_the_two_largest_values ... ok
[INFO] [stdout] test glm52::moe::tests::top2_sum_falls_back_to_the_single_value_for_a_one_element_group ... ok
[INFO] [stdout] test kernels::tests::matmul_matches_hand_computed_dot_products ... ok
[INFO] [stdout] test glm52::moe::tests::moe_output_matches_independent_full_expert_sum_when_topk_equals_n_experts ... ok
[INFO] [stdout] test generate::tests::generate_is_deterministic_under_greedy_sampling ... ok
[INFO] [stdout] test kernels::tests::matmul_mxfp4_avx512_matches_scalar_within_tolerance ... ok
[INFO] [stdout] test kernels::tests::matmul_mxfp4_avx512_matches_avx2_within_tolerance ... ok
[INFO] [stdout] test kernels::tests::matmul_mxfp4_matches_manual_e2m1_decode_across_two_blocks ... ok
[INFO] [stdout] test kernels::tests::qt_addrow_i4_dispatch_matches_scalar_reference_bit_exact ... ok
[INFO] [stdout] test kernels::tests::matmul_qt_f32_matches_plain_matmul ... ok
[INFO] [stdout] test kernels::tests::qt_addrow_i4_grouped_matches_row_f32 ... ok
[INFO] [stdout] test kernels::tests::matmul_q_dequantizes_exactly_for_integer_valued_weights ... ok
[INFO] [stdout] test kernels::tests::qt_matvec_rows_i4_dispatch_matches_scalar_reference_within_tolerance ... ok
[INFO] [stdout] test kernels::tests::matmul_q_avx2_matches_scalar_within_tolerance ... ok
[INFO] [stdout] test kernels::tests::qt_matvec_rows_i4_grouped_matches_row_f32_dot_product ... ok
[INFO] [stdout] test kimi_k3::attn_res::tests::attn_res_pool_output_is_a_convex_combination_of_its_inputs ... ok
[INFO] [stdout] test kernels::tests::matmul_qt_i8_idot_is_close_to_direct_matmul_q ... ok
[INFO] [stdout] test kernels::tests::matmul_qt_i4_gates_idot_by_seq_len ... ok
[INFO] [stdout] test kernels::tests::qrow_i8_round_trips_close_to_original ... ok
[INFO] [stdout] test kimi_k3::attn_res::tests::attn_res_pool_with_no_historical_blocks_is_the_identity ... ok
[INFO] [stdout] test kimi_k3::attn_res::tests::attn_res_pool_matches_an_independent_naive_reference ... ok
[INFO] [stdout] test kernels::tests::matmul_mxfp4_avx2_matches_scalar_within_tolerance ... ok
[INFO] [stdout] test kimi_k3::attn_res::tests::is_checkpoint_layer_matches_plain_modulo ... ok
[INFO] [stdout] test kimi_k3::attn_res::tests::three_layer_sequence_with_checkpoints_matches_a_from_scratch_reference ... ok
[INFO] [stdout] test kimi_k3::chat_template::tests::first_turn_without_thinking_skips_the_preamble_and_opens_response_directly ... ok
[INFO] [stdout] test kimi_k3::chat_template::tests::message_body_content_is_not_escaped ... ok
[INFO] [stdout] test kernels::tests::matmul_qt_i4_grouped_matches_manual_dequant_dot_product ... ok
[INFO] [stdout] test kernels::tests::matmul_qt_mxfp4_matches_manual_dequant_dot_product ... ok
[INFO] [stdout] test kimi_k3::chat_template::tests::render_messages_does_not_reopen_an_already_trailing_assistant_turn ... ok
[INFO] [stdout] test kimi_k3::chat_template::tests::first_turn_with_thinking_and_system_prompt_emits_preamble_then_system_then_user_then_open_think ... ok
[INFO] [stdout] test kimi_k3::chat_template::tests::later_turn_never_repeats_the_system_prompt_or_the_preamble ... ok
[INFO] [stdout] test kimi_k3::chat_template::tests::render_messages_closes_every_past_turn_with_an_empty_think_channel_and_leaves_the_last_assistant_slot_open ... ok
[INFO] [stdout] test kimi_k3::config::tests::defaults_the_five_k3_only_fields_when_absent ... ok
[INFO] [stdout] test kimi_k3::chat_template::tests::escape_attr_matches_the_real_attribute_escaping_rule ... ok
[INFO] [stdout] test kimi_k3::config::tests::loads_the_real_checkpoints_shape ... ok
[INFO] [stdout] test glm52::moe::tests::moe_output_with_cache_route_enabled_on_a_cold_cache_matches_disabled ... ok
[INFO] [stdout] test kimi_k3::config::tests::propagates_a_base_config_error_from_kimi_linear ... ok
[INFO] [stdout] test kimi_k3::config::tests::rejects_a_missing_text_config ... ok
[INFO] [stdout] test kimi_k3::config::tests::rejects_an_attn_res_block_size_larger_than_n_layers ... ok
[INFO] [stdout] test kimi_k3::config::tests::rejects_a_top_level_model_type_that_is_not_kimi_k3 ... ok
[INFO] [stdout] test glm52::moe::tests::moe_output_is_correct_when_batch_unique_experts_exceed_cache_capacity ... ok
[INFO] [stdout] test kimi_k3::config::tests::rejects_a_text_config_with_the_wrong_nested_model_type ... ok
[INFO] [stdout] test kimi_k3::config::tests::rejects_situ_activation_missing_its_beta ... ok
[INFO] [stdout] test kimi_k3::kv_session::tests::wrong_family_magic_is_rejected ... ok
[INFO] [stdout] test kimi_k3::kv_session::tests::kda_shape_mismatch_on_load_is_a_hard_error ... ok
[INFO] [stdout] test kimi_k3::kv_session::tests::save_then_load_roundtrip_continues_identically ... ok
[INFO] [stdout] test kimi_k3::model::tests::loads_kda_and_mla_layers_with_every_k3_only_field_populated ... ok
[INFO] [stdout] test kimi_k3::model::tests::ffn_activation_is_situ_with_the_real_checkpoint_betas ... ok
[INFO] [stdout] test kimi_k3::model::tests::embed_row_dequantizes_the_right_row ... ok
[INFO] [stdout] test kimi_k3::model::tests::loads_the_full_rank_kda_output_gate_when_configured ... ok
[INFO] [stdout] test kimi_k3::generate::tests::step_profiled_matches_step_and_reports_nonzero_attention_time ... ok
[INFO] [stdout] test glm52::convert::download::tests::download_single_resumes_a_partial_file_via_range ... ok
[INFO] [stdout] test kimi_k3::generate::tests::step_produces_correct_length_logits ... ok
[INFO] [stdout] test kimi_k3::kv_session::tests::truncated_trailing_mla_record_recovers_to_previous_complete_turn ... ok
[INFO] [stdout] test kimi_k3::model::tests::to_glm_cfg_expert_overrides_hidden_to_the_latent_width ... ok
[INFO] [stdout] test kimi_k3::model::tests::to_glm_cfg_carries_the_real_nonzero_q_lora ... ok
[INFO] [stdout] test kimi_k3::moe::tests::latent_moe_applies_norm_to_the_summed_output_before_up_proj ... ok
[INFO] [stdout] test kimi_k3::generate::tests::layers_forward_matches_manual_per_layer_composition ... ok
[INFO] [stdout] test kimi_k3::model::tests::mla_call_args_picks_lora_when_q_lora_is_nonzero ... ok
[INFO] [stdout] test kimi_linear::chat_template::tests::render_messages_closes_every_past_turn_and_leaves_the_last_assistant_slot_open ... ok
[INFO] [stdout] test kimi_linear::chat_template::tests::render_messages_does_not_reopen_an_already_trailing_assistant_turn ... ok
[INFO] [stdout] test kimi_k3::kv_session::tests::crash_after_mla_append_before_kda_replace_recovers_to_previous_turn ... ok
[INFO] [stdout] test kimi_k3::moe::tests::latent_moe_matches_a_naive_reference_without_norm ... ok
[INFO] [stdout] test kimi_linear::chat_template::tests::think_flag_has_no_effect_no_think_tag_exists_for_this_architecture ... ok
[INFO] [stdout] test kimi_linear::chat_template::tests::first_turn_with_system_prompt_opens_system_then_user_then_open_assistant ... ok
[INFO] [stdout] test kimi_linear::chat_template::tests::later_turn_never_repeats_the_system_prompt ... ok
[INFO] [stdout] test kimi_linear::config::tests::loads_the_real_checkpoints_shape ... ok
[INFO] [stdout] test kimi_linear::config::tests::rejects_a_config_with_no_model_type_at_all ... ok
[INFO] [stdout] test kimi_linear::config::tests::rejects_a_different_architectures_model_type ... ok
[INFO] [stdout] test kimi_linear::config::tests::rejects_a_non_sigmoid_router_activation ... ok
[INFO] [stdout] test kimi_k3::kv_session::tests::two_turn_session_roundtrip_continues_identically ... ok
[INFO] [stdout] test kimi_linear::config::tests::rejects_missing_linear_attn_config ... ok
[INFO] [stdout] test kimi_linear::config::tests::rejects_a_layer_covered_by_both_lists ... ok
[INFO] [stdout] test kimi_linear::config::tests::rejects_a_layer_covered_by_neither_list ... ok
[INFO] [stdout] test kimi_linear::config::tests::rejects_mla_use_nope_false ... ok
[INFO] [stdout] test kimi_linear::config::tests::rejects_an_n_group_that_does_not_divide_n_experts_evenly ... ok
[INFO] [stdout] test kimi_k3::generate::tests::step_and_step_all_agree_on_the_last_position ... ok
[INFO] [stdout] test kimi_linear::kda::tests::beta_zero_only_decays_the_state_no_key_value_update ... ok
[INFO] [stdout] test kimi_linear::kda::tests::alpha_one_and_beta_one_reduces_to_the_classical_delta_rule ... ok
[INFO] [stdout] test kimi_linear::kda::tests::decay_gate_always_lands_in_zero_to_one ... ok
[INFO] [stdout] test kimi_linear::kda::tests::decay_gate_at_zero_bias_and_input_uses_softplus_of_zero ... ok
[INFO] [stdout] test kimi_linear::kda::tests::decay_gate_bounded_differs_from_the_plain_formula ... ok
[INFO] [stdout] test kimi_linear::kda::tests::decay_gate_bounded_matches_naive_reference ... ok
[INFO] [stdout] test kimi_linear::kda::tests::decay_gate_large_positive_gate_input_pushes_alpha_toward_zero ... ok
[INFO] [stdout] test kimi_linear::kda::tests::decay_gate_bounded_alpha_never_drops_below_exp_of_the_lower_bound ... ok
[INFO] [stdout] test kimi_linear::kda::tests::decay_gate_matches_naive_unstable_formula ... ok
[INFO] [stdout] test kimi_linear::kda::tests::new_state_is_all_zero ... ok
[INFO] [stdout] test kimi_linear::kda::tests::step_matches_the_naive_matrix_reference_over_several_tokens ... ok
[INFO] [stdout] test kimi_linear::generate::tests::kda_layer_with_real_moe_ffn_produces_correct_length_logits ... ok
[INFO] [stdout] test kimi_linear::generate::tests::kda_layer_state_carries_across_sequential_single_token_steps ... ok
[INFO] [stdout] test kimi_linear::generate::tests::step_and_step_all_agree_on_the_last_position ... ok
[INFO] [stdout] test kimi_linear::generate::tests::layers_forward_matches_manual_per_layer_composition ... ok
[INFO] [stdout] test kimi_k3::generate::tests::kda_layer_state_carries_across_sequential_single_token_steps ... ok
[INFO] [stdout] test kimi_linear::generate::tests::step_profiled_matches_step_and_reports_nonzero_attention_time ... ok
[INFO] [stdout] test kimi_linear::ops::tests::head_output_gate_fully_closed_gate_zeroes_the_output ... ok
[INFO] [stdout] test kimi_linear::ops::tests::head_output_gate_fully_open_gate_reduces_to_plain_rmsnorm ... ok
[INFO] [stdout] test kimi_linear::model::tests::embed_row_dequantizes_the_right_row ... ok
[INFO] [stdout] test kimi_linear::kv_session::tests::kda_shape_mismatch_on_load_is_a_hard_error ... ok
[INFO] [stdout] test kimi_linear::ops::tests::head_output_gate_matches_hand_computed_half_open_gate ... ok
[INFO] [stdout] test kimi_linear::ops::tests::l2_norm_preserves_direction ... ok
[INFO] [stdout] test kimi_linear::ops::tests::l2_norm_clamps_at_eps_for_a_near_zero_vector ... ok
[INFO] [stdout] test kimi_linear::ops::tests::l2_norm_of_exact_zero_vector_does_not_divide_by_zero ... ok
[INFO] [stdout] test kimi_linear::ops::tests::l2_norm_produces_a_unit_vector ... ok
[INFO] [stdout] test kimi_linear::ops::tests::rmsnorm_matches_naive_reference ... ok
[INFO] [stdout] test kimi_linear::ops::tests::rmsnorm_of_unit_weight_produces_unit_root_mean_square ... ok
[INFO] [stdout] test kimi_linear::model::tests::loads_kda_and_mla_layers_with_correct_shapes ... ok
[INFO] [stdout] test kimi_linear::ops::tests::situ_and_mul_large_positive_gate_saturates_toward_beta_times_up ... ok
[INFO] [stdout] test kimi_linear::ops::tests::sigmoid_matches_hand_computed_values ... ok
[INFO] [stdout] test kimi_linear::ops::tests::situ_and_mul_matches_naive_reference_with_linear_beta ... ok
[INFO] [stdout] test kimi_linear::ops::tests::swish_matches_x_times_sigmoid_x ... ok
[INFO] [stdout] test kimi_linear::ops::tests::situ_and_mul_matches_naive_reference_without_linear_beta ... ok
[INFO] [stdout] test kimi_linear::ops::tests::swish_at_zero_is_zero ... ok
[INFO] [stdout] test kimi_linear::short_conv::tests::channels_are_independent ... ok
[INFO] [stdout] test kimi_linear::short_conv::tests::first_tokens_see_zero_padded_history ... ok
[INFO] [stdout] test kimi_linear::short_conv::tests::kernel_size_one_is_pure_pointwise_scaling_no_history ... ok
[INFO] [stdout] test kimi_linear::short_conv::tests::step_matches_naive_full_sequence_convolution ... ok
[INFO] [stdout] test kimi_linear::ops::tests::situ_and_mul_at_zero_gate_is_zero_regardless_of_up ... ok
[INFO] [stdout] test kimi_linear::kv_session::tests::save_then_load_roundtrip_continues_identically ... ok
[INFO] [stdout] test kimi_linear::kv_session::tests::two_turn_session_roundtrip_continues_identically ... ok
[INFO] [stdout] test kimi_linear::kv_session::tests::truncated_trailing_mla_record_recovers_to_previous_complete_turn ... ok
[INFO] [stdout] test model::tests::expert_cache_default_routes_qwen38_mxfp4_through_the_ram_aware_clamp ... ok
[INFO] [stdout] test model::tests::load_and_step_dispatch_correctly_for_a_real_glm52_checkpoint ... ok
[INFO] [stdout] test model::tests::load_and_step_dispatch_correctly_for_a_qwen38_checkpoint ... ok
[INFO] [stdout] test model::tests::load_and_step_dispatch_correctly_for_a_real_kimi_k3_checkpoint ... ok
[INFO] [stdout] test model::tests::load_rejects_a_config_with_no_model_type_at_all ... ok
[INFO] [stdout] test model::tests::load_rejects_an_unrecognized_model_type_without_touching_either_loader ... ok
[INFO] [stdout] test model::tests::load_routes_kimi_linear_model_type_to_the_kimi_loader_not_glm ... ok
[INFO] [stdout] test model::tests::load_and_step_dispatch_correctly_for_a_real_kimi_linear_checkpoint ... ok
[INFO] [stdout] test model::tests::model_helpers_report_sane_values_for_both_families ... ok
[INFO] [stdout] test quant::tests::alloc_picks_format_by_bits ... ok
[INFO] [stdout] test quant::tests::choose_block_scale_keeps_amax_within_e2m1_s_representable_range ... ok
[INFO] [stdout] test quant::tests::e2m1_decode_matches_the_spec_s_8_positive_magnitudes ... ok
[INFO] [stdout] test quant::tests::e2m1_encode_round_trips_every_exact_representable_value ... ok
[INFO] [stdout] test kimi_linear::kv_session::tests::crash_after_mla_append_before_kda_replace_recovers_to_previous_turn ... ok
[INFO] [stdout] test quant::tests::e2m1_encode_rounds_an_inexact_value_to_the_nearest_representable_point ... ok
[INFO] [stdout] test quant::tests::e8m0_decode_is_a_power_of_two_biased_by_127 ... ok
[INFO] [stdout] test quant::tests::e8m0_decode_matches_powi_exactly_across_the_whole_valid_byte_range ... ok
[INFO] [stdout] test quant::tests::f32_format_is_an_exact_passthrough ... ok
[INFO] [stdout] test quant::tests::from_packed_grouped_rejects_a_mismatched_scale_length ... ok
[INFO] [stdout] test quant::tests::from_packed_grouped_round_trips_including_a_non_multiple_tail_group ... ok
[INFO] [stdout] test quant::tests::from_packed_grouped_with_group_size_zero_falls_back_to_plain_from_packed ... ok
[INFO] [stdout] test quant::tests::from_packed_rejects_a_byte_count_matching_no_format ... ok
[INFO] [stdout] test quant::tests::from_packed_rejects_a_mismatched_scale_length ... ok
[INFO] [stdout] test quant::tests::from_packed_round_trips_int8_and_int4_containers ... ok
[INFO] [stdout] test quant::tests::int2_packing_is_bit_identical_to_the_unpacked_int8_container ... ok
[INFO] [stdout] test quant::tests::from_packed_grouped_does_not_force_grouping_onto_a_genuinely_per_row_tensor ... ok
[INFO] [stdout] test quant::tests::int4_packing_is_bit_identical_to_the_unpacked_int8_container ... ok
[INFO] [stdout] test quant::tests::mxfp4_fill_and_row_f32_round_trip_within_one_quantization_step ... ok
[INFO] [stdout] test quant::tests::mxfp4_resident_bytes_matches_the_per_block_not_per_row_scale_formula ... ok
[INFO] [stdout] test quant::tests::mxfp4_uses_a_separate_scale_per_32_element_block_not_per_row ... ok
[INFO] [stdout] test quant::tests::mxfp4_mapped_byte_store_matches_owned_row_f32 ... ok
[INFO] [stdout] test quant::tests::pack_int4_pads_the_odd_tail_nibble_with_zero ... ok
[INFO] [stdout] test quant::tests::quant_int4_grouped_matches_pack_int4_when_gs_covers_the_whole_row ... ok
[INFO] [stdout] test quant::tests::quant_int4_grouped_trailing_partial_group_is_not_padding_diluted ... ok
[INFO] [stdout] test quant::tests::quant_int4_grouped_uses_a_tighter_scale_for_the_low_magnitude_group ... ok
[INFO] [stdout] test quant::tests::pack_int4_byte_layout_is_low_nibble_first_with_exact_rounding ... ok
[INFO] [stdout] test quant::tests::resident_bytes_matches_format ... ok
[INFO] [stdout] test quant::tests::quantize_rows_dequantizes_close_to_original ... ok
[INFO] [stdout] test model::tests::step_profiled_dispatches_correctly_for_both_families_and_matches_step ... ok
[INFO] [stdout] test qwen38::attention::tests::norm_heads_normalizes_each_head_independently ... ok
[INFO] [stdout] test qwen38::attention::tests::attending_over_a_single_cached_position_returns_that_positions_value ... ok
[INFO] [stdout] test qwen38::attention::tests::output_gate_multiplies_by_sigmoid_not_silu ... ok
[INFO] [stdout] test qwen38::attention::tests::rope_half_is_identity_at_position_zero_and_never_touches_the_nope_tail ... ok
[INFO] [stdout] test qwen38::attention::tests::rope_half_matches_the_reference_cos_sin_formula ... ok
[INFO] [stdout] test qwen38::attention::tests::rope_half_rotates_the_j_and_j_plus_half_pairs ... ok
[INFO] [stdout] test qwen38::attention::tests::split_query_gate_splits_within_each_head_not_across_the_row ... ok
[INFO] [stdout] test qwen38::attention::tests::query_heads_map_onto_contiguous_blocks_of_kv_heads ... ok
[INFO] [stdout] test qwen38::chat_template::tests::blocks_are_balanced_apart_from_the_open_generation_prompt ... ok
[INFO] [stdout] test qwen38::chat_template::tests::first_turn_with_thinking_emits_the_xhigh_system_message_then_user_then_an_open_think ... ok
[INFO] [stdout] test qwen38::chat_template::tests::medium_effort_emits_no_reasoning_instructions ... ok
[INFO] [stdout] test qwen38::chat_template::tests::render_messages_appends_no_generation_prompt_after_a_trailing_assistant_turn ... ok
[INFO] [stdout] test qwen38::chat_template::tests::render_messages_renders_a_full_conversation_with_empty_think_blocks_on_past_turns ... ok
[INFO] [stdout] test qwen38::chat_template::tests::system_prompt_and_reasoning_instructions_share_one_message_instructions_first ... ok
[INFO] [stdout] test qwen38::chat_template::tests::thinking_off_drops_the_preamble_and_pre_closes_the_think_block ... ok
[INFO] [stdout] test qwen38::config::tests::accepts_compressed_tensors_mxfp4_and_plain_fp8 ... ok
[INFO] [stdout] test qwen38::config::tests::detects_the_real_quark_mxfp4_experts ... ok
[INFO] [stdout] test qwen38::chat_template::tests::continuation_turn_closes_the_open_assistant_turn_and_repeats_no_system_message ... ok
[INFO] [stdout] test qwen38::config::tests::load_unions_stop_ids_from_generation_config ... ok
[INFO] [stdout] test qwen38::config::tests::maps_the_hybrid_layer_pattern_by_position ... ok
[INFO] [stdout] test qwen38::config::tests::parses_the_real_qwen38_max_config ... ok
[INFO] [stdout] test qwen38::config::tests::parses_the_multimodal_wrapper_form_identically ... ok
[INFO] [stdout] test qwen38::attention::tests::attention_weights_are_a_softmax_over_the_whole_cache ... ok
[INFO] [stdout] test qwen38::config::tests::rejects_a_quark_export_that_is_not_ocp_mxfp4 ... ok
[INFO] [stdout] test qwen38::config::tests::real_layer_types_match_the_interval_formula ... ok
[INFO] [stdout] test qwen38::config::tests::rejects_an_output_gate_this_port_does_not_implement ... ok
[INFO] [stdout] test qwen38::config::tests::rejects_gqa_head_counts_that_do_not_divide ... ok
[INFO] [stdout] test qwen38::gdn::tests::activate_and_split_applies_silu_then_cuts_q_k_v_in_order ... ok
[INFO] [stdout] test qwen38::gdn::tests::decay_matches_kimis_gate_formula_broadcast ... ok
[INFO] [stdout] test qwen38::config::tests::rejects_unknown_architectures_and_malformed_layer_types ... ok
[INFO] [stdout] test qwen38::gdn::tests::head_output_gate_uses_silu_not_kimis_sigmoid ... ok
[INFO] [stdout] test qwen38::gdn::tests::gdn_step_matches_the_reference_recurrence ... ok
[INFO] [stdout] test qwen38::gdn::tests::step_token_carries_recurrent_state_across_tokens ... ok
[INFO] [stdout] test qwen38::gdn::tests::value_heads_map_onto_contiguous_blocks_of_key_heads ... ok
[INFO] [stdout] test qwen38::gdn::tests::prepare_qk_normalizes_both_and_scales_only_the_query ... ok
[INFO] [stdout] test kimi_k3::tokenizer::tests::named_special_token_resolves_and_round_trips ... ok
[INFO] [stdout] test qwen38::gdn::tests::step_token_routes_each_value_head_to_its_own_key_head ... ok
[INFO] [stdout] test kimi_k3::tokenizer::tests::reserved_but_unnamed_special_tokens_get_the_placeholder_name ... ok
[INFO] [stdout] test kimi_k3::tokenizer::tests::bpe_merges_by_rank_order_into_the_lowest_rank_pair_first ... ok
[INFO] [stdout] test kimi_k3::tokenizer::tests::exactly_256_reserved_ids_no_plus_two_quirk ... ok
[INFO] [stdout] test kimi_linear::tokenizer::tests::bpe_merges_by_rank_order_into_the_lowest_rank_pair_first ... ok
[INFO] [stdout] test kimi_k3::tokenizer::tests::empty_text_encodes_to_no_tokens ... ok
[INFO] [stdout] test qwen38::generate::tests::a_forward_pass_produces_finite_logits_for_every_token ... ok
[INFO] [stdout] test kimi_linear::tokenizer::tests::named_special_token_resolves_and_round_trips ... ok
[INFO] [stdout] test kimi_linear::tokenizer::tests::empty_text_encodes_to_no_tokens ... ok
[INFO] [stdout] test qwen38::generate::tests::repeating_a_token_gives_different_logits_the_second_time ... ok
[INFO] [stdout] test qwen38::generate::tests::routed_experts_stream_through_the_expert_cache ... ok
[INFO] [stdout] test qwen38::kv_session::tests::saving_a_turn_that_added_no_tokens_writes_nothing ... ok
[INFO] [stdout] test qwen38::kv_session::tests::a_session_from_a_different_shape_is_rejected ... ok
[INFO] [stdout] test qwen38::generate::tests::only_attention_layers_grow_with_context ... ok
[INFO] [stdout] test qwen38::model::tests::a_missing_tensor_names_itself_in_the_error ... ok
[INFO] [stdout] test qwen38::model::tests::a_wrong_width_one_dimensional_tensor_is_rejected ... ok
[INFO] [stdout] test qwen38::generate::tests::step_all_returns_per_position_logits_ending_in_steps_own ... ok
[INFO] [stdout] test qwen38::model::tests::every_tensor_lands_in_its_own_field_with_the_right_shape ... ok
[INFO] [stdout] test qwen38::model::tests::expert_naming_follows_the_checkpoints_quantization ... ok
[INFO] [stdout] test qwen38::model::tests::loads_every_layer_with_the_right_mixer_kind ... ok
[INFO] [stdout] test qwen38::kv_session::tests::a_truncated_trailing_record_is_discarded ... ok
[INFO] [stdout] test qwen38::moe::tests::selects_exactly_the_largest_logits ... ok
[INFO] [stdout] test qwen38::moe::tests::routing_is_invariant_to_a_constant_logit_shift ... ok
[INFO] [stdout] test qwen38::moe::tests::shared_expert_gate_is_a_plain_sigmoid_of_one_logit ... ok
[INFO] [stdout] test qwen38::moe::tests::ties_break_toward_the_lower_expert_id ... ok
[INFO] [stdout] test qwen38::moe::tests::topk_at_or_above_the_expert_count_selects_every_expert ... ok
[INFO] [stdout] test qwen38::ops::tests::a_zero_weight_leaves_the_normalized_vector_alone ... ok
[INFO] [stdout] test kimi_linear::tokenizer::tests::reserved_but_unnamed_special_tokens_get_the_placeholder_name ... ok
[INFO] [stdout] test qwen38::model::tests::embed_row_returns_the_requested_token_row ... ok
[INFO] [stdout] test qwen38::moe::tests::weights_sum_to_one_and_come_back_descending ... ok
[INFO] [stdout] test qwen38::ops::tests::matches_the_reference_formula_elementwise ... ok
[INFO] [stdout] test qwen38::tokenizer::tests::rejects_a_checkpoint_whose_pre_tokenizer_changed ... ok
[INFO] [stdout] test qwen38::ops::tests::differs_from_plain_rmsnorm_for_a_realistic_weight ... ok
[INFO] [stdout] test safetensors::tests::bf16_and_f16_decode_known_constants ... ok
[INFO] [stdout] test safetensors::tests::f8e4m3_decodes_known_bit_patterns ... ok
[INFO] [stdout] test qwen38::kv_session::tests::a_restored_session_continues_identically_to_the_live_one ... ok
[INFO] [stdout] test qwen38::moe::tests::route_matches_the_reference_order_of_operations ... ok
[INFO] [stdout] test qwen38::kv_session::tests::kv_rows_newer_than_the_gdn_snapshot_are_discarded ... ok
[INFO] [stdout] test safetensors::tests::missing_tensor_is_an_error_not_a_panic ... ok
[INFO] [stdout] test safetensors::tests::madvise_willneed_does_not_panic_across_edge_case_ranges ... ok
[INFO] [stdout] test safetensors::tests::drop_cache_flag_does_not_error_out ... ok
[INFO] [stdout] test safetensors::tests::mmap_shard_is_cached_across_repeated_lookups ... ok
[INFO] [stdout] test safetensors::tests::open_multi_indexes_shards_split_across_separate_directories ... ok
[INFO] [stdout] test safetensors::tests::open_rejects_data_offsets_where_end_precedes_start ... ok
[INFO] [stdout] test safetensors::tests::read_f32_dequantizes_fp8_across_multiple_row_blocks ... ok
[INFO] [stdout] test safetensors::tests::indexes_and_reads_multiple_shards ... ok
[INFO] [stdout] test glm52::convert::download::tests::download_multi_reassembles_every_segment_in_order ... ok
[INFO] [stdout] test safetensors::tests::read_f32_dequantizes_fp8_with_a_single_block_scale ... ok
[INFO] [stdout] test server::tests::clamp_max_tokens_caps_requests_above_the_server_limit_instead_of_rejecting ... ok
[INFO] [stdout] test kimi_linear::tokenizer::tests::falls_back_to_single_byte_tokens_when_no_merge_exists ... ok
[INFO] [stdout] test safetensors::tests::tensor_location_plus_decode_f32_matches_read_f32 ... ok
[INFO] [stdout] test server::tests::clamp_max_tokens_leaves_the_session_default_untouched_when_omitted ... ok
[INFO] [stdout] test server::tests::clamp_max_tokens_passes_through_requests_within_the_limit ... ok
[INFO] [stdout] test safetensors::tests::open_rejects_a_header_length_claiming_to_exceed_the_file ... ok
[INFO] [stdout] test safetensors::tests::tensor_mmap_range_bytes_match_read_raw ... ok
[INFO] [stdout] test qwen38::model::tests::skips_the_mtp_block_entirely ... ok
[INFO] [stdout] test server::tests::constant_time_eq_matches_only_identical_bytes ... ok
[INFO] [stdout] test server::tests::clamp_max_tokens_rejects_zero ... ok
[INFO] [stdout] test safetensors::tests::read_f32_errors_when_fp8_scale_inv_is_missing ... ok
[INFO] [stdout] test safetensors::tests::open_rejects_data_offsets_extending_past_end_of_file ... ok
[INFO] [stdout] test tokenizer::tests::added_tokens_prefer_longest_match_and_round_trip ... ok
[INFO] [stdout] test tokenizer::tests::bytemap_round_trips_every_byte ... ok
[INFO] [stdout] test tokenizer::tests::ignore_merges_shortcut_bypasses_rank_ordering ... ok
[INFO] [stdout] test glm52::convert::download::tests::download_multi_resumes_from_a_partial_seg_sidecar ... ok
[INFO] [stdout] test tokenizer::tests::bpe_merges_by_rank_order_into_a_single_token ... ok
[INFO] [stdout] test tokenizer::tests::pretok_splits_contractions_letters_numbers_and_whitespace ... ok
[INFO] [stdout] test tokenizer::tests::pretok_trailing_whitespace_without_following_char_is_kept_whole ... ok
[INFO] [stdout] test qwen38::generate::tests::batched_prefill_matches_token_by_token_stepping ... ok
[INFO] [stdout] test qwen38::kv_session::tests::the_kv_log_grows_per_turn_while_the_gdn_snapshot_stays_the_same_size ... ok
[INFO] [stdout] test tokenizer::tests::u8_next_handles_multibyte_and_invalid_leading_bytes ... ok
[INFO] [stdout] test usage_cache::tests::confidence_and_pin_budget_math ... ok
[INFO] [stdout] test tokenizer::tests::ignore_merges_false_does_not_shortcut_whole_pieces ... ok
[INFO] [stdout] test usage_cache::tests::load_missing_file_returns_empty_map ... ok
[INFO] [stdout] test usage_cache::tests::load_skips_corrupt_lines_and_keeps_the_rest ... ok
[INFO] [stdout] test usage_cache::tests::save_skips_zero_counts ... ok
[INFO] [stdout] test tokenizer::tests::rejects_a_split_regex_the_engine_cannot_compile ... ok
[INFO] [stdout] test usage_cache::tests::save_then_load_round_trips_counts ... ok
[INFO] [stdout] test kimi_k3::tokenizer::tests::falls_back_to_single_byte_tokens_when_no_merge_exists ... ok
[INFO] [stdout] test qwen38::tokenizer::tests::rejects_ignore_merges_on ... ok
[INFO] [stdout] test tokenizer::tests::regex_pieces_cover_the_whole_input ... ok
[INFO] [stdout] test tokenizer::tests::qwen_pattern_isolates_digits_and_keeps_marks_with_letters ... ok
[INFO] [stdout] test qwen38::tokenizer::tests::splits_every_digit_into_its_own_piece ... ok
[INFO] [stdout] test qwen38::tokenizer::tests::loads_a_qwen_shaped_tokenizer_json ... ok
[INFO] [stdout] test tokenizer::tests::declared_pattern_picks_the_hand_rolled_path_only_for_cl100k ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 436 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.28s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/convert.rs (/opt/rustwide/target/debug/deps/convert-151f122d905f4404)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/convert_fp8_to_int4.rs (/opt/rustwide/target/debug/deps/convert_fp8_to_int4-55d7d90e0af98965)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/fuse_gate_up.rs (/opt/rustwide/target/debug/deps/fuse_gate_up-cdc123a7bcfd0ad9)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test tests::fuse_all_merges_gate_up_and_passes_everything_else_through ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rabbit-872ab40d6af4c15c)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/convert_end_to_end.rs (/opt/rustwide/target/debug/deps/convert_end_to_end-1723e5a9ab0f5864)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test converted_glm_tiny_checkpoint_loads_and_runs_through_rabbit_s_own_engine ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/convert_generic_end_to_end.rs (/opt/rustwide/target/debug/deps/convert_generic_end_to_end-28f550905e61e1b6)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test generic_heuristic_classifies_real_glm52_tensors_into_a_loadable_runnable_checkpoint ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/convert_grouped_end_to_end.rs (/opt/rustwide/target/debug/deps/convert_grouped_end_to_end-aa50d396975f1c0d)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test grouped_conversion_of_glm_tiny_loads_and_runs_through_rabbit_s_own_engine ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/convert_oracle.rs (/opt/rustwide/target/debug/deps/convert_oracle-f32d5031e03a74ee)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test matches_the_real_colibri_converter_per_row ... ok
[INFO] [stdout] test matches_the_real_colibri_converter_grouped ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/k3_tokenizer_fixture.rs (/opt/rustwide/target/debug/deps/k3_tokenizer_fixture-d849f44a383faecd)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test encode_and_decode_match_the_real_tokenizer_on_diverse_text ... ok
[INFO] [stdout] test special_tokens_resolve_to_the_documented_k3_ids ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/kimi_tokenizer_fixture.rs (/opt/rustwide/target/debug/deps/kimi_tokenizer_fixture-13a3911b93b6b72c)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test encode_and_decode_match_the_real_tokenizer_on_diverse_text ... ok
[INFO] [stdout] test special_tokens_resolve_to_the_documented_kimi_ids ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/qwen38_chat_template_fixture.rs (/opt/rustwide/target/debug/deps/qwen38_chat_template_fixture-b29cb5a89805c854)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test render_messages_matches_the_real_jinja_template ... ok
[INFO] [stdout] test render_turn_concatenation_stays_well_formed_chatml ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/qwen38_tokenizer_fixture.rs (/opt/rustwide/target/debug/deps/qwen38_tokenizer_fixture-ff1eca699ca16259)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test encode_and_decode_match_the_real_qwen38_tokenizer ... ok
[INFO] [stdout] test special_tokens_resolve_to_the_real_qwen38_ids ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/teacher_forcing.rs (/opt/rustwide/target/debug/deps/teacher_forcing-d0f1ed2b2c465d5c)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test teacher_forcing_matches_oracle_at_every_position ... ok
[INFO] [stdout] test greedy_generation_from_prompt_reproduces_the_oracle_continuation ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/teacher_forcing_k3.rs (/opt/rustwide/target/debug/deps/teacher_forcing_k3-b3f3e26be123ff84)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test greedy_generation_from_prompt_reproduces_the_oracle_continuation ... ok
[INFO] [stdout] test teacher_forcing_matches_oracle_at_every_position ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/teacher_forcing_kimi.rs (/opt/rustwide/target/debug/deps/teacher_forcing_kimi-1bc08a82f6b04f6a)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test greedy_generation_from_prompt_reproduces_the_oracle_continuation ... ok
[INFO] [stdout] test teacher_forcing_matches_oracle_at_every_position ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/teacher_forcing_qwen38.rs (/opt/rustwide/target/debug/deps/teacher_forcing_qwen38-ddf9c01af4e8e8ab)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test teacher_forced_argmax_matches_the_reference_at_every_position ... ok
[INFO] [stdout] test incremental_greedy_decode_reproduces_the_reference_continuation ... ok
[INFO] [stdout] test batched_and_incremental_prefill_agree_on_the_oracle_weights ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/tokenizer_fixture.rs (/opt/rustwide/target/debug/deps/tokenizer_fixture-20c710d10b4a9bc8)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test encode_and_decode_match_the_real_tokenizer_on_diverse_text ... ok
[INFO] [stdout] test special_tokens_resolve_to_the_documented_glm52_ids ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests rabbit
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "dccea4cb7bfeb555f99af48229c29e925315b0d7663cf9c2ac84859f00c28944", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dccea4cb7bfeb555f99af48229c29e925315b0d7663cf9c2ac84859f00c28944", kill_on_drop: false }`
[INFO] [stdout] dccea4cb7bfeb555f99af48229c29e925315b0d7663cf9c2ac84859f00c28944
