# E72-C — Real local models, task completion, measured routing

**Zero remote model calls.** No OpenAI/Anthropic/Gemini/Hugging Face/Ollama credential or endpoint exists on this
host (discovery in `artifacts/e72/models.json`). Remote providers are **BLOCKED**, not simulated.

Three real open-weight models ran on CPU with transformers: SmolLM2-135M, SmolLM2-360M, Qwen2.5-0.5B. **56
inference calls**, 2,623 input / 618 output tokens, cost **$0** (nothing billed), total ~563 s including model
loads. Every call is classified `REAL_LOCAL_MODEL`.

Scoring is deterministic task completion on 8 calibration and 8 disjoint held-out prompts (arithmetic, exact
classification, JSON extraction, negation, instruction following, code length). It is not keyword coverage.

| Model | Calibration | Held-out | Wilson 95% | Mean latency |
|---|---:|---:|---|---:|
| Qwen2.5-0.5B | 6/8 | **4/8** | 0.215–0.785 | 2.36 s |
| SmolLM2-360M | 2/8 | 1/8 | 0.022–0.471 | 1.68 s |
| SmolLM2-135M | 0/8 | 0/8 | 0.000–0.324 | 3.90 s |

Routing: P0 (fixed best) 0.50; P1 (family routing with one sample per family) **0.25** — it overfits; P2
(require ≥2 family samples, otherwise overall accuracy) **0.50**. P2 is the calibrated candidate (+0.25 vs P1,
+0.00 vs P0 on 8 prompts). This is a small-sample result, not evidence that routing beats the strongest model.

Fallback: a nonexistent model id fails (`BLOCKED`); the call recovers on a real local model and is recorded. A
provider outage endpoint is classified `BLOCKED` in the infra mission. Model output never becomes authority.
