{
  "generated": "2026-09-10",
  "models": [
    {
      "id": "k2-horizon-36b-a4b",
      "name": "K2-Horizon-36B-A4B (IFM)",
      "hf": "https://huggingface.co/IFM/K2-Horizon-MoVA-36B-A4B",
      "arch": "moe",
      "params_total": "36B",
      "params_active": "4B",
      "quant": "Q4_K_M",
      "size_gb": 20.8,
      "residency": "resident",
      "status": "active",
      "runtimes": [
        "llama.cpp (k2horizon fork)"
      ],
      "seats": [
        "agent"
      ],
      "family": "k2-horizon",
      "why": "MoVA (Mixture-of-Value Attention) extends sparsity into the value component of attention. 4B active gives it 25 tok/s at 5k where a dense 27B manages 8.6. Ties the top of the board on tool invocation and holds a 200-step chain without deviating.",
      "verdict": "The actor seat. 100% toolcall on all five arms, 36 of 36 adversarial injection attempts thwarted at temperature 0.7 with verified sampling. Weak epistemically: nullschema 54.2% at Q4 (70.8% at Q8, +16.6 for 16 GB), worldview 52.5%. Suggestible rather than unreliable - it takes a plausible wrong value 83% of the time and produced a fabricated citation in production the same day. Do not let it cite unchecked. Native 524,288 context; 131,072 per slot is the measured ceiling on this box."
    },
    {
      "id": "qwen38-27b-gsq-rco-iq3s",
      "name": "Qwen3.8-27B GSQ-RCO IQ3_S (ISTA-DASLab)",
      "hf": "https://huggingface.co/ISTA-DASLab/Qwen3.8-27B-GSQ-RCO-GGUF",
      "arch": "dense",
      "params_total": "27B",
      "params_active": "27B",
      "quant": "IQ3_S (per-tensor gradient search)",
      "size_gb": 11.3,
      "residency": "resident",
      "status": "active",
      "runtimes": [
        "llama.cpp"
      ],
      "seats": [],
      "family": "qwen3.8",
      "why": "Same weights as qwen3.8-27b at ~3 bits instead of ~4.5, with the quantisation type chosen per tensor by gradient search under a size budget. Retains the MTP head. 26% fewer bytes per token and 8% faster.",
      "verdict": "Lossless on four suites and not on the fifth. 202 of 212 cases identical to Q4_K_M; all ten changes in nullschema (76.4% to 62.5%). The vendor's task-lossless claim (AIME25 100.00, LiveCodeBench 85.71, GPQA within 0.51) appears honest - none of those benchmarks contains an absent-answer case. Use Q4_K_M for extraction; IQ3_S is fine for anything else."
    },
    {
      "id": "ternary-bonsai-27b",
      "name": "Ternary-Bonsai-27B (prism-ml)",
      "hf": "https://huggingface.co/prism-ml/Ternary-Bonsai-27B-gguf",
      "arch": "dense",
      "params_total": "27B",
      "params_active": "27B",
      "quant": "Q2_g64 (1.71 bits/weight)",
      "size_gb": 7.1,
      "residency": "resident",
      "status": "active",
      "runtimes": [
        "llama.cpp"
      ],
      "seats": [],
      "family": "bonsai",
      "why": "End-to-end ternary weights on a Qwen3.6-27B backbone with ~75% linear attention, claiming 262K context and 94.6% of FP16 intelligence retained. 11.7 GB resident at a 128k window - a third of K2-36B for the same context.",
      "verdict": "Perfect tool use, collapsed epistemics. toolcall 100%, toolscale 100% (beating K2-36B), then worldview 42.5% and nullschema 27.8% with lure resistance at 12.5%. The clearest demonstration that a benchmark measuring only tool use would call a model lossless while half its judgement is gone. The upstream Q2_g64 variant lacks prism-ml's custom hybrid-attention kernels, so its 10.6 tok/s is a floor."
    },
    {
      "id": "spark-x2.5-4b",
      "name": "Spark-X2.5-4B (XHToken)",
      "hf": "https://huggingface.co/XHToken/Spark-X2.5-4B",
      "arch": "dense",
      "params_total": "4B",
      "params_active": "4B",
      "quant": "Q4_K_M",
      "size_gb": 2.4,
      "residency": "resident",
      "status": "active",
      "runtimes": [
        "llama.cpp (build 10893+)"
      ],
      "seats": [],
      "family": "spark",
      "why": "Hybrid attention - one full-attention layer per three sliding-window layers - giving a native 1M context. Apache 2.0, 20T training tokens, marketed for agentic workflows with claimed native compatibility for Codex, Claude Code and Hermes.",
      "verdict": "CORRECTED 2026-09-15 -- not the fastest on this board, and was never close. 48.3 tok/s short, 22.7 at 16k, 3.2 GB resident. Perfect on plain absence (24/24, matching gemma) and 95% on tool selection. But 0/60 on toolcall - it never perceives an unannounced tool - and worldview 20.0%, the lowest on the board. A dispatcher, not a router, and never a citer. Requires llama.cpp build 10893 or later for the spark2_5 architecture."
    },
    {
      "id": "qwen3-8b",
      "name": "Qwen3-8B",
      "hf": "https://huggingface.co/Qwen/Qwen3-8B",
      "arch": "dense",
      "params_total": "8B",
      "params_active": "8B",
      "quant": "Q4_K_M",
      "size_gb": 4.7,
      "residency": "resident",
      "status": "active",
      "runtimes": [
        "llama.cpp",
        "mlx"
      ],
      "seats": [],
      "family": "qwen3",
      "why": "The small reference and runtime test subject - the only model held in GGUF, MLX-native and BF16 simultaneously, which carried the whole runtime comparison. HumanEval 86.8% strict, beating qwen3.6-35b-a3b by being less verbose.",
      "verdict": "Its August record predates the agentic suites entirely. Measured on them 2026-09-10: 0/60 on toolcall - it answers the schema directly instead of reaching for the tool - while scoring 100% on toolscale. synthesis 83.3% ties the best on the board at 4.7 GB, but worldview 45.0% and nullschema 34.7%. Good at everything except noticing it should ask."
    },
    {
      "id": "k2-horizon-3.7b",
      "name": "K2-Horizon-3.7B (IFM)",
      "hf": "https://huggingface.co/IFM/K2-Horizon-3.7B",
      "arch": "dense",
      "params_total": "3.7B",
      "params_active": "3.7B",
      "quant": "Q4_K_M",
      "size_gb": 2.9,
      "residency": "resident",
      "status": "active",
      "runtimes": [
        "llama.cpp (k2horizon fork)"
      ],
      "seats": [
        "router"
      ],
      "family": "k2-horizon",
      "why": "The smallest model measured that perceives tool need. Held at three precisions (Q4/Q8/BF16) which made it the subject of the precision ladder.",
      "verdict": "100% on both tool suites at 2.9 GB - better than its own 36B sibling on toolscale (100% vs 87.5%). Weak downstream: worldview 52.5%, nullschema 38.9%, synthesis 50.0%. The router seat, provided every escalation is a named tool call rather than a judgement. Its precision ladder established that Q8_0 and BF16 differ on 0 of 72 cases."
    },
    {
      "id": "qwen3-next-80b",
      "name": "Qwen3-Next-80B-A3B Instruct",
      "hf": "https://huggingface.co/Qwen/Qwen3-Next-80B-A3B-Instruct",
      "arch": "moe",
      "params_total": "80B",
      "params_active": "3B",
      "quant": "IQ4_XS",
      "size_gb": 40.0,
      "residency": "deleted",
      "runtimes": [
        "llama.cpp",
        "mlx"
      ],
      "status": "deleted",
      "seats": [],
      "why": "The incumbent. Chosen because 3B active parameters give MoE speed at 80B quality, and it fits at 40GB with room for a long context.",
      "verdict": "GGUF deleted 2026-09-09 (40 GB); superseded by qwen3-next-80b-reap-mlx-mixed36 at 28 GB, which scores better on every suite. Router preset commented, not removed.",
      "family": "qwen3-next"
    },
    {
      "id": "qwen3-next-80b-thinking",
      "name": "Qwen3-Next-80B-A3B Thinking",
      "hf": "https://huggingface.co/Qwen/Qwen3-Next-80B-A3B-Thinking",
      "arch": "moe",
      "params_total": "80B",
      "params_active": "3B",
      "quant": "IQ4_XS",
      "size_gb": 40.0,
      "residency": "resident",
      "runtimes": [
        "llama.cpp"
      ],
      "status": "rejected",
      "seats": [],
      "why": "Tested to see whether reasoning improves extraction, on the assumption that thinking helps.",
      "verdict": "It does not. nullschema fell from 97.2% to 58.3% and grounding from 88.8% to 65.6%. Reasoning raised misattribution under authority pressure while leaving detection untouched. Reasoning is a dial for agentic work, not a default.",
      "family": "qwen3-next"
    },
    {
      "id": "gemma4-12b",
      "name": "Gemma 4 12B",
      "hf": "https://huggingface.co/google/gemma-4-12b-it",
      "arch": "dense",
      "params_total": "12B",
      "params_active": "12B",
      "quant": "q4_0 QAT",
      "size_gb": 7.0,
      "residency": "resident",
      "runtimes": [
        "llama.cpp"
      ],
      "status": "production",
      "seats": [
        "tagging"
      ],
      "why": "Tested as a cheap tagger after the 80B proved expensive for a task that runs constantly.",
      "verdict": "Holds the tagging seat at 93.8/97.9, beating the 80B by 7.5 points. On the extraction suites it is statistically indistinguishable from Qwen3-Next-80B at one sixth the size, which is the most uncomfortable result on this board.",
      "family": "gemma4"
    },
    {
      "id": "granite-guardian-4.1-8b",
      "name": "Granite Guardian 4.1 8B",
      "hf": "https://huggingface.co/ibm-granite/granite-guardian-4.1-8b",
      "arch": "dense",
      "params_total": "8B",
      "params_active": "8B",
      "quant": "Q4_K_M GGUF, and MLX mixed_3_6 at 3.8GB",
      "size_gb": 5.1,
      "residency": "resident",
      "runtimes": [
        "llama.cpp",
        "mlx",
        "omlx"
      ],
      "status": "production",
      "seats": [
        "judging"
      ],
      "why": "A purpose-built safety and screening classifier, tested for the judge seat where a general model was overkill.",
      "verdict": "100% on screening at 5.1GB. Worth noting the caveat: it is a specialist scored on a suite close to saturation, so the perfect result says less than it appears to. Converted to MLX mixed_3_6 on 2026-09-09 at 3.8GB, chosen over plain 4-bit because uniform quantisation destroyed tool calling on REAP (5/12 against 12/12) and a judge's whole job is precision. That conversion is not yet validated against the 100% baseline.",
      "family": "granite"
    },
    {
      "id": "granite-4.2-30b-gguf",
      "name": "Granite 4.2 30B",
      "hf": "https://huggingface.co/ibm-granite/granite-4.2-30b",
      "arch": "dense",
      "params_total": "30B",
      "params_active": "30B",
      "quant": "Q4_K_M",
      "size_gb": 16.5,
      "residency": "resident",
      "runtimes": [
        "llama.cpp",
        "mlx"
      ],
      "status": "candidate",
      "seats": [],
      "why": "Tested because IBM builds explicitly for structured JSON output, and nullschema is the weakest axis across the whole fleet.",
      "verdict": "Second-best abstention on the board at 90.3% nullschema and 98.3% screening, from 16.5GB and Apache 2.0. Schema enforcement verified directly. At 9.0 tok/s it is a batch extraction candidate only, never an agentic one. Its KV is the most expensive measured here: 30.26 GB at 131k, taking it to 48.62 GB and past the memory budget. Strong at 8k to 32k, unusable at its full window.",
      "family": "granite"
    },
    {
      "id": "muse-glimmer-30b",
      "name": "Muse-Glimmer 30B",
      "hf": "https://huggingface.co/meta-models/Muse-Glimmer-30B",
      "arch": "dense",
      "params_total": "30B",
      "params_active": "30B",
      "quant": "UD-Q4_K_XL",
      "size_gb": 14.8,
      "residency": "resident",
      "runtimes": [
        "llama.cpp"
      ],
      "status": "candidate",
      "seats": [],
      "why": "Previously dismissed at 10.4 tok/s without ever being scored. Re-examined because it is multimodal, and scanned invoices are the part of the accountancy job nothing else can read.",
      "verdict": "Reproduced at 9.6 tok/s, so the speed verdict stands. But its 32:2 head ratio makes it the most context-efficient model here: 10.6GB of KV at full context against granite's 32GB. Its nullschema is unmeasurable because llama.cpp silently drops the schema for this model specifically. Confirmed on the ladder as the cheapest context here: 1.77 GB of KV across the full 131k window, against granite's 30.26 GB.",
      "family": "muse-glimmer"
    },
    {
      "id": "glm-4.7-flash-q8",
      "name": "GLM-4.7-Flash",
      "hf": "https://huggingface.co/zai-org/GLM-4.7-Flash",
      "arch": "moe",
      "params_total": "31B",
      "params_active": "~3B",
      "quant": "Q8_0",
      "size_gb": 30.0,
      "residency": "resident",
      "runtimes": [
        "llama.cpp",
        "mlx"
      ],
      "status": "candidate",
      "seats": [],
      "why": "Tested as a fast MoE with a 202k context window, and as the first model we quantised ourselves for MLX.",
      "verdict": "Weak at abstention: 48.6% nullschema means it invents values on half the cases where a field is absent, and 4-bit costs a further 19 points over 8-bit. But its context behaviour is strong and was initially misjudged here: it holds 131k in 36.42 GB total at 37.2 tok/s. A first assessment predicted 88 GB from its head counts and was wrong by 7x. Good for long-context work that does not depend on declining to answer.",
      "family": "glm"
    },
    {
      "id": "nemotron-lightning-30b",
      "name": "Nemotron 3.5 Lightning 30B",
      "hf": "https://huggingface.co/nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B",
      "arch": "moe",
      "params_total": "30B",
      "params_active": "3B",
      "quant": "Q4_K_M",
      "size_gb": 24.0,
      "residency": "deleted",
      "runtimes": [
        "llama.cpp",
        "mlx"
      ],
      "status": "deleted",
      "seats": [],
      "why": "Tested as a fast MoE, 45.9 tok/s, and briefly the best raw scorer on some suites.",
      "verdict": "Deleted. 15.3% nullschema through llama.cpp and 9.7% through MLX, the worst abstention measured. Fast and confident is the wrong combination for extraction.",
      "family": "nemotron"
    },
    {
      "id": "devstral-small-2-24b-b10618",
      "name": "Devstral Small 2 24B",
      "hf": "https://huggingface.co/mistralai/Devstral-Small-2",
      "arch": "dense",
      "params_total": "24B",
      "params_active": "24B",
      "quant": "Q4_K_M",
      "size_gb": 19.0,
      "residency": "resident",
      "runtimes": [
        "llama.cpp"
      ],
      "status": "candidate",
      "seats": [],
      "why": "A coding model, tested to see whether coding tuning transfers to structured extraction.",
      "verdict": "The strongest coder on the extraction suites: 100% screening, 79.2% grounding, 62.5% nullschema. Worth noting that none of those suites measure code, which is the category error that made every coding model look mediocre.",
      "family": "devstral"
    },
    {
      "id": "ornith-1.5-35b-q6-b10618",
      "name": "Ornith 1.5 35B",
      "hf": "https://huggingface.co/",
      "arch": "moe",
      "params_total": "35B",
      "params_active": "3B",
      "quant": "Q6_K",
      "size_gb": 29.0,
      "residency": "resident",
      "runtimes": [
        "llama.cpp",
        "mlx"
      ],
      "status": "candidate",
      "seats": [],
      "why": "A second non-Qwen coding candidate, tested alongside Devstral.",
      "verdict": "34.7% nullschema is poor, but it is being judged on extraction rather than code. 28.5 tok/s under MLX. Its verdict should be considered pending until a real coding suite runs.",
      "family": "ornith"
    },
    {
      "id": "qwen3.8-27b",
      "name": "Qwen3.8 27B",
      "hf": "https://huggingface.co/Qwen/Qwen3.8-27B",
      "arch": "dense",
      "params_total": "27B",
      "params_active": "27B",
      "quant": "MLX 4-bit (MTP build, template patched to reasoning_effort=medium)",
      "size_gb": 15.0,
      "residency": "resident",
      "runtimes": [
        "llama.cpp",
        "mlx",
        "omlx"
      ],
      "status": "production",
      "seats": [
        "agentic"
      ],
      "why": "The dense counterweight to the MoE fleet, and the model where MLX first beat llama.cpp. Promoted to the agent seat on 2026-09-09 after toolcall/1.",
      "verdict": "Holds the agent seat, and it is the only model here whose tool use survives a change of runtime. 60/60 on toolcall/1 across all five arms, scored identically under rapid-mlx and oMLX, where every other model moved substantially. It is the sole model that calls a tool nobody mentioned (12/12 against 1/12 and 0/12). Slowest of the three seats at about 15 tok/s single-stream, 62.1 aggregate at n=32. Dense at 27B so bandwidth-bound: an independent M3 Ultra baseline of 27.9 tok/s halves to 14 on this chip, which matches what we measure, so it is performing exactly as the hardware dictates. Served from a build whose chat template defaults reasoning_effort to medium rather than xhigh, which halves time-to-answer at identical decode rate.",
      "family": "qwen3.x"
    },
    {
      "id": "tagger-e2b-v1",
      "name": "tagger-e2b-v1 (LoRA fine-tune)",
      "hf": "",
      "arch": "dense",
      "params_total": "2B",
      "params_active": "2B",
      "quant": "MLX 4-bit",
      "size_gb": 3.0,
      "residency": "resident",
      "runtimes": [
        "mlx"
      ],
      "status": "rejected",
      "seats": [],
      "why": "A custom tagger, fine-tuned with MLX LoRA on 270 turns, intended to replace the general model in the tagging seat.",
      "verdict": "Cutover cancelled. Scored 74.2% against its own base model's 85.8% on the same runtime, profile and 240 pairs, with non-overlapping intervals. The fine-tune cost 11.6 points and bought nothing. The training data needs revisiting, not the runtime.",
      "family": "gemma4",
      "derived_from": "gemma4-e2b"
    },
    {
      "id": "gemma4-e2b",
      "name": "Gemma 4 E2B",
      "hf": "https://huggingface.co/google/gemma-4-E2B-it",
      "arch": "dense",
      "params_total": "2B",
      "params_active": "2B",
      "quant": "q4_0",
      "size_gb": 5.0,
      "residency": "resident",
      "runtimes": [
        "llama.cpp",
        "mlx"
      ],
      "status": "candidate",
      "seats": [],
      "why": "The base model for the tagger fine-tune, and the smallest thing worth measuring.",
      "verdict": "85.8% on tagger. Notable mainly for beating its own fine-tuned descendant by 11.6 points.",
      "family": "gemma4"
    },
    {
      "id": "qwen3.6-35b",
      "name": "Qwen3.6 35B-A3B",
      "hf": "https://huggingface.co/Qwen/Qwen3.6-35B-A3B",
      "arch": "moe",
      "params_total": "35B",
      "params_active": "3B",
      "quant": "MLX 4-bit (also held as UD-Q5_K_M GGUF)",
      "size_gb": 19.0,
      "residency": "resident",
      "runtimes": [
        "llama.cpp",
        "mlx",
        "omlx"
      ],
      "status": "production",
      "seats": [],
      "why": "Tested as the fast general MoE, and used as the daily coding driver in DSH. Moved to an MLX build on 2026-09-09.",
      "verdict": "Held the speed record until 2026-09-15, when bonsai-8b-1bit measured 68.5 tok/s on a quiet box. Was: 66.4 tok/s single-stream and 193.2 aggregate at n=32, in 19GB, beating the GGUF build's 52.4. Its weakness is tool-seeking. It calls an announced tool 2/12 and an unmentioned one 0/12, so it needs if-then rules in tool descriptions to be usable agentically, and it goes to 12/12 when it gets them. Requires --tool-call-parser qwen3_coder_xml or its XML tool calls never become OpenAI tool_calls and it looks like it is ignoring every tool. In practice it drives opencode well: 75 tool calls, zero errors, because coding tools are ones the model genuinely cannot answer without.",
      "family": "qwen3.x"
    },
    {
      "id": "agents-a1-35b",
      "name": "Agents-A1 35B",
      "hf": "",
      "arch": "moe",
      "params_total": "35B",
      "params_active": "3B",
      "quant": "Q4_K_M",
      "size_gb": 21.0,
      "residency": "resident",
      "runtimes": [
        "llama.cpp"
      ],
      "status": "candidate",
      "seats": [],
      "why": "An agent-tuned MoE, tested on the tool suites where its specialism should show.",
      "verdict": "100% on tools, toolscale and epistemics at 49.4 tok/s. Three perfect scores on three suites that are now saturated, which is a statement about the suites.",
      "family": "agents-a1"
    },
    {
      "id": "qwen3-coder-30b",
      "name": "Qwen3 Coder 30B",
      "hf": "https://huggingface.co/Qwen/Qwen3-Coder-30B-A3B-Instruct",
      "arch": "moe",
      "params_total": "30B",
      "params_active": "3B",
      "quant": "Q4_K_M",
      "size_gb": 18.0,
      "residency": "resident",
      "runtimes": [
        "llama.cpp"
      ],
      "status": "candidate",
      "seats": [],
      "why": "The first coding model measured against a real coding contract rather than an extraction suite.",
      "verdict": "0/12 strict on shapegen but a mean of 0.84, blocked by one rule: it never emits @scope on any case. On sitebuild it wrote 13 files while running the build twice, then exhausted its budget with a broken tree. A workflow failure, not a knowledge gap.",
      "family": "qwen3.x"
    },
    {
      "id": "qwen38-flash-next",
      "name": "Qwen3.8-Flash-Next",
      "hf": "https://huggingface.co/Qwen/Qwen3.8-Flash-Next",
      "arch": "moe",
      "params_total": "180B",
      "params_active": "6B",
      "quant": "AD-3.84bpw M64",
      "size_gb": 79.1,
      "residency": "deleted",
      "runtimes": [
        "llama.cpp"
      ],
      "status": "deleted",
      "seats": [],
      "why": "Tested because the M64 shard layout claims to run a 180B model on 64GB by keeping a 51B n-gram embedding table on SSD.",
      "verdict": "Deleted 2026-09-09 (88 GB). Lost to REAP-60b on every suite where both were measured: screening 95.0 vs 98.3, grounding 81.6 vs 87.2, nullschema 58.3 vs 97.2, chainwalk 0/2 (reached steps 5 and 13 of 200). nullschema is abstention, so 58.3 means it fabricates on ~40% of absent-value cases - the worst weakness for accountancy extraction. It answered the question it was downloaded for (does 40s expert streaming buy better task completion?) and the answer was no. Restore notes in ~/models/RESTORE-deleted-20260909.sh. One reason to revisit: oMLX ships mlx_vlm_qwen4_exp_compat, so it may have an MLX path mlx_lm cannot offer.",
      "family": "qwen3.x"
    },
    {
      "id": "qwen3.5-122b-a10b-iq3",
      "name": "Qwen3.5 122B-A10B",
      "hf": "https://huggingface.co/Qwen/Qwen3.5-122B-A10B",
      "arch": "moe",
      "params_total": "122B",
      "params_active": "10B",
      "quant": "IQ3",
      "size_gb": 45.0,
      "residency": "deleted",
      "runtimes": [
        "llama.cpp"
      ],
      "status": "deleted",
      "seats": [],
      "why": "Tested as the largest MoE that would fit, on the assumption that more parameters would win.",
      "verdict": "Deleted during a disk sweep. Later benchmarks put a 27B dense model ahead of it on general intelligence indices, which supports the decision after the fact rather than before it.",
      "family": "qwen3.x"
    },
    {
      "id": "lfm2.5-8b-a1b",
      "name": "LFM 2.5 8B-A1B",
      "hf": "https://huggingface.co/LiquidAI/LFM2.5-8B-A1B",
      "arch": "moe",
      "params_total": "8B",
      "params_active": "1B",
      "quant": "Q4_K_M",
      "size_gb": 5.0,
      "residency": "resident",
      "runtimes": [
        "llama.cpp"
      ],
      "status": "candidate",
      "seats": [],
      "why": "Tested as an extremely sparse small MoE, 1B active, to find the floor of useful.",
      "verdict": "Measured on grounding. Its main contribution was exposing a harness bug: a 16-token gate probe starved it and two other reasoning models, producing false empty-content alarms.",
      "family": "lfm"
    },
    {
      "id": "qwen3-next-80b-reap",
      "name": "Qwen3-Next-80B-A3B Instruct, REAP pruned",
      "hf": "https://huggingface.co/mradermacher/Qwen3-Next-80B-A3B-Instruct-REAP-GGUF",
      "family": "qwen3-next",
      "arch": "moe",
      "params_total": "60B",
      "params_active": "~3B",
      "quant": "IQ4_XS",
      "size_gb": 30.4,
      "residency": "resident",
      "runtimes": [
        "llama.cpp"
      ],
      "status": "candidate",
      "seats": [],
      "why": "Tested to find out whether expert pruning costs the extraction seat its abstention. The full model holds that seat at 40 GB, which is most of the memory budget on a 64 GB machine.",
      "verdict": "It costs nothing measurable. nullschema 97.2 percent, the same 70 of 72 as the unpruned model with the same two failures. grounding within noise at 87.2 against 88.8, screening better at 98.3 against 91.7, and 41.4 tok/s against 37.7. Ten gigabytes smaller and slightly faster."
    },
    {
      "id": "btl-4-q4km",
      "name": "BTL-4 (Q4_K_M)",
      "hf": "https://huggingface.co/DogukanUrker/BTL-4-GGUF",
      "arch": "MoE",
      "params_total": "35.1B",
      "params_active": "2.1B",
      "quant": "Q4_K_M (community conversion)",
      "size_gb": 20.5,
      "residency": "resident",
      "status": "candidate",
      "runtimes": [
        "llama.cpp"
      ],
      "seats": [],
      "family": "btl",
      "why": "Fine-tuned from Ornith-1.0-35B on an execution-gated corpus: trajectories kept only where the code ran and passed. 256 experts, 8 routed, 262k native context, ~20 KB/token KV.",
      "verdict": "Best grounder and abstainer measured. nullschema 44.4% is the highest on this board by 8 points; epistemics 100%, enrichment 98.8%, grounding 76.8%. Beats ornith on toolcall (93.3 vs 80.0) and contract (70.8 vs 66.7) at 48.5 tok/s in 20.5 GB. NOT a driver replacement: worldview 55.0 against ornith's 85.0, and 0/8 on the superseded arm where ornith scores 8/8. It knows when it has nothing; it does not know when what it has is out of date."
    },
    {
      "id": "btl-4",
      "name": "BTL-4 Compact (IQ2_XXS)",
      "hf": "https://huggingface.co/badtheorylabs/BTL-4-Compact",
      "arch": "MoE",
      "params_total": "35.1B",
      "params_active": "2.1B",
      "quant": "IQ2_XXS (2.30 bpw)",
      "size_gb": 10.0,
      "residency": "resident",
      "status": "rejected",
      "runtimes": [
        "llama.cpp"
      ],
      "seats": [],
      "family": "btl",
      "derived_from": "btl-4-q4km",
      "why": "The only build badtheorylabs publish. Tested to see what an aggressive IQ codebook costs on a sparse MoE.",
      "verdict": "Rejected in favour of the Q4_K_M build. Same weights, and the quantisation alone cost 27 points of worldview and 17 of toolcall, plus 2.06x throughput (23.6 vs 48.5 tok/s). Evidence for iq-codebook-penalty-transfers-to-moe-kquant-does-not."
    },
    {
      "id": "ternary-bonsai-27b-pq2",
      "name": "Ternary-Bonsai-27B (PQ2_0)",
      "hf": "https://huggingface.co/prism-ml/Ternary-Bonsai-27B-gguf",
      "arch": "dense",
      "params_total": "26.9B",
      "params_active": "26.9B",
      "quant": "PQ2_0 (2.13 bpw, group-128)",
      "size_gb": 7.2,
      "residency": "resident",
      "status": "candidate",
      "runtimes": [
        "llama.cpp (PrismML fork)"
      ],
      "seats": [],
      "family": "bonsai",
      "why": "prism-ml's group-128 ternary pack, built for their own llama.cpp fork's hybrid-attention kernels. The upstream Q2_g64 variant lacks them.",
      "verdict": "The only model on this board at 100% toolcall. Also the best tagger of the small seats (96.2/97.9 at n=240) and best on contract (75.0). Weak where it matters for a driver: nullschema 27.8, worldview 42.5, and 0/8 on superseded. A tool executor, not a thinker. 17.3 tok/s -- dense, so it reads all 26.9B parameters per token."
    },
    {
      "id": "bonsai-27b-1bit",
      "name": "Bonsai-27B (Q1_0)",
      "hf": "https://huggingface.co/prism-ml/Bonsai-27B-gguf",
      "arch": "dense",
      "params_total": "26.9B",
      "params_active": "26.9B",
      "quant": "Q1_0 (1.13 bpw)",
      "size_gb": 3.5,
      "residency": "resident",
      "status": "rejected",
      "runtimes": [
        "llama.cpp (PrismML fork)"
      ],
      "seats": [],
      "family": "bonsai",
      "derived_from": "ternary-bonsai-27b-pq2",
      "why": "Same base as the ternary build at a more aggressive operating point. Tested to find which capabilities survive 1-bit.",
      "verdict": "Keeps tool use perfectly (toolcall 100.0, tools and toolscale 100.0) and loses structured compliance: contract 75.0 to 25.0, synthesis 66.7 to 35.0. Abstention also falls, 27.8 to 18.1. Faster than the ternary build (20.0 vs 17.3) despite the same parameter count. Three suites IMPROVED, which is unexplained and should not be trusted without a repeat."
    },
    {
      "id": "bonsai-8b-1bit",
      "name": "Bonsai-8B (Q1_0)",
      "hf": "https://huggingface.co/prism-ml/Bonsai-8B-gguf",
      "arch": "dense",
      "params_total": "8.0B",
      "params_active": "8.0B",
      "quant": "Q1_0 (1.13 bpw)",
      "size_gb": 1.1,
      "residency": "resident",
      "status": "rejected",
      "runtimes": [
        "llama.cpp (PrismML fork)"
      ],
      "seats": [],
      "family": "bonsai",
      "why": "Derived from Qwen3-8B, not the Qwen3.6-27B backbone the larger Bonsai models use. Tested as the small corner of a size-by-bit-width grid.",
      "verdict": "Fastest model on this board at 68.5 tok/s in 1.1 GB, and unusable for anything agentic: 0/60 on toolcall. It formats a tool call perfectly (toolscale 100.0) and never decides to make one -- the same failure as qwen3.8-9b-distill. Grounding 55.2 is the lowest recorded."
    },
    {
      "id": "qwen3.8-9b-distill",
      "name": "Qwen3.8-9B-Distill (Q8_0)",
      "hf": "https://huggingface.co/empero-ai/Qwen3.8-9B-Distill-GGUF",
      "arch": "dense",
      "params_total": "8.9B",
      "params_active": "8.9B",
      "quant": "Q8_0",
      "size_gb": 9.8,
      "residency": "resident",
      "status": "candidate",
      "runtimes": [
        "llama.cpp"
      ],
      "seats": [],
      "family": "qwen",
      "why": "Full-parameter distillation of Qwen3.8 2.4T A95B into the Qwen3.5-9B architecture, ~70k curated teacher traces. Tested as a cheap utility seat.",
      "verdict": "A single-turn processor, not a driver. Strong where the work is 'judge this thing I handed you': epistemics 95.8, enrichment 95.9, screening 91.7, tagger 94.4/96.3 at n=240, and synthesis 83.3 matching its 27B teacher exactly. Collapses where the work is deciding: toolcall 0/60, contract 25.0, nullschema 18.1. 30.8 tok/s in 12 GB at 64k."
    }
  ]
}