[INFO] fetching crate kopitiam-runtime 0.2.5...
[INFO] testing kopitiam-runtime-0.2.5 against 1.98.0-beta.8 for beta-1.99-5
[INFO] extracting crate kopitiam-runtime 0.2.5 into /workspace/builds/worker-0-tc1/source
[INFO] started tweaking crates.io crate kopitiam-runtime 0.2.5
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate kopitiam-runtime 0.2.5
[INFO] tweaked toml for crates.io crate kopitiam-runtime 0.2.5 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate kopitiam-runtime 0.2.5 on toolchain 1.98.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate kopitiam-runtime 0.2.5 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.98.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded kopitiam-loader v0.2.5
[INFO] [stderr]   Downloaded kopitiam-tensor v0.2.5
[INFO] [stderr]   Downloaded kopitiam-core v0.2.5
[INFO] [stderr]   Downloaded naga-types v30.0.0
[INFO] [stderr]   Downloaded wgpu-naga-bridge v30.0.0
[INFO] [stderr]   Downloaded kopitiam-tokenizer v0.2.5
[INFO] [stderr]   Downloaded wgpu-core-deps-windows-linux-android v30.0.0
[INFO] [stderr]   Downloaded wgpu-core-deps-emscripten v30.0.0
[INFO] [stderr]   Downloaded wgpu-core-deps-apple v30.0.0
[INFO] [stderr]   Downloaded kopitiam-models v0.2.5
[INFO] [stderr]   Downloaded bit-set v0.10.0
[INFO] [stderr]   Downloaded bytemuck v1.25.1
[INFO] [stderr]   Downloaded kopitiam-gpu v0.0.1
[INFO] [stderr]   Downloaded wgpu-types v30.0.0
[INFO] [stderr]   Downloaded wgpu v30.0.0
[INFO] [stderr]   Downloaded wgpu-core v30.0.0
[INFO] [stderr]   Downloaded wgpu-hal v30.0.0
[INFO] [stderr]   Downloaded naga v30.0.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 31f3e70f522b4002cd13de4f2a8ec46235189d88a2028844718288d904104e71
[INFO] running `Command { std: "docker" "start" "31f3e70f522b4002cd13de4f2a8ec46235189d88a2028844718288d904104e71", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "31f3e70f522b4002cd13de4f2a8ec46235189d88a2028844718288d904104e71", 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" "31f3e70f522b4002cd13de4f2a8ec46235189d88a2028844718288d904104e71" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "31f3e70f522b4002cd13de4f2a8ec46235189d88a2028844718288d904104e71", 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" "31f3e70f522b4002cd13de4f2a8ec46235189d88a2028844718288d904104e71" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.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.46
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling cfg_aliases v0.2.2
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling libm v0.2.16
[INFO] [stderr]    Compiling autocfg v1.5.1
[INFO] [stderr]    Compiling libloading v0.8.9
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling zerocopy v0.8.54
[INFO] [stderr]    Compiling log v0.4.33
[INFO] [stderr]    Compiling rustc-hash v1.1.0
[INFO] [stderr]    Compiling bitflags v2.13.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling naga v30.0.0
[INFO] [stderr]    Compiling bit-vec v0.9.1
[INFO] [stderr]    Compiling pkg-config v0.3.33
[INFO] [stderr]    Compiling unicode-width v0.2.0
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling ash v0.38.0+1.3.281
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling codespan-reporting v0.13.1
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]    Compiling bit-set v0.10.0
[INFO] [stderr]    Compiling spirv v0.4.0+sdk-1.4.341.0
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling khronos-egl v6.0.0
[INFO] [stderr]    Compiling arrayvec v0.7.8
[INFO] [stderr]    Compiling raw-window-handle v0.6.2
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling wayland-sys v0.31.11
[INFO] [stderr]    Compiling smallvec v1.15.2
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling dlib v0.5.3
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling wgpu-hal v30.0.0
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling presser v0.3.1
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]    Compiling ordered-float v5.3.0
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling glow v0.17.0
[INFO] [stderr]    Compiling zmij v1.0.23
[INFO] [stderr]    Compiling renderdoc-sys v1.1.0
[INFO] [stderr]    Compiling profiling v1.0.18
[INFO] [stderr]    Compiling wgpu-core v30.0.0
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling wgpu v30.0.0
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling memmap2 v0.9.11
[INFO] [stderr]    Compiling pollster v0.4.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling zerocopy-derive v0.8.54
[INFO] [stderr]    Compiling bytemuck_derive v1.11.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling regex-automata v0.4.15
[INFO] [stderr]    Compiling naga-types v30.0.0
[INFO] [stderr]    Compiling kopitiam-core v0.2.5
[INFO] [stderr]    Compiling kopitiam-tensor v0.2.5
[INFO] [stderr]    Compiling bytemuck v1.25.1
[INFO] [stderr]    Compiling wgpu-types v30.0.0
[INFO] [stderr]    Compiling kopitiam-loader v0.2.5
[INFO] [stderr]    Compiling regex v1.13.0
[INFO] [stderr]    Compiling kopitiam-tokenizer v0.2.5
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling gpu-allocator v0.28.0
[INFO] [stderr]    Compiling wgpu-naga-bridge v30.0.0
[INFO] [stderr]    Compiling wgpu-core-deps-windows-linux-android v30.0.0
[INFO] [stderr]    Compiling kopitiam-gpu v0.0.1
[INFO] [stderr]    Compiling kopitiam-runtime v0.2.5 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 44s
[INFO] running `Command { std: "docker" "inspect" "31f3e70f522b4002cd13de4f2a8ec46235189d88a2028844718288d904104e71", 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" "31f3e70f522b4002cd13de4f2a8ec46235189d88a2028844718288d904104e71" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling bitflags v2.13.0
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling shlex v2.0.1
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling zeroize v1.9.0
[INFO] [stderr]    Compiling typenum v1.20.1
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling spirv v0.4.0+sdk-1.4.341.0
[INFO] [stderr]    Compiling wgpu-types v30.0.0
[INFO] [stderr]    Compiling rustls-pki-types v1.15.0
[INFO] [stderr]    Compiling cc v1.2.67
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]    Compiling bytes v1.12.1
[INFO] [stderr]    Compiling rustls v0.23.42
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling webpki-roots v1.0.8
[INFO] [stderr]    Compiling http v1.4.2
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling utf8-zero v0.8.1
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling naga v30.0.0
[INFO] [stderr]    Compiling ureq-proto v0.6.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling ureq v3.3.0
[INFO] [stderr]    Compiling kopitiam-models v0.2.5
[INFO] [stderr]    Compiling wgpu-naga-bridge v30.0.0
[INFO] [stderr]    Compiling wgpu-hal v30.0.0
[INFO] [stderr]    Compiling wgpu-core-deps-windows-linux-android v30.0.0
[INFO] [stderr]    Compiling wgpu-core v30.0.0
[INFO] [stderr]    Compiling wgpu v30.0.0
[INFO] [stderr]    Compiling kopitiam-gpu v0.0.1
[INFO] [stderr]    Compiling kopitiam-runtime v0.2.5 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 59.77s
[INFO] running `Command { std: "docker" "inspect" "31f3e70f522b4002cd13de4f2a8ec46235189d88a2028844718288d904104e71", 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" "31f3e70f522b4002cd13de4f2a8ec46235189d88a2028844718288d904104e71" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.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/kopitiam_runtime-f3998de95bd29b71)
[INFO] [stdout] 
[INFO] [stdout] running 152 tests
[INFO] [stdout] test attention::tests::attention_forward_rejects_non_f32_input_the_same_way_matmul_does ... ok
[INFO] [stdout] test attention::tests::masked_logits_are_exactly_negative_infinity ... ok
[INFO] [stdout] test attention::tests::causal_mask_blocks_only_strictly_future_positions ... ok
[INFO] [stdout] test attention::tests::masked_softmax_assigns_exactly_zero_weight_to_future_positions ... ok
[INFO] [stdout] test attention::tests::attention_forward_with_zeroed_kv_weights_produces_zero_output ... ok
[INFO] [stdout] test attention::tests::repeat_kv_heads_group_size_one_is_the_identity ... ok
[INFO] [stdout] test attention::tests::repeat_kv_heads_makes_grouped_query_heads_genuinely_share_kv ... ok
[INFO] [stdout] test bridge::tests::a_q4_0_matmul_weight_stays_quantized_at_load_and_uses_the_fused_kernel ... ok
[INFO] [stdout] test config::architecture_gate_tests::an_absent_architecture_is_refused_rather_than_guessed ... ok
[INFO] [stdout] test config::architecture_gate_tests::an_architecture_with_a_different_forward_pass_is_refused ... ok
[INFO] [stdout] test config::architecture_gate_tests::the_architectures_we_actually_execute_still_load ... ok
[INFO] [stdout] test config::architecture_gate_tests::the_refusal_names_the_architecture_and_the_supported_set ... ok
[INFO] [stdout] test bridge::tests::a_q4_k_matmul_weight_is_dequantized_at_load_and_completes_a_forward_pass ... ok
[INFO] [stdout] test config::rope_kind_tests::an_unknown_architecture_falls_back_to_split_half ... ok
[INFO] [stdout] test config::rope_kind_tests::llama_is_interleaved_and_qwen2_is_split_half ... ok
[INFO] [stdout] test config::rope_kind_tests::smollm2_reports_llama_and_therefore_gets_interleaved ... ok
[INFO] [stdout] test bridge::tests::load_tensor_f32_errors_on_a_missing_required_name ... ok
[INFO] [stdout] test config::tests::head_count_that_does_not_divide_hidden_size_is_rejected ... ok
[INFO] [stdout] test config::tests::kv_head_count_that_does_not_divide_head_count_is_rejected ... ok
[INFO] [stdout] test bridge::tests::tensor_from_entry_round_trips_f32_bytes ... ok
[INFO] [stdout] test config::tests::missing_n_kv_heads_falls_back_to_ordinary_multi_head_attention ... ok
[INFO] [stdout] test config::tests::resolves_a_complete_config_with_explicit_values ... ok
[INFO] [stdout] test config::tests::odd_rope_dimension_count_is_rejected ... ok
[INFO] [stdout] test constraint::tests::allowed_set_mask_treats_out_of_range_ids_as_not_allowed ... ok
[INFO] [stdout] test config::tests::missing_rope_and_norm_fields_use_documented_defaults ... ok
[INFO] [stdout] test config::tests::missing_required_field_is_rejected ... ok
[INFO] [stdout] test bridge::tests::load_tensor_f32_opt_is_none_for_a_missing_name ... ok
[INFO] [stdout] test constraint::tests::allowed_set_only_contains_listed_ids ... ok
[INFO] [stdout] test constraint::tests::allowed_tokens_returns_its_fixed_set_regardless_of_state ... ok
[INFO] [stdout] test constraint::tests::constrained_sampler_records_its_generated_prefix ... ok
[INFO] [stdout] test constraint::tests::constrained_greedy_sampler_only_ever_emits_allowed_ids ... ok
[INFO] [stdout] test constraint::tests::constrained_sampler_surfaces_no_token_allowed_as_err ... ok
[INFO] [stdout] test constraint::tests::json_after_colon_expects_a_value ... ok
[INFO] [stdout] test constraint::tests::empty_allowed_set_is_an_honest_error_not_a_panic ... ok
[INFO] [stdout] test constraint::tests::json_after_key_forces_a_colon ... ok
[INFO] [stdout] test constraint::tests::json_after_value_in_object_allows_comma_or_close_only ... ok
[INFO] [stdout] test constraint::tests::json_always_allowed_ids_bypass_the_grammar ... ok
[INFO] [stdout] test constraint::tests::allowed_tokens_rejects_an_empty_set_at_construction ... ok
[INFO] [stdout] test constraint::tests::json_after_open_brace_forces_a_key_or_close_only ... ok
[INFO] [stdout] test constraint::tests::json_balanced_close_returns_to_done ... ok
[INFO] [stdout] test constraint::tests::constrained_stochastic_sampler_only_ever_emits_allowed_ids ... ok
[INFO] [stdout] test constraint::tests::json_document_start_allows_a_value_opener_not_a_close ... ok
[INFO] [stdout] test constraint::tests::json_empty_array_may_close_immediately ... ok
[INFO] [stdout] test constraint::tests::json_machine_accepts_a_full_nested_document ... ok
[INFO] [stdout] test constraint::tests::json_machine_rejects_a_mismatched_close ... ok
[INFO] [stdout] test constraint::tests::json_mid_scalar_may_continue_or_be_separated ... ok
[INFO] [stdout] test constraint::tests::mask_survives_temperature_scaling_stays_neg_inf ... ok
[INFO] [stdout] test constraint::tests::masked_argmax_is_always_in_the_allowed_set ... ok
[INFO] [stdout] test attention::tests::causal_mask_with_a_position_offset_accounts_for_already_cached_positions ... ok
[INFO] [stdout] test block::tests::block_forward_produces_a_finite_correctly_shaped_residual_update ... ok
[INFO] [stdout] test constraint::tests::mask_forces_only_allowed_ids_to_survive_as_neg_inf ... ok
[INFO] [stdout] test generate::tests::an_empty_prompt_generates_nothing ... ok
[INFO] [stdout] test generate::tests::last_row_extracts_the_final_positions_logits ... ok
[INFO] [stdout] test generate::tests::generate_with_sampler_temperature_zero_matches_greedy_generate_end_to_end ... ok
[INFO] [stdout] test gguf_tokenizer::tests::a_control_token_is_matched_atomically_not_split_by_bpe ... ok
[INFO] [stdout] test gguf_tokenizer::tests::builds_a_tokenizer_from_the_real_vendored_qwen2_vocab_file ... ok
[INFO] [stdout] test gguf_tokenizer::tests::encode_decode_round_trips_ordinary_text ... ok
[INFO] [stdout] test gguf_tokenizer::tests::missing_tokens_array_is_a_malformed_model_error ... ok
[INFO] [stdout] test gpu_offload::tests::a_column_count_that_is_not_a_whole_number_of_blocks_is_refused ... ok
[INFO] [stdout] test gpu_offload::tests::f16_conversion_matches_known_values ... ok
[INFO] [stdout] test gpu_offload::tests::split_then_recombine_matches_the_verified_dequantizer ... ok
[INFO] [stdout] test gpu_offload::tests::truncated_bytes_are_refused_rather_than_padded ... ok
[INFO] [stdout] test kv_cache::tests::a_fresh_cache_is_empty ... ok
[INFO] [stdout] test kv_cache::tests::append_accumulates_across_calls_and_reports_the_new_length ... ok
[INFO] [stdout] test kv_cache::tests::clear_resets_every_layer_to_empty ... ok
[INFO] [stdout] test kv_cache::tests::different_layers_are_independent ... ok
[INFO] [stdout] test kv_cache::tests::exceeding_max_context_is_rejected ... ok
[INFO] [stdout] test linear::tests::linear_applies_bias_after_a_quantized_matmul_too ... ok
[INFO] [stdout] test linear::tests::linear_applies_bias_after_the_matmul ... ok
[INFO] [stdout] test linear::tests::linear_dispatches_to_quantized_matmul_for_a_quantized_weight ... ok
[INFO] [stdout] test generate::tests::constrained_generation_only_ever_emits_allowed_tokens_end_to_end ... ok
[INFO] [stdout] test linear::tests::linear_without_bias_matches_matmul_by_the_transposed_weight ... ok
[INFO] [stdout] test mlp::tests::a_zero_gate_projection_zeroes_the_whole_block ... ok
[INFO] [stdout] test mlp::tests::swiglu_matches_hand_computation ... ok
[INFO] [stdout] test model::tests::a_real_model_on_disk_is_used_if_present ... ignored, no real Qwen GGUF present on this machine; point REAL_QWEN_GGUF_PATH at one to run this
[INFO] [stdout] test model::tests::bench_quantized_vs_f32_weights ... ignored, measurement, not an assertion; run deliberately with --ignored --nocapture
[INFO] [stdout] test generate::tests::generate_with_sampler_and_a_fixed_seed_is_reproducible_end_to_end ... ok
[INFO] [stdout] test linear::tests::linear_matches_hand_computation_for_a_non_trivial_weight ... ok
[INFO] [stdout] test generate::tests::an_eos_token_stops_generation_before_it_is_emitted ... ok
[INFO] [stdout] test generate::tests::generate_produces_at_most_max_new_tokens_and_streams_every_one ... ok
[INFO] [stdout] test generate::tests::generate_with_a_greedy_sampler_matches_generates_own_output ... ok
[INFO] [stdout] test generate::tests::constrained_generation_surfaces_a_dead_constraint_as_an_error ... ok
[INFO] [stdout] test generate::tests::zero_max_new_tokens_generates_nothing_but_still_runs_prefill ... ok
[INFO] [stdout] test model::tests::decoding_with_a_kv_cache_matches_a_full_forward_pass_without_one_bit_for_bit ... ok
[INFO] [stdout] test model::tests::dtype_matches_and_config_is_reachable ... ok
[INFO] [stdout] test rope::tests::apply_matches_split_half_hand_computation_and_differs_from_interleaved ... ok
[INFO] [stdout] test rope::tests::both_conventions_are_the_identity_at_position_zero ... ok
[INFO] [stdout] test rope::tests::both_conventions_preserve_norm_so_neither_looks_wrong ... ok
[INFO] [stdout] test rope::tests::different_positions_in_the_same_batch_get_different_rotations ... ok
[INFO] [stdout] test rope::tests::dimensions_beyond_rope_dim_pass_through_unchanged ... ok
[INFO] [stdout] test rope::tests::interleaved_matches_the_hand_computed_adjacent_pairing ... ok
[INFO] [stdout] test rope::tests::mismatched_positions_length_is_rejected ... ok
[INFO] [stdout] test rope::tests::position_zero_is_the_identity ... ok
[INFO] [stdout] test rope::tests::rotation_preserves_vector_norm ... ok
[INFO] [stdout] test model::tests::llama_arch_smollm2_shaped_model_loads_and_runs_end_to_end ... ok
[INFO] [stdout] test rope::tests::wrong_rank_is_rejected ... ok
[INFO] [stdout] test sampling::tests::different_seeds_usually_produce_different_sequences ... ok
[INFO] [stdout] test sampling::tests::a_fixed_seed_reproduces_a_fixed_token_sequence ... ok
[INFO] [stdout] test sampling::tests::greedy_argmax_breaks_ties_toward_the_first_occurrence ... ok
[INFO] [stdout] test sampling::tests::greedy_argmax_handles_a_single_element ... ok
[INFO] [stdout] test sampling::tests::greedy_argmax_picks_the_highest_scoring_index ... ok
[INFO] [stdout] test sampling::tests::greedy_sampler_is_deterministic_across_repeated_calls ... ok
[INFO] [stdout] test sampling::tests::min_p_always_keeps_the_top_token ... ok
[INFO] [stdout] test sampling::tests::min_p_keeps_only_tokens_within_the_relative_threshold_of_the_max ... ok
[INFO] [stdout] test sampling::tests::min_p_of_zero_or_below_is_a_no_op ... ok
[INFO] [stdout] test sampling::tests::negative_temperature_also_degrades_to_greedy ... ok
[INFO] [stdout] test sampling::tests::repetition_penalty_can_flip_which_token_greedy_decoding_picks ... ok
[INFO] [stdout] test sampling::tests::repetition_penalty_divides_positive_and_multiplies_negative_logits ... ok
[INFO] [stdout] test sampling::tests::repetition_penalty_ignores_duplicate_history_entries ... ok
[INFO] [stdout] test sampling::tests::repetition_penalty_of_one_is_a_no_op ... ok
[INFO] [stdout] test sampling::tests::rng_unit_f32_stays_within_zero_one ... ok
[INFO] [stdout] test sampling::tests::rng_with_different_seeds_produces_different_sequences ... ok
[INFO] [stdout] test model::tests::synthetic_model_forward_pass_runs_end_to_end_and_produces_finite_logits ... ok
[INFO] [stdout] test sampling::tests::rng_zero_seed_does_not_get_stuck_at_the_fixed_point ... ok
[INFO] [stdout] test sampling::tests::softmax_ignoring_masked_rows_sum_to_one ... ok
[INFO] [stdout] test sampling::tests::softmax_ignoring_masked_treats_negative_infinity_as_zero_probability ... ok
[INFO] [stdout] test sampling::tests::rng_with_the_same_seed_produces_the_same_sequence ... ok
[INFO] [stdout] test sampling::tests::stochastic_sampler_only_ever_emits_in_range_token_ids ... ok
[INFO] [stdout] test sampling::tests::top_k_at_or_above_the_length_is_a_no_op ... ok
[INFO] [stdout] test sampling::tests::top_k_keeps_exactly_the_k_highest_logits ... ok
[INFO] [stdout] test sampling::tests::top_k_zero_is_a_no_op ... ok
[INFO] [stdout] test sampling::tests::top_p_includes_the_crossing_token ... ok
[INFO] [stdout] test sampling::tests::top_p_keeps_only_the_single_token_when_it_alone_exceeds_p ... ok
[INFO] [stdout] test sampling::tests::top_p_of_one_or_above_is_a_no_op ... ok
[INFO] [stdout] test test_support::synthetic_gguf::tests::quantize_q8_0_blocks_round_trips_within_one_quantization_step ... ok
[INFO] [stdout] test sampling::tests::greedy_argmax_rejects_empty_input - should panic ... ok
[INFO] [stdout] test test_support::synthetic_gguf::tests::tiny_model_bytes_parses_as_valid_gguf_with_expected_shapes ... ok
[INFO] [stdout] test traits::tests::cpu_backend_reports_the_cpu_device ... ok
[INFO] [stdout] test vision::preprocess::tests::config_rejects_a_patch_size_that_does_not_divide_the_canvas ... ok
[INFO] [stdout] test sampling::tests::temperature_zero_degrades_exactly_to_greedy ... ok
[INFO] [stdout] test vision::preprocess::tests::each_patch_row_is_channel_planar_not_interleaved ... ok
[INFO] [stdout] test vision::preprocess::tests::config_rejects_zero_std_before_it_divides_by_it ... ok
[INFO] [stdout] test vision::preprocess::tests::gray_promotes_to_three_identical_channels ... ok
[INFO] [stdout] test vision::preprocess::tests::patch_rows_are_in_row_major_grid_order ... ok
[INFO] [stdout] test vision::preprocess::tests::preprocess_produces_the_shape_the_patch_embedding_matmul_wants ... ok
[INFO] [stdout] test vision::preprocess::tests::normalization_maps_black_and_white_to_minus_one_and_one ... ok
[INFO] [stdout] test vision::preprocess::tests::resize_is_identity_when_the_size_already_matches ... ok
[INFO] [stdout] test vision::preprocess::tests::resize_preserves_a_solid_colour_exactly ... ok
[INFO] [stdout] test vision::preprocess::tests::resize_samples_pixel_centres_rather_than_corners ... ok
[INFO] [stdout] test vision::preprocess::tests::rgb8_rejects_a_buffer_that_does_not_match_its_dimensions ... ok
[INFO] [stdout] test vision::preprocess::tests::preprocessing_is_deterministic_for_the_same_input ... ok
[INFO] [stdout] test weights::tests::loads_a_separate_output_weight_when_present ... ok
[INFO] [stdout] test weights::tests::loads_every_layer_and_ties_embeddings_when_output_weight_is_absent ... ok
[INFO] [stdout] test weights::tests::matmul_operand_weights_stay_f32_when_the_file_ships_them_as_f32 ... ok
[INFO] [stdout] test weights::tests::missing_qkv_bias_is_tolerated_when_the_spec_omits_it ... ok
[INFO] [stdout] test model::tests::tied_embeddings_model_still_produces_logits ... ok
[INFO] [stdout] test model::tests::the_cache_length_grows_by_exactly_one_position_per_decode_step ... ok
[INFO] [stdout] test test_support::synthetic_gguf::tests::quantized_spec_writes_real_q8_0_tensors_the_loader_recognizes ... ok
[INFO] [stdout] test model::tests::the_architecture_string_selects_the_rope_convention ... ok
[INFO] [stdout] test weights::tests::matmul_operand_weights_stay_quantized_when_the_file_ships_them_quantized ... ok
[INFO] [stdout] test model::tests::quantized_matmul_weights_load_natively_and_produce_finite_logits ... ok
[INFO] [stdout] test model::tests::quantized_and_f32_weights_of_the_same_underlying_values_produce_similar_logits ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 150 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 4.23s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/netfetch_end_to_end.rs (/opt/rustwide/target/debug/deps/netfetch_end_to_end-415d1b364c2ce2cb)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stderr]    Doc-tests kopitiam_runtime
[INFO] [stdout] test an_empty_or_zero_gate_value_does_not_count_as_enabled ... ok
[INFO] [stdout] test real_models_survive_fetch_load_tokenize_and_generate ... ok
[INFO] [stdout] test the_gate_is_off_by_default_so_an_ordinary_test_run_needs_no_network ... 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] [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" "31f3e70f522b4002cd13de4f2a8ec46235189d88a2028844718288d904104e71", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "31f3e70f522b4002cd13de4f2a8ec46235189d88a2028844718288d904104e71", kill_on_drop: false }`
[INFO] [stdout] 31f3e70f522b4002cd13de4f2a8ec46235189d88a2028844718288d904104e71
