[INFO] fetching crate llmfit-core 0.8.5... [INFO] testing llmfit-core-0.8.5 against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210-1 [INFO] extracting crate llmfit-core 0.8.5 into /workspace/builds/worker-5-tc2/source [INFO] started tweaking crates.io crate llmfit-core 0.8.5 [INFO] finished tweaking crates.io crate llmfit-core 0.8.5 [INFO] tweaked toml for crates.io crate llmfit-core 0.8.5 written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate llmfit-core 0.8.5 on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate llmfit-core 0.8.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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a8fff9807c74ac3d63dc6cb81d712c96a2e64fb9e3e187b7054f0c23c3881ff0 [INFO] running `Command { std: "docker" "start" "-a" "a8fff9807c74ac3d63dc6cb81d712c96a2e64fb9e3e187b7054f0c23c3881ff0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a8fff9807c74ac3d63dc6cb81d712c96a2e64fb9e3e187b7054f0c23c3881ff0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a8fff9807c74ac3d63dc6cb81d712c96a2e64fb9e3e187b7054f0c23c3881ff0", kill_on_drop: false }` [INFO] [stdout] a8fff9807c74ac3d63dc6cb81d712c96a2e64fb9e3e187b7054f0c23c3881ff0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e09a6b6f66f4f25b5f5602bec33607bd01b60d83d22b17291da60eec47673531 [INFO] running `Command { std: "docker" "start" "-a" "e09a6b6f66f4f25b5f5602bec33607bd01b60d83d22b17291da60eec47673531", kill_on_drop: false }` [INFO] [stderr] Compiling httparse v1.10.1 [INFO] [stderr] Compiling simd-adler32 v0.3.8 [INFO] [stderr] Compiling rustls v0.23.36 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling sysinfo v0.38.4 [INFO] [stderr] Compiling which v8.0.2 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling flate2 v1.1.9 [INFO] [stderr] Compiling ureq-proto v0.5.3 [INFO] [stderr] Compiling rustls-webpki v0.103.9 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling ureq v3.2.0 [INFO] [stderr] Compiling llmfit-core v0.8.5 (/opt/rustwide/workdir) [INFO] [stdout] warning: fields `hf_downloads` and `hf_likes` are never read [INFO] [stdout] --> src/models.rs:441:5 [INFO] [stdout] | [INFO] [stdout] 412 | struct HfModelEntry { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 441 | hf_downloads: u64, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 442 | #[serde(default)] [INFO] [stdout] 443 | hf_likes: u64, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HfModelEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 19.92s [INFO] running `Command { std: "docker" "inspect" "e09a6b6f66f4f25b5f5602bec33607bd01b60d83d22b17291da60eec47673531", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e09a6b6f66f4f25b5f5602bec33607bd01b60d83d22b17291da60eec47673531", kill_on_drop: false }` [INFO] [stdout] e09a6b6f66f4f25b5f5602bec33607bd01b60d83d22b17291da60eec47673531 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9450925d38653fc8f11c2ebf579e57b9fcb7a745e906de3678d7fad89721bc42 [INFO] running `Command { std: "docker" "start" "-a" "9450925d38653fc8f11c2ebf579e57b9fcb7a745e906de3678d7fad89721bc42", kill_on_drop: false }` [INFO] [stdout] warning: fields `hf_downloads` and `hf_likes` are never read [INFO] [stdout] --> src/models.rs:441:5 [INFO] [stdout] | [INFO] [stdout] 412 | struct HfModelEntry { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 441 | hf_downloads: u64, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 442 | #[serde(default)] [INFO] [stdout] 443 | hf_likes: u64, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HfModelEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling llmfit-core v0.8.5 (/opt/rustwide/workdir) [INFO] [stdout] warning: fields `hf_downloads` and `hf_likes` are never read [INFO] [stdout] --> src/models.rs:441:5 [INFO] [stdout] | [INFO] [stdout] 412 | struct HfModelEntry { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 441 | hf_downloads: u64, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 442 | #[serde(default)] [INFO] [stdout] 443 | hf_likes: u64, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HfModelEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 4.47s [INFO] running `Command { std: "docker" "inspect" "9450925d38653fc8f11c2ebf579e57b9fcb7a745e906de3678d7fad89721bc42", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9450925d38653fc8f11c2ebf579e57b9fcb7a745e906de3678d7fad89721bc42", kill_on_drop: false }` [INFO] [stdout] 9450925d38653fc8f11c2ebf579e57b9fcb7a745e906de3678d7fad89721bc42 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] cb357b2821724d163612e2f5e0517598ddf89ad88a481eafadfe53581736fce8 [INFO] running `Command { std: "docker" "start" "-a" "cb357b2821724d163612e2f5e0517598ddf89ad88a481eafadfe53581736fce8", kill_on_drop: false }` [INFO] [stderr] warning: fields `hf_downloads` and `hf_likes` are never read [INFO] [stderr] --> src/models.rs:441:5 [INFO] [stderr] | [INFO] [stderr] 412 | struct HfModelEntry { [INFO] [stderr] | ------------ fields in this struct [INFO] [stderr] ... [INFO] [stderr] 441 | hf_downloads: u64, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 442 | #[serde(default)] [INFO] [stderr] 443 | hf_likes: u64, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `HfModelEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `llmfit-core` (lib) generated 1 warning [INFO] [stderr] warning: `llmfit-core` (lib test) generated 1 warning (1 duplicate) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.12s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/llmfit_core-c1a6369b7a034ac0) [INFO] [stdout] [INFO] [stdout] running 262 tests [INFO] [stdout] test fit::tests::test_analyze_selects_mlx_on_apple_silicon ... ok [INFO] [stdout] test fit::tests::test_analyze_defaults_llamacpp_on_cuda ... ok [INFO] [stdout] test fit::tests::test_awq_compatible_on_turing_and_newer ... ok [INFO] [stdout] test fit::tests::test_awq_incompatible_on_volta_v100 ... ok [INFO] [stdout] test fit::tests::test_analyze_with_context_limit_reduces_memory_estimate ... ok [INFO] [stdout] test fit::tests::test_bandwidth_estimation_t4_7b_f16_realistic ... ok [INFO] [stdout] test fit::tests::test_awq_on_rocm_always_compatible ... ok [INFO] [stdout] test fit::tests::test_bandwidth_estimation_cpu_only_ignores_bandwidth ... ok [INFO] [stdout] test fit::tests::test_bandwidth_estimation_rtx4090_27b_q4_realistic ... ok [INFO] [stdout] test fit::tests::test_bandwidth_estimation_rtx4090_faster_than_rtx3060 ... ok [INFO] [stdout] test fit::tests::test_bandwidth_estimation_unknown_gpu_uses_fallback ... ok [INFO] [stdout] test fit::tests::test_dense_model_uses_quant_in_path_selection ... ok [INFO] [stdout] test fit::tests::test_context_score ... ok [INFO] [stdout] test fit::tests::test_estimate_tps_mlx_faster_than_llamacpp ... ok [INFO] [stdout] test fit::tests::test_estimate_tps_moe_uses_active_parameters ... ok [INFO] [stdout] test fit::tests::test_estimate_tps_moe_without_active_parameters_falls_back_to_total ... ok [INFO] [stdout] test fit::tests::test_estimate_tps_run_mode_penalties ... ok [INFO] [stdout] test fit::tests::test_fit_score_exceeds_available ... ok [INFO] [stdout] test fit::tests::test_fit_score_sweet_spot ... ok [INFO] [stdout] test fit::tests::test_fit_score_tight ... ok [INFO] [stdout] test fit::tests::test_fit_score_under_utilized ... ok [INFO] [stdout] test fit::tests::test_gguf_on_volta_still_compatible ... ok [INFO] [stdout] test fit::tests::test_model_fit_cpu_offload ... ok [INFO] [stdout] test fit::tests::test_gptq_incompatible_on_volta_v100 ... ok [INFO] [stdout] test fit::tests::test_model_fit_gpu_path ... ok [INFO] [stdout] test fit::tests::test_model_fit_cpu_only ... ok [INFO] [stdout] test fit::tests::test_model_fit_too_tight ... ok [INFO] [stdout] test fit::tests::test_model_fit_unified_memory ... ok [INFO] [stdout] test fit::tests::test_model_fit_utilization ... ok [INFO] [stdout] test fit::tests::test_moe_offload_tries_lower_quantization ... ok [INFO] [stdout] test fit::tests::test_prequantized_requires_cuda_or_rocm ... ok [INFO] [stdout] test fit::tests::test_quality_score_by_params ... ok [INFO] [stdout] test fit::tests::test_quality_score_quant_penalty ... ok [INFO] [stdout] test fit::tests::test_rank_models_by_fit ... ok [INFO] [stdout] test fit::tests::test_rank_models_separates_runnable_from_too_tight ... ok [INFO] [stdout] test fit::tests::test_score_fit_cpu_caps_at_marginal ... ok [INFO] [stdout] test fit::tests::test_score_fit_cpu_offload_caps_at_good ... ok [INFO] [stdout] test fit::tests::test_score_fit_gpu_good ... ok [INFO] [stdout] test fit::tests::test_score_fit_gpu_marginal ... ok [INFO] [stdout] test fit::tests::test_score_fit_gpu_perfect ... ok [INFO] [stdout] test fit::tests::test_score_fit_moe_offload ... ok [INFO] [stdout] test fit::tests::test_score_fit_too_tight ... ok [INFO] [stdout] test fit::tests::test_sort_by_tps ... ok [INFO] [stdout] test fit::tests::test_sort_by_release_date ... ok [INFO] [stdout] test fit::tests::test_speed_score_normalized ... ok [INFO] [stdout] test fit::tests::test_weighted_score_composition ... ok [INFO] [stdout] test hardware::tests::test_amd_unified_memory_apu_detection ... ok [INFO] [stdout] test hardware::tests::test_bandwidth_amd_cdna ... ok [INFO] [stdout] test hardware::tests::test_bandwidth_amd_rdna4 ... ok [INFO] [stdout] test hardware::tests::test_bandwidth_amd_rx_6000 ... ok [INFO] [stdout] test hardware::tests::test_bandwidth_apple_silicon_all ... ok [INFO] [stdout] test hardware::tests::test_bandwidth_gtx_16_series ... ok [INFO] [stdout] test hardware::tests::test_bandwidth_nvidia_professional ... ok [INFO] [stdout] test hardware::tests::test_bandwidth_rtx_20_series ... ok [INFO] [stdout] test hardware::tests::test_bandwidth_rtx_50_series ... ok [INFO] [stdout] test hardware::tests::test_compute_capability_nvidia_generations ... ok [INFO] [stdout] test hardware::tests::test_compute_capability_unknown_returns_none ... ok [INFO] [stdout] test hardware::tests::test_estimate_vram_gb10 ... ok [INFO] [stdout] test hardware::tests::test_estimate_vram_rtx_professional ... ok [INFO] [stdout] test hardware::tests::test_gpu_backend_labels ... ok [INFO] [stdout] test hardware::tests::test_gpu_bandwidth_amd ... ok [INFO] [stdout] test hardware::tests::test_gpu_bandwidth_apple_silicon ... ok [INFO] [stdout] test hardware::tests::test_gpu_bandwidth_known_gpus ... ok [INFO] [stdout] test hardware::tests::test_gpu_bandwidth_unknown_returns_none ... ok [INFO] [stdout] test hardware::tests::test_gpu_override_creates_synthetic_gpu_when_none ... ok [INFO] [stdout] test fit::tests::test_awq_on_pascal_incompatible ... ok [INFO] [stdout] test hardware::tests::test_gpu_override_multi_gpu_scales_total ... ok [INFO] [stdout] test hardware::tests::test_gpu_override_updates_existing_gpu ... ok [INFO] [stdout] test hardware::tests::test_is_same_gpu_name_uses_normalized_exact_match ... ok [INFO] [stdout] test hardware::tests::test_is_software_vulkan_device ... ok [INFO] [stdout] test hardware::tests::test_normalize_gpu_name_for_dedupe ... ok [INFO] [stdout] test hardware::tests::test_parse_cpu_name_from_cpuinfo_prefers_model_name ... ok [INFO] [stdout] test hardware::tests::test_parse_cpu_name_from_cpuinfo_uses_hardware_fallback ... ok [INFO] [stdout] test hardware::tests::test_parse_extended_discrete_gpu_not_unified ... ok [INFO] [stdout] test hardware::tests::test_parse_extended_tegra_unified_memory ... ok [INFO] [stdout] test hardware::tests::test_parse_extended_multi_gpu_discrete ... ok [INFO] [stdout] test hardware::tests::test_parse_memory_size_bare_number ... ok [INFO] [stdout] test hardware::tests::test_parse_memory_size_empty ... ok [INFO] [stdout] test hardware::tests::test_parse_memory_size_fractional ... ok [INFO] [stdout] test hardware::tests::test_parse_memory_size_gb ... ok [INFO] [stdout] test hardware::tests::test_parse_memory_size_invalid_suffix ... ok [INFO] [stdout] test hardware::tests::test_parse_memory_size_mb ... ok [INFO] [stdout] test hardware::tests::test_parse_memory_size_tb ... ok [INFO] [stdout] test hardware::tests::test_parse_memory_size_whitespace ... ok [INFO] [stdout] test hardware::tests::test_parse_nvidia_smi_does_not_sum_multi_gpu_vram ... ok [INFO] [stdout] test hardware::tests::test_parse_nvidia_smi_gb10_gets_vram_estimate ... ok [INFO] [stdout] test hardware::tests::test_parse_nvidia_smi_keeps_distinct_models ... ok [INFO] [stdout] test hardware::tests::test_parse_vulkan_device_names_from_gpu_id_lines ... ok [INFO] [stdout] test hardware::tests::test_parse_vulkan_device_names_from_summary_output ... ok [INFO] [stdout] test hardware::tests::test_quant_min_compute_capability ... ok [INFO] [stdout] test models::tests::test_best_quant_for_budget ... ok [INFO] [stdout] test models::tests::test_capability_infer_none ... ok [INFO] [stdout] test models::tests::test_capability_infer_tool_use ... ok [INFO] [stdout] test models::tests::test_capability_infer_vision ... ok [INFO] [stdout] test models::tests::test_capability_preserves_explicit ... ok [INFO] [stdout] test models::tests::test_best_quant_with_mlx_hierarchy ... ok [INFO] [stdout] test models::tests::test_awq_gptq_quant_values ... ok [INFO] [stdout] test models::tests::test_gguf_sources_default_to_empty ... ok [INFO] [stdout] test models::tests::test_infer_heads_from_name_llama ... ok [INFO] [stdout] test models::tests::test_model_format_prequantized ... ok [INFO] [stdout] test models::tests::test_params_b_from_raw ... ok [INFO] [stdout] test models::tests::test_params_b_from_string ... ok [INFO] [stdout] test models::tests::test_infer_heads_from_name_deepseek ... ok [INFO] [stdout] test models::tests::test_estimate_memory_gb ... ok [INFO] [stdout] test models::tests::test_infer_heads_from_name_qwen ... ok [INFO] [stdout] test models::tests::test_gguf_source_deserialization ... ok [INFO] [stdout] test models::tests::test_mlx_quant_bpp_values ... ok [INFO] [stdout] test models::tests::test_moe_offloaded_ram_gb ... ok [INFO] [stdout] test models::tests::test_supports_tp_always_true_for_1 ... ok [INFO] [stdout] test models::tests::test_supports_tp_with_explicit_heads ... ok [INFO] [stdout] test models::tests::test_supports_tp_with_inferred_heads ... ok [INFO] [stdout] test models::tests::test_use_case_from_model_embedding ... ok [INFO] [stdout] test models::tests::test_use_case_from_model_reasoning ... ok [INFO] [stdout] test models::tests::test_quant_speed_multiplier ... ok [INFO] [stdout] test models::tests::test_use_case_from_model_coding ... ok [INFO] [stdout] test models::tests::test_moe_active_vram_gb ... ok [INFO] [stdout] test plan::tests::test_build_path_estimate_cpu_offload_on_unified_is_infeasible ... ok [INFO] [stdout] test models::tests::test_quant_bpp ... ok [INFO] [stdout] test models::tests::test_quant_quality_penalty ... ok [INFO] [stdout] test plan::tests::test_build_path_estimate_gpu ... ok [INFO] [stdout] test models::tests::test_valid_tp_sizes_32_8 ... ok [INFO] [stdout] test models::tests::test_valid_tp_sizes_48_heads ... ok [INFO] [stdout] test plan::tests::test_estimate_model_plan ... ok [INFO] [stdout] test plan::tests::test_estimate_model_plan_invalid_quant_errors ... ok [INFO] [stdout] test plan::tests::test_estimate_model_plan_gpu_path_feasible ... ok [INFO] [stdout] test plan::tests::test_default_gpu_backend_falls_back_to_cuda ... ok [INFO] [stdout] test plan::tests::test_estimate_tps_cpu_offload_slower_than_gpu ... ok [INFO] [stdout] test plan::tests::test_default_gpu_backend_uses_system_when_gpu ... ok [INFO] [stdout] test plan::tests::test_build_path_estimate_cpu_only_no_vram ... ok [INFO] [stdout] test plan::tests::test_estimate_tps_gpu_faster_than_cpu ... ok [INFO] [stdout] test plan::tests::test_estimate_tps_more_cores_helps ... ok [INFO] [stdout] test plan::tests::test_estimate_tps_with_known_gpu_uses_bandwidth ... ok [INFO] [stdout] test plan::tests::test_evaluate_current_too_tight_when_no_memory ... ok [INFO] [stdout] test plan::tests::test_estimate_model_plan_has_three_run_paths ... ok [INFO] [stdout] test plan::tests::test_estimate_model_plan_negative_tps_errors ... ok [INFO] [stdout] test plan::tests::test_fit_level_for_gpu_marginal ... ok [INFO] [stdout] test plan::tests::test_fit_level_for_cpu_only_always_marginal ... ok [INFO] [stdout] test plan::tests::test_fit_level_for_gpu_perfect ... ok [INFO] [stdout] test plan::tests::test_fit_level_for_too_tight ... ok [INFO] [stdout] test models::tests::test_catalog_has_significant_gguf_coverage ... ok [INFO] [stdout] test plan::tests::test_estimate_model_plan_zero_context_errors ... ok [INFO] [stdout] test plan::tests::test_fit_level_for_gpu_good ... ok [INFO] [stdout] test plan::tests::test_estimate_model_plan_uses_model_quant_when_none ... ok [INFO] [stdout] test plan::tests::test_evaluate_current_no_gpu_uses_cpu ... ok [INFO] [stdout] test plan::tests::test_fit_level_for_cpu_offload_caps_at_good ... ok [INFO] [stdout] test plan::tests::test_normalize_quant ... ok [INFO] [stdout] test plan::tests::test_normalize_quant_all_supported ... ok [INFO] [stdout] test plan::tests::test_normalize_quant_whitespace_handling ... ok [INFO] [stdout] test plan::tests::test_plan_run_path_labels ... ok [INFO] [stdout] test plan::tests::test_plan_has_upgrade_deltas ... ok [INFO] [stdout] test plan::tests::test_minimum_cores_unreachable_target_returns_none ... ok [INFO] [stdout] test plan::tests::test_resolve_model_selector_empty_errors ... ok [INFO] [stdout] test plan::tests::test_resolve_model_selector_ambiguous ... ok [INFO] [stdout] test plan::tests::test_normalize_awq_gptq_quants ... ok [INFO] [stdout] test plan::tests::test_resolve_model_selector ... ok [INFO] [stdout] test plan::tests::test_plan_run_path_to_run_mode ... ok [INFO] [stdout] test plan::tests::test_resolve_model_selector_not_found ... ok [INFO] [stdout] test plan::tests::test_resolve_model_selector_partial_match ... ok [INFO] [stdout] test providers::tests::test_candidates_for_base_model ... ok [INFO] [stdout] test providers::tests::test_candidates_for_coder_model ... ok [INFO] [stdout] test plan::tests::test_minimum_cores_no_target_returns_default ... ok [INFO] [stdout] test providers::tests::test_deepseek_coder_mapping ... ok [INFO] [stdout] test providers::tests::test_gguf_pull_tag_known ... ok [INFO] [stdout] test providers::tests::test_docker_mr_pull_tag_returns_ai_prefixed ... ok [INFO] [stdout] test providers::tests::test_docker_mr_catalog_parses ... ok [INFO] [stdout] test providers::tests::test_docker_mr_candidates_unknown_returns_empty ... ok [INFO] [stdout] test providers::tests::test_docker_mr_candidates_includes_ai_prefix ... ok [INFO] [stdout] test providers::tests::test_gguf_candidates_fallback_covers_major_providers ... ok [INFO] [stdout] test providers::tests::test_gguf_pull_tag_unknown ... ok [INFO] [stdout] test providers::tests::test_gguf_candidates_known_mapping_returns_single ... ok [INFO] [stdout] test providers::tests::test_has_docker_mr_mapping_known ... ok [INFO] [stdout] test providers::tests::test_has_docker_mr_mapping_unknown ... ok [INFO] [stdout] test providers::tests::test_has_gguf_mapping_matches_known_models ... ok [INFO] [stdout] test providers::tests::test_has_ollama_mapping_unknown ... ok [INFO] [stdout] test providers::tests::test_has_ollama_mapping_known ... ok [INFO] [stdout] test providers::tests::test_hf_name_to_gguf_candidates_strips_owner ... ok [INFO] [stdout] test providers::tests::test_hf_name_to_gguf_candidates_generates_common_patterns ... ok [INFO] [stdout] test providers::tests::test_hf_name_to_mlx_candidates_bare_model_name ... ok [INFO] [stdout] test providers::tests::test_hf_name_to_mlx_candidates_gemma3 ... ok [INFO] [stdout] test providers::tests::test_hf_name_to_mlx_candidates ... ok [INFO] [stdout] test providers::tests::test_hf_name_to_mlx_candidates_normalizes_explicit_mlx_repo ... ok [INFO] [stdout] test providers::tests::test_hf_name_to_mlx_candidates_qwen35 ... ok [INFO] [stdout] test providers::tests::test_hf_name_to_mlx_fallback_generates_mlx_infix_candidates ... ok [INFO] [stdout] test providers::tests::test_hf_name_to_ollama_candidates_unknown_returns_empty ... ok [INFO] [stdout] test providers::tests::test_hf_name_to_ollama_candidates_multiple_models ... ok [INFO] [stdout] test providers::tests::test_installed_variant_suffix_matches_ollama_candidate ... ok [INFO] [stdout] test providers::tests::test_is_model_installed_llamacpp_exact ... ok [INFO] [stdout] test providers::tests::test_is_model_installed_llamacpp_not_installed ... ok [INFO] [stdout] test plan::tests::test_minimum_cores_with_reachable_target ... ok [INFO] [stdout] test providers::tests::test_is_model_installed_docker_mr_exact ... ok [INFO] [stdout] test providers::tests::test_is_model_installed_docker_mr_not_installed ... ok [INFO] [stdout] test providers::tests::test_is_model_installed_mlx ... ok [INFO] [stdout] test providers::tests::test_is_model_installed_mlx_with_owner_prefixed_repo_id ... ok [INFO] [stdout] test providers::tests::test_is_model_installed_llamacpp_stripped_suffixes ... ok [INFO] [stdout] test providers::tests::test_is_model_installed_docker_mr_variant_suffix ... ok [INFO] [stdout] test providers::tests::test_lookup_gguf_repo_known_mappings ... ok [INFO] [stdout] test providers::tests::test_is_split_file ... ok [INFO] [stdout] test models::tests::test_find_model ... ok [INFO] [stdout] test providers::tests::test_mlx_cache_scan_parsing ... ok [INFO] [stdout] test providers::tests::test_lookup_gguf_repo_unknown_returns_none ... ok [INFO] [stdout] test providers::tests::test_mlx_pull_tag_fallback ... ok [INFO] [stdout] test providers::tests::test_mlx_pull_tag_prefers_4bit ... ok [INFO] [stdout] test providers::tests::test_mlx_pull_tag_prefers_explicit_repo_id ... ok [INFO] [stdout] test providers::tests::test_normalize_docker_mr_host_rejects_unsupported_scheme ... ok [INFO] [stdout] test providers::tests::test_ollama_installed_matches_exact ... ok [INFO] [stdout] test providers::tests::test_ollama_installed_matches_variant_suffix ... ok [INFO] [stdout] test providers::tests::test_ollama_installed_no_match ... ok [INFO] [stdout] test providers::tests::test_normalize_docker_mr_host_with_scheme ... ok [INFO] [stdout] test providers::tests::test_normalize_docker_mr_host_without_scheme ... ok [INFO] [stdout] test providers::tests::test_normalize_ollama_host_with_scheme ... ok [INFO] [stdout] test providers::tests::test_normalize_ollama_host_without_scheme ... ok [INFO] [stdout] test providers::tests::test_parse_repo_gguf_entries_missing_size_defaults_to_zero ... ok [INFO] [stdout] test providers::tests::test_ollama_pull_tag_known ... ok [INFO] [stdout] test providers::tests::test_parse_repo_gguf_entries_skips_non_gguf ... ok [INFO] [stdout] test providers::tests::test_select_best_gguf_empty_list ... ok [INFO] [stdout] test providers::tests::test_select_best_gguf_nothing_fits ... ok [INFO] [stdout] test providers::tests::test_parse_repo_gguf_entries_valid ... ok [INFO] [stdout] test providers::tests::test_select_best_gguf_prefers_higher_quality ... ok [INFO] [stdout] test providers::tests::test_qwen_base_does_not_match_coder ... ok [INFO] [stdout] test providers::tests::test_select_best_gguf_skips_split_files ... ok [INFO] [stdout] test providers::tests::test_parse_repo_gguf_entries_filters_unsafe_paths ... ok [INFO] [stdout] test providers::tests::test_qwen_coder_14b_matches_coder_entry ... ok [INFO] [stdout] test models::tests::test_model_database_new ... ok [INFO] [stdout] test providers::tests::test_urlencoding_empty ... ok [INFO] [stdout] test providers::tests::test_urlencoding_ascii ... ok [INFO] [stdout] test providers::tests::test_validate_gguf_filename_absolute ... ok [INFO] [stdout] test providers::tests::test_select_best_gguf_respects_budget ... ok [INFO] [stdout] test providers::tests::test_validate_gguf_filename_bad_extension ... ok [INFO] [stdout] test providers::tests::test_validate_gguf_filename_subdirectory ... ok [INFO] [stdout] test providers::tests::test_urlencoding_special_chars ... ok [INFO] [stdout] test providers::tests::test_validate_gguf_filename_empty ... ok [INFO] [stdout] test providers::tests::test_validate_gguf_filename_rejects_non_basename_forms ... ok [INFO] [stdout] test providers::tests::test_validate_gguf_filename_valid ... ok [INFO] [stdout] test providers::tests::test_validate_gguf_filename_traversal ... ok [INFO] [stdout] test providers::tests::test_validate_gguf_repo_path_rejects_backslash ... ok [INFO] [stdout] test providers::tests::test_validate_gguf_repo_path_rejects_absolute ... ok [INFO] [stdout] test providers::tests::test_validate_gguf_repo_path_rejects_traversal ... ok [INFO] [stdout] test providers::tests::test_validate_gguf_repo_path_rejects_empty ... ok [INFO] [stdout] test providers::tests::test_validate_gguf_repo_path_rejects_non_gguf ... ok [INFO] [stdout] test providers::tests::test_validate_gguf_repo_path_valid ... ok [INFO] [stdout] test update::tests::test_estimate_ram_dense ... ok [INFO] [stdout] test update::tests::test_estimate_ram_moe ... ok [INFO] [stdout] test update::tests::test_extract_moe_nx_model ... ok [INFO] [stdout] test update::tests::test_extract_fractional_param ... ok [INFO] [stdout] test models::tests::test_catalog_gguf_sources_have_valid_repos ... ok [INFO] [stdout] test update::tests::test_infer_context_length_keywords ... ok [INFO] [stdout] test update::tests::test_infer_context_length_llama3 ... ok [INFO] [stdout] test update::tests::test_parse_param_str_billions ... ok [INFO] [stdout] test models::tests::test_models_fitting_system ... ok [INFO] [stdout] test providers::tests::test_normalize_ollama_host_rejects_unsupported_scheme ... ok [INFO] [stdout] test models::tests::test_catalog_popular_models_have_gguf_sources ... ok [INFO] [stdout] test update::tests::test_infer_use_case_coding ... ok [INFO] [stdout] test update::tests::test_infer_use_case_embedding ... ok [INFO] [stdout] test update::tests::test_extract_dense_model ... ok [INFO] [stdout] test update::tests::test_parse_param_str_invalid ... ok [INFO] [stdout] test update::tests::test_parse_param_str_millions ... ok [INFO] [stdout] test providers::tests::test_hf_name_to_mlx_candidates_llama4 ... ok [INFO] [stdout] test providers::tests::test_hf_name_to_mlx_candidates_no_duplicates ... ok [INFO] [stdout] test providers::tests::test_llama_mapping ... ok [INFO] [stdout] test providers::tests::test_ollama_pull_tag_unknown ... ok [INFO] [stdout] test models::tests::test_params_b_from_millions ... ok [INFO] [stdout] test plan::tests::test_evaluate_current_with_gpu ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 262 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.21s [INFO] [stdout] [INFO] [stderr] Doc-tests llmfit_core [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" "cb357b2821724d163612e2f5e0517598ddf89ad88a481eafadfe53581736fce8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cb357b2821724d163612e2f5e0517598ddf89ad88a481eafadfe53581736fce8", kill_on_drop: false }` [INFO] [stdout] cb357b2821724d163612e2f5e0517598ddf89ad88a481eafadfe53581736fce8