//! End-to-end Qwen3.6 / Qwen3-Next (`qwen35moe`) GGUF decode oracle. Ignored by //! default — needs the ~22 GB Q5_K_M 35B-A3B checkpoint. Validates the //! Gated-DeltaNet + gated-attention hybrid MoE path (lazy per-expert dequant) on //! a *sharp* prompt. //! //! Reference (llama.cpp / llama-simple, no BOS): "The quick brown fox jumps over //! the lazy" -> " dog" (5388). //! //! Run: `cargo test -p jouleclaw-loader-gguf --release --features rayon \ //! --test real_qwen35_oracle -- --ignored --nocapture` use jouleclaw_loader_gguf::qwen35moe::Qwen35Moe; const GG: &str = "/Volumes/macos_4TB_external_1/neuronexus_ai/model_library/qwen3.6-35b-a3b-gguf/Qwen3.6-35B-A3B-UD-Q5_K_M.gguf"; const FOX: [u32; 8] = [760, 3841, 13477, 37550, 33075, 888, 279, 15217]; const DOG: u32 = 5388; #[test] #[ignore] fn real_qwen35_predicts_dog() { if !std::path::Path::new(GG).exists() { eprintln!("skip: qwen35moe GGUF not present"); return; } let m = Qwen35Moe::load(GG).expect("load qwen35moe gguf"); eprintln!( "qwen35moe: {} layers (fa every {}), d={}, attn {}q/{}kv hd={} nrot={}, deltanet {}k/{}v heads hd={}, experts {}/{} +shared", m.cfg.n_layers, m.cfg.full_attn_interval, m.cfg.d_model, m.cfg.n_head, m.cfg.n_kv, m.cfg.head_dim, m.cfg.n_rot, m.cfg.n_k_heads, m.cfg.n_v_heads, m.cfg.head_v, m.cfg.n_used, m.cfg.n_experts ); let logits = m.forward(&FOX); let mut idx: Vec = (0..logits.len()).collect(); idx.sort_by(|&a, &b| logits[b].partial_cmp(&logits[a]).unwrap()); eprintln!("top5 = {:?} (expected {DOG} = ' dog')", &idx[..5]); assert_eq!(idx[0], DOG as usize, "greedy next token diverges from llama.cpp"); }