# Model Guide

> Use when: choosing frontier model/effort for a task class (Claude Opus 5, GPT-5.6 Sol/Terra/Luna, Kimi K3 open-weight coding opt-in, Grok 4.5 Cursor repo-review opt-in). Fable 5 METERED since 2026-07-07 (off subscription, 2× Opus) — fable lanes are paid opt-ins, and the Agent tool currently can't reach Fable at all (routing bug, see Verified Transport). NOT transport flags (/llmx-guide).

- Skill: `markusstrasser/model-guide` (Agent Skill, multi-file: 11 files)
- Install (CLI): `npx skillmds@latest add markusstrasser/model-guide`
- Raw SKILL.md: https://api.skillmd.com/api/skills/markusstrasser/model-guide/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: markusstrasser (https://skillmd.com/u/markusstrasser)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/markusstrasser/model-guide

---


# Model Guide

Select between the current frontier models and prompt them correctly.

**Models covered:** Claude Opus 5 (primary Claude), Claude Sonnet 5 (cost-tier Claude), GPT-5.6 Sol / Terra / Luna (GA 2026-07-09; GPT-5.5 removed), Kimi K3 (Moonshot open-weight, 2026-07-16), and Grok 4.5 through the Cursor subscription pool. Claude Fable 5 remains a **metered opt-in** (off subscription 2026-07-07; see below).
**Last updated:** 2026-07-24 (Claude Opus 5 replaces Opus 5 as primary Claude default).
**Active stance:** This skill no longer maintains a broad model zoo. Older GPT, Gemini, Grok-4.20-and-earlier, and Sonnet-4.6-and-earlier routes were removed from active guidance. Sonnet 5 is reinstated as a named, cost-tier Claude option (2026-06-30). Grok 4.5 is an opt-in read-only repo critique lane through exact Cursor slugs; the xAI API path remains separate and blocked/unverified locally. Use this guide for high-value frontier decisions; use repo-specific batch tooling or search tools for cheap bulk work.

**OPEN QUESTION (2026-06-30, not yet resolved — operator call):** the "Architecture / design / high-reasoning critique → NEVER Sonnet" verdict below was reached against Sonnet 4.6 on 2026-06-20. Sonnet 5's system card shows large agentic/coding gains and prompt-injection robustness tying or beating Opus 4.8 in several places, but also the *worst* prefill/system-prompt-susceptibility numbers of the compared models and measurably more turns/tokens per task (system-card digest: `references/sonnet-5-system-card.md`). Whether this changes the "NEVER Sonnet" verdict for architecture/critique work is a live question, not re-litigated here — the verdict stands until the operator revisits it.

**Claude Fable 5 — status (2026-07-12).** Off the claude.ai Pro/Max/Team subscription since 2026-07-07: continued access is priced at metered usage credits, $10/$50 per MTok (2× Opus 5) — press/pricing-page sourced (techtimes.com, bleepingcomputer.com, claude.com/pricing); reconciliation against observed usage is open, see Verified Transport below. Fable is reachable via `llmx chat -m claude-fable-5` (claude-cli transport, confirmed working) and headless `claude -p --model claude-fable-5` (confirmed 2026-07-04) — **not reliably via the Agent tool**, where `fable-high`/`fable-low`-style dispatches currently serve `claude-sonnet-5` regardless of the pin (measured 2026-07-12, see Verified Transport — this is a mechanism bug, not a re-dormancy). Route gated/briefed/review dispatch to **opus-low** ($0 subscription); reach for Fable (via llmx, not the Agent tool) only with a named Fable-specific capability-edge justification over Opus `max`. Re-license trigger: Anthropic restores Fable to subscription plans.

**Opus 5** (`claude-opus-5`) is Anthropic's active top-tier model (released 2026-07-24): near-Fable intelligence at Opus price ($5/$25), 1M context, adaptive thinking on by default, SOTA on Frontier-Bench / GDPval-AA / ARC-AGI 3 / AutomationBench / OSWorld 2.0 cost-efficiency. Default for hardest Claude work, security/cyber/biology (Fable bio blocks now route here), and cross-lab review. **Architecture → `max` effort.** Keep `claude-opus-5` only as the documented cyber-classifier fallback target.

## Verified Transport — what actually serves what (as-of 2026-07-14)

Routing *judgment* (which model you want) and routing *mechanism* (whether the lane you dispatch
to actually delivers that model) are different questions — this table is the second one, and it
currently has a serious hole. Re-verify any row before a tier-sensitive decision leans on it;
mechanisms drift faster than judgment.

| Lane | Actually serves | Status | Evidence / rederive |
|---|---|---|---|
| **Agent tool, any `subagent_type`, WITH an explicit `model:` param or agent-def `model:` frontmatter** (`fable-high`, `fable-low`, `opus-low`, custom agents) | **`claude-sonnet-5`** — the pin is silently ignored | **MEASURED, BROKEN — RECONFIRMED 2026-07-19 at scale** | arc-agi session 41f9b649, 2026-07-12: fable pin **5/5 self-reports**; opus pin **1/1**. **Re-measured 2026-07-19 (arc-agi team-lead 6f4a8626): explicit `model:"fable"` param → sonnet-5; explicit `model:"opus"` and hook-injected opus → sonnet-5 on every checked dispatch (raw-readers, builders) — ~15/15 cumulative. The Agent tool is currently a sonnet-only surface, full stop.** **[SUPERSEDED FOR OPUS PINS 2026-07-29: hook-injected `model:opus` → `claude-opus-5[1m]` self-reports 5/5 across five independent Agent-tool lanes in one night (arc-agi session e863d547: kaggle-envelope, negatives-audit, reasoning-study, routing-ab-rerun, harvest — each read back from a first-line self-report). Opus pins are HONORED on this evidence; the sonnet-only claim is STALE for opus. FABLE pins remain UNMEASURED since 07-19 — the verified-fable-dispatch two-stage llmx protocol stays in force for Fable until a fresh fable-pin probe. Grader-continuity consequence, live example: the 07-29 attack-routing rerun's grader served opus-5 where the 07-25 pass served sonnet-5, so its 0.875-1.000 replication band is cross-grader-MODEL agreement — confidence capped in that memo.]** Frontier-agent alternative VERIFIED same day: headless `env -u ANTHROPIC_API_KEY claude -p --model claude-opus-5` self-reports opus correctly (key-strip mandatory — with ANTHROPIC_API_KEY set it bills API and can fail "Credit balance too low"). Rederive: open the dispatch with "self-report your model ID from your own environment-info block, first line," read the answer back. |
| Agent tool, no `model:` param (bare `general-purpose` etc.) | `claude-sonnet-5` (`CLAUDE_CODE_SUBAGENT_MODEL`) | MEASURED, **correct** — this is the documented default, not the bug above | 2026-06-29 finding, unchanged |
| `llmx chat -m claude-fable-5` (claude-cli transport) | **Genuinely Fable** | MEASURED | `~/.claude/llmx-usage.jsonl` — 18 real completions through 2026-07-12 (e.g. 34,385 completion tokens at `reasoning_effort: max`). `grep claude-fable-5 ~/.claude/llmx-usage.jsonl \| tail`. **Currently the only proven way to guarantee Fable.** |
| Headless `claude -p --model claude-fable-5` (key-stripped) | Genuinely Fable | MEASURED (2026-07-04, arc-agi ebbeff04) | Dispatches and completes; not re-verified since — re-probe before relying on it for a batch. |
| `llmx chat --subscription -m claude-opus-5` / `-m gpt-5.6*` | Named model | Config-level, not self-report-verified | `~/.claude/cache/llmx-routing.json` `lite_allowed_models` confirms *routable*; llmx has no built-in "ask the model who it is" check yet. |
| `cursor-agent --model cursor-grok-4.5-high --mode ask --workspace <repo>`; llmx exact `cursor-grok-4.5-*` slugs | Grok 4.5 through Cursor subscription | **MEASURED, CURRENT** (2026-07-14) | Live registry exposes low/medium/high plus trailing `-fast`; named high smoke and an unrevealed exact repo-HEAD canary passed. Critique preflight enforces registry + canary before dispatch. Bare `grok-4.5` remains xAI API, never Cursor subscription. |
| codex-cli / `llmx --subscription -m gpt-5.6*` | `gpt-5.6` family | MEASURED | `gpt-5.5` retired from the subscription allowlist 2026-07-10 (exit 2 on attempt) — don't route or price it anywhere. |

**Until the Agent-tool bug is fixed:** any Agent-tool dispatch where the model tier is
load-bearing (a cost claim, an eval arm, a "frontier vs cheap" comparison) needs a one-line
self-report opening the brief, read back before trusting the result. One line catches a silent
tier swap that otherwise bills or behaves as the wrong model.

**Fable cost status is unreconciled, not merely unverified:** the "$10/$50 metered" claim is
press/pricing-page sourced; the llmx usage log shows `claude-cli`-transport Fable calls
completing normally (large completions, zero errors) through 2026-07-12, after the cited
cutoff, and the log has no cost/auth-mode field to say which billing path fired. Whether Claude
Code's own OAuth entitlement is a separate pool from the claude.ai Pro/Max/Team plans the press
covered is **unverified (2026-07-12)** — check actual Console billing before a batch decision
hinges on "still $0" or "now expensive."

## Default Routing

Judgment below assumes the lane you dispatch to actually delivers the named model — confirm that against Verified Transport above before trusting a routing choice for a tier-sensitive dispatch.

| Situation | Use | Why |
|---|---|---|
| **Most headless/dispatch tasks — the default cheap lane** (extraction, triage, ticks, bulk classification, mechanical audit) | **GPT-5.6 Luna via codex-cli subscription** (`llmx chat --subscription -m gpt-5.6-luna`), effort `low` (mechanical/bulk) or `medium` (general) | Operator directive 2026-07-14: $0 on the ChatGPT plan; replaces the Gemini cheap tier (Gemini is critique-only — agent-infra `decisions/2026-07-14-gemini-critique-only-policy.md`). `shared/llm_dispatch.py` profiles `fast_extract`/`cheap_tick`/`observe_bulk`/`gpt_general`/`mechanical_review` all route here. |
| Hardest / longest / most-ambiguous Claude work: multi-day autonomous runs, codebase-scale migrations, first-shot on complex well-specified systems, dense-image vision, architecture | **Claude Opus 5** (`max` for architecture) | Active Claude frontier. Fable metered at 2× Opus (off-subscription 2026-07-07) — Opus keeps all default Claude routing. Pair GPT-5.6 Sol for cross-lab on the hardest judgment calls. |
| Routine/cost-sensitive coding, security review, cyber, lab/molecular biology | **Claude Opus 5** | Same model — use lower effort (`low`/`medium`) when the brief has mechanical gates. |
| Codex/terminal-heavy implementation, tool loops, structured API work | **GPT-5.6 Sol** (or **Luna** for everyday/cost) | GPT-5.6 suite GA 2026-07-09. Sol = flagship; **Luna ≈ prior GPT-5.5 perf at ~1/10 that price** ($0.20/$1.20 since the 2026-07-30 cut; Terra $2/$12); Terra = mid opt-in. Effort includes `max`. |
| Quantitative proof, calibration math, hard science/data derivation where mistakes compound | **GPT-5.6 Sol** + API `reasoning.mode=pro` (or ChatGPT Sol Pro) | No separate `gpt-5.6-*-pro` slug — Pro is a reasoning *mode* on Sol/Terra/Luna at the same $/MTok (more tokens). Use when the answer will be checked. |
| Cross-model review | **Opus 5 + GPT-5.6 Sol** (Luna OK for routine critique) | Different labs, different failure profiles. Keep the review cross-lab; do not use same-instance self-review as the sole adversarial pressure. PLAN packets get repo-grounded premise falsification from the built-in Composer scout. |
| Architecture / design / high-reasoning critique | **Opus 5 `max` + GPT-5.6 Sol — NEVER Sonnet** | Operator 2026-06-20: architecture → Opus **`max`**. Sonnet is for search + bug-fixes only. A sonnet-thinking arch critique built a confident "HALT, reverse the spine" conclusion on a *search-error false premise*; Opus + GPT-5.6 got it right. For codebase-coupled decisions, rely on the review gate's repo-grounded Composer premise scout before packet-only critics. |
| Agentic SaaS / multi-tool workflows (AutomationBench-shaped) | **Opus 5 or GPT-5.6 Sol** | Grok led the historical model screen, but the verified local Cursor admission currently covers read-only repo review, not autonomous write/tool workflows. |
| Current facts, quotes, prices, law, news | **Tools first, then model synthesis** | Every model card still shows factuality limits. Retrieval/database truth beats frontier recall. **Not Grok alone** — AA-Omniscience non-hallucination ~46% (mid-pack; worse than Opus 4.8 64% / GLM 72%). |

## Quick Selection Matrix

| Task | First choice | Escalate / pair when |
|---|---|---|
| Agentic coding | Opus 5 (high effort) | Drop to `low` effort when brief has mechanical gates; use GPT-5.6 Sol/Terra when terminal/Codex-heavy. |
| Codebase-scale migration / multi-day autonomous run | Opus 5 (`xhigh`/`max`) | Keep human checkpoints at irreversible boundaries. |
| Security review, exploit/vuln work, cyber, molecular biology | Opus 5 | Active Claude default for classifier-sensitive work (formerly Fable-refusal domain). |
| Debugging messy repo state | GPT-5.6 Luna or Sol | Pair with Opus if the fix requires architectural judgment. |
| Architecture decision | **Opus 5 `max`** | Send the selected proposal to GPT-5.6 Sol for independent cross-lab critique; use the built-in premise scout for repo-grounded checks. |
| Quantitative audit / CritPt-hard physics | GPT-5.6 Sol (`max` / pro mode) | Grok CritPt **15%** — weak; do not route hard derivation here. |
| Long-context document/repo synthesis | Opus 5 or GPT-5.6 Sol/Terra | Both 1.05M-class. Grok API context is **500k** — prefer Opus/GPT for >500k. |
| Browser/computer use | Opus 5 or GPT-5.6 Sol | Both strong; Fable vision-SOTA notes apply once it's reachable via a lane that isn't paid-metered or Agent-tool-broken. |
| PLAN critique needing repo falsification | **`/critique model` with its default premise scout; add opt-in `grok` for an independent repo cosigner** | Composer checks callers/joins by default; Grok high adds a separately preflighted read-only repo pass when the extra axis is worth the latency. |
| Letter-exact output constraints (exact counts, rigid templates, banned words) | Schema/validator enforcement, any model | Never rely on prose compliance — Claude family is measurably weakest at mechanical constraint-following (IFBench 62–63 vs GPT-5.6-class 76, bottom-5 of 27). Construct caveat: IFBench is majority adversarial-synthetic and high scores trade against answer quality, so this is a weak GPT preference for unschematizable cases, not a routing rule. |
| Claim verification | Neither alone | Use primary sources and deterministic checks; use models to summarize evidence, not to establish it. |
| Contradictory / impossible spec, epistemic guardrails | **Opus 5** or **GLM-5.2** (opt-in) | GPT family historically weak on abstention (re-measure GPT-5.6 TBD); DeepSeek V4 (~6%). Grok ~46% — mid-pack, **not** a calibration pick. More reasoning tokens does not fix paradox blindness — see trilemma section. |

For full score tables, read `references/BENCHMARKS.md`.

## Selection trilemma (capability × calibration × efficiency)

Benchmark **capability** (Intelligence Index, SWE scores) and **parameter count** are weak proxies for real-world usefulness. They often **invert** on **calibration** — whether a miss is an abstention or a confident fabrication — and on **efficiency** — tokens/time to reach a correct or honest answer.

| Axis | What it measures | Routing mistake |
|---|---|---|
| **Capability** | Closed-set benchmark scores, index composites | Picking the #1 index model for every task |
| **Calibration** | Share of wrong answers that abstain vs confabulate (AA-Omniscience non-hallucination) | Treating critique reasoning as fact because the model is "smart" |
| **Efficiency** | Tokens, latency, $ to a verified outcome | Escalating reasoning effort on a poorly calibrated model |

**Settled ordering on calibration (AA-Omniscience, misses only, abstention invited):** GLM-5.2 **72%** non-hallucination → Opus 4.8 **64%** → Grok 4.5 **~46%** / Fable 5 **45%** → prior GPT class **14%** (re-measure 5.6) → DeepSeek V4 **~6%**. Capability ordering is nearly the reverse (Grok Intelligence Index **54**, near Opus 56). A multi-trillion-parameter model can score at the top of an index and still be the worst choice when the task needs "I don't know" or detection of an impossible/contradictory spec.

**Reasoning budget is not monotonic.** On badly calibrated models, more reasoning often buys longer confident wrong answers, not better ones. Anecdotal corroboration (Shrimpton 2026-06-18, n=1, high effort, temp 1): an impossible asyncio event-loop spec — DeepSeek V4 Pro ~7.7k reasoning tokens, 3m52s, full wrong implementation; GLM-5.2 ~800 tokens, 12s, correctly flagged the paradox. Don't throw `xhigh`/`max` at poorly calibrated GPT or DeepSeek for epistemic guardrails; use Opus, GLM (opt-in), or deterministic impossibility checks.

**Consumer rule:** match model to the axis that matters for the task — capability for gated mechanical work with a verifier; calibration for unsourced facts, paradox detection, and "should we even do this?"; efficiency for throughput. Never select on size or index rank alone.

## Transport facts (llmx — not judgment)

**Read before dispatch:** `~/.claude/cache/llmx-routing.json` (regenerate: `llmx info --write-mirror`). Transport table, effort maps, exit classes live there — not in this skill.

**Claude policy:** NEVER `anthropic-direct`/API by default. Subscription only (`llmx chat --subscription`, `claude -p` with key stripped, Agent tool) unless the user explicitly requests metered API billing.

**Probe subscription path before critique batches:**

```bash
llmx chat --dry-run --subscription -m claude-opus-5 -e max
# or: uv run python3 ~/Projects/skills/critique/scripts/model-review.py --preflight
```

Mechanics and footguns: `/llmx-guide`.

## llmx Cosigner / Dispatch Defaults (judgment — transport in mirror)

- **Cosigner / critique / synthesis:** `gemini-3.5-flash` (inverted from 3.1 Pro 2026-05-24, operator-empirical; re-confirmed 2026-06-13 — flash-3.5 ≈ GPT-high ≫ 3.1-pro on the ADR-0009 spine critique). **Always in the 2G+2GPT mix — never the only reviewer.** Probe flags invention on clean packets; orchestrator dispositions via `--extract --verify` (see agentlogs evidence).
- **Cheap classification / mechanical audits:** `gpt-5.6-luna` at `low` via codex-cli subscription ($0). ~~gemini-3-flash / flash-lite~~ — Gemini is critique-only since 2026-07-14 (metered gemini-* refuses outside the /critique engine; agent-infra `decisions/2026-07-14-gemini-critique-only-policy.md`).
- **GPT-5.6 default effort is `medium`** (suite supports `max` beyond `xhigh`) — pass `-e high`/`xhigh` for depth; reasoning bills as output.
- **GLM-5.2 (Z.ai, NEW LAB) = opt-in review cosigner, NOT an extractor (2026-06-19).** A 4th independent training lab (Zhipu) → real cross-lab diversity for critique; request explicitly `--axes …,glm` (`glm_review` profile, routed via OpenRouter). **Calibration edge:** 72% AA-Omniscience non-hallucination (2026-06-18 independent read) — best among commonly-routed large models, ahead of Opus 4.8 64%; strong on impossibility/paradox detection in anecdotal coding probes. Accepts ONLY `high`/`xhigh` reasoning (no low tier) → structurally expensive+slow → **rejected for high-volume extraction/ingestion** (cost-dominated, no quality gain; keep gpt-5.3/gemini-3-flash). Match reasoning floor to task: GLM for occasional thorough review and epistemic guardrails, not throughput. See `agent-infra/decisions/2026-06-19-glm-5.2-integration.md`, `evals` DECISIONS `glm-5.2-extraction`.
- **Grok 4.5 is routable through Cursor subscription as of 2026-07-14.** Use exact `cursor-grok-4.5-{low,medium,high}` or matching trailing-`-fast` slugs. The opt-in critique `grok` axis pins `cursor-grok-4.5-high` in a read-only repo workspace and fails closed on registry or unrevealed repo-canary drift. The bare `grok-4.5` xAI API lane remains separate.
- **Gemini 3.6 Flash / 3.5 Flash-Lite (launched 2026-07-21) are REGISTERED, NOT ROUTED (2026-07-22).**
  Live API ids `gemini-3.6-flash`, `gemini-3.5-flash-lite` (GA, no `-preview` suffix; verified
  against `models.list`, not guessed). Registered in llmx (`652d1ed`) purely so the spend guard
  stops refusing them as *unpriced* — **the 2026-07-14 critique-only policy is unchanged and no
  default moved.** Prices (verified at ai.google.dev/gemini-api/docs/pricing 2026-07-22):
  3.6 Flash **$1.50/$7.50**, 3.5 Flash-Lite **$0.30/$2.50**, 3.1 Flash-Lite **$0.25/$1.50**.
  Same pass corrected two badly stale entries — `gemini-3-flash` was priced in llmx at $0.075/$0.30
  against an actual **$0.50/$3.00**, so cost dashboards were understating Gemini ~7-10x. Note
  3.5 Flash-Lite is **6x input / 12.5x output the price of 3.1 Flash-Lite** — the "Lite" tier is no
  longer a rounding error. Effort ladders probed live: 3.5-Flash-Lite accepts `minimal`,
  3.1-Flash-Lite **rejects** it (do not pin `minimal` on the older one).
- **Do NOT reach for Flash-Lite as the cheap extraction lane — `gpt-5.6-luna` stays it.** Luna is
  **$0 on the ChatGPT subscription**; Flash-Lite is metered under a policy that only permits
  /critique. A metered lane cannot beat a $0 lane on cost, so Flash-Lite would have to win big on
  quality, and our own screening probe says it does not (see below).
- **Open, operator's call — 3.6 Flash as the /critique cosigner in place of 3.5 Flash.** Strictly
  cheaper on the one lane Gemini is still allowed on: **$7.50 vs $9.00 output** *and* a vendor-claimed
  ~17% output-token reduction, i.e. roughly -30% on cosigner spend. NOT changed unilaterally — the
  `gemini-3.5-flash` cosigner default was set operator-empirical (2026-06-13, re-confirmed), and a
  vendor claim is not evidence that it reviews as well. Swap is one line in the critique axes.
- **`llmx vision` is multi-provider as of 2026-07-22 (llmx `2b12289`) — it used to be Gemini-only
  and off-ledger.** It now routes through the normal dispatch path, so `-m` takes any
  vision-capable model id (`gemini-3.6-flash`, `gpt-5.6-sol`, `gpt-5.6-luna`, `claude-opus-5`),
  provider is inferred, and `-e` effort works. Three consequences worth knowing:
  (1) it is **spend-guarded and policy-gated** like everything else — a Gemini vision call now
  needs `LLMX_GEMINI_OK=1`, where it previously dispatched freely;
  (2) it **writes real token counts to the usage ledger**, so vision cost no longer has to be
  estimated (evals/figure_vision_bakeoff had been substituting a `len(response)/4` proxy);
  (3) media **fails loud** rather than being dropped — video to an OpenAI-compat endpoint, an
  oversized inline upload, or any media sent through a CLI transport (claude-cli/codex/cursor)
  raises, because a model asked about a figure it never received invents an answer.
  Footgun retained for back-compat with the documented convention: in `llmx vision`, `-p` is the
  PROMPT, not `--provider` (use `--provider` to override the inferred one).
  **This unblocks a cross-family vision judge**, which the figure-vision eval previously could not
  have — its qualitative judge was Gemini-flash grading a Gemini-flash candidate, a same-family
  COI it documented as forced by the tool. Pass `--judge gpt-5.6-sol` there now.
- **`gemini-3.1-pro-preview` is RETIRED as a routing option (2026-06-13, operator).** Do not route here for critique/synthesis/review — flash-3.5 dominates and is cheaper/faster. (Benchmark records in `references/BENCHMARKS.md` are kept as evidence; this is a routing retirement, not a data scrub. Callable via explicit `-m` if a one-off ever needs ARC-AGI-2/GPQA/video, but it is not a default anywhere.)
- **Cosigner calibration caveat (AA-Omniscience, 2026-06-11):** both cosigner defaults are bottom-quartile abstainers — non-hallucination 39% (`gemini-3.5-flash`), prior GPT class 14% (re-measure Luna/Sol TBD), despite an abstention prompt. Critique output = adversarial pressure on reasoning, never a fact source; **for fact-heavy review where calibration matters, verify novel specifics at primary and lean on a frontier model (Opus/GPT), not a cheap cosigner.** Instruments: agent-infra `research/2026-06-11-aa-benchmark-instrument-validity.md`.

## Dispatch Economics (subagent executor tiers)

When dispatching subagents to execute work (Agent tool, headless `claude -p`, codex), the executor tier is set by **how good the verifier in the brief is**, not by how hard the task feels. Measured evidence: four preregistered evals, anim-workbench 2026-06-12 (`anim-workbench/.claude/evals/2026-06-12-{dispatch-tier,effort-tier,codex-lane,effort-integration}/`), all n=1 per arm (screening grade).

| Work shape | Executor | Evidence / boundary |
|---|---|---|
| FULL brief + mechanical gates (tests, typecheck, deterministic verify script) — greenfield OR port/re-author against an existing oracle | **Opus 5 effort low, or codex reasoning-low ($0)** | Effort-tier: low matched medium on all 5 gates at 0.59× tokens. Effort-integration (the pre-registered replication): low matched DEFAULT on an integration-shaped port — same gates, independently convergent design decisions, 0.574× tokens. Codex-lane: GPT reasoning-low passed all gates at $0 (subscription) and resolved a self-contradictory brief *within spec*. Revocation trigger (registered): first cheap-lane gate failure on a task classified fully-briefed → fall back to default effort for that class + record. |
| Design-from-scratch integration, no oracle to check against | **Opus 5, default effort** | The effort-integration license covers port/re-author shapes only (its own caveat: "ports are the friendliest integration shape"). Dispatch-tier still holds: Sonnet 4.6 changed the measurement procedure under gate pressure until the gate passed (reward-hacking-shaped); Opus was deviation-free. "Opus is token-efficient so cheaper" was REJECTED (~2.4× Sonnet cost) — the premium buys spec fidelity, not efficiency. |
| Mechanical no-gate tasks (rename sweeps, boilerplate) | **Claude Sonnet 5** (`claude-sonnet-5`) or haiku tier | Cheap and gameable-gate risk is moot when there's no gate to game. (Row previously said "Sonnet/haiku tier" with no live model — resolved 2026-06-30 now that Sonnet 5 exists.) |
| Cost-sensitive coding/agentic work WITH a mechanical gate (tests, typecheck) — not architecture | **Claude Sonnet 5**, default effort | System card: beats Sonnet 4.6 broadly, ties Opus 4.8 on several real-world benchmarks (Real-World Finance, GDPval-AA), at ~40-60% of Opus 5's per-token price. Runs more turns/tokens per task than Opus though — re-measure cost on your own workload before assuming the $/token saving holds end-to-end. |
| Search/read fan-out | Explore agent | No executor risk; output is consumed, not shipped. |
| Partial/noisy verifier (research synthesis, memos, judgment-coupled work) | **Don't downgrade** — frontier model, normal effort | The Sonnet finding gets WORSE here: gate-gaming in regime-2 is exactly what you can't detect cheaply. Verifier-conditioned scope (constitution) applies. |
| Judgment gaps in the spec | Yourself / Opus 5 | Cheap executors fill ambiguity with guesses; the savings are repaid as corrections. Codex-lane's reasoning-HIGH arm is the same lesson from the other side: on a spec-complete task, more reasoning bought one extra unnecessary spec deviation, not better conformance — spec + gates do the thinking, so buy reasoning only where the spec leaves thinking to do. |

**Every row above assumes the lane delivers the named model** — false for Agent-tool pins as of
2026-07-12 (Verified Transport). Self-report-check any row where the tier is what's being measured.

### Role → Lane (dispatch execution roles)

| Role | Current-best lane | Cost class | Evidence |
|---|---|---|---|
| **Synthesis** (open design problem, no oracle) | Opus 5 `max` | $0 subscription | Fable's synthesis edge is real (2026-06-12 fable-effort-architecture eval, low missed the orthogonal factoring high shipped) but currently unreachable via Agent tool — llmx-only, paid, until the routing bug is fixed. |
| **Briefed execution** (full brief + mechanical gates) | `opus-low` or codex reasoning-low | $0 subscription | anim-workbench 2026-06-12 effort-tier/effort-integration/codex-lane (low ≈ medium/default, 0.57-0.59× tokens). |
| **Review / cosign** | Opus 5 + GPT-5.6 Sol, cross-lab; opt-in GLM-5.2 or Grok-4.5 axis | $0 subscription (+~$0.30-1/call opt-in) | `evals/DECISIONS.md` `cross-lab-review-margin` (margin≈0, count-delta real); GLM decision 2026-06-19. |
| **Research / literature** | Cross-model fan-out by default: codex (`--lite research`) + Claude researcher — not single-model | $0 subscription | arc-agi feedback 2026-07-07: codex arm found a paper (PRISM, 2605.26998) the Claude arm missed. |
| **Scout fan-out** (parallel audits/debug scouts) | Cross-model default, concurrency-capped ≤2 concurrent opus subagents / ≤2 concurrent model workers each, else sequential | $0 subscription | arc-agi feedback 2026-07-08: 4 concurrent opus agents × openrouter fan-out (28-way) killed 3/4 mid-run — opus session-limit + provider contention, both real ceilings. |
| **OS-student serving** (open-weight model as trainee/actor under test) | Project-specific — measure, don't assume | GPU $/hr | Example only, not a universal verdict: arc-agi killed mistral-small-3.2-24B as an OS-tier base (dominated on every axis, 2026-07-11), rehabbed qwen3.6-27b via a no-think serving config, kept gemma-4-31B alive. Check your own project's standing-kills doc before reusing a verdict cross-project. Serving mechanics: `/modal` skill. |

**Codex lane mechanics** (from codex-lane eval): `codex exec --full-auto -C <out-of-repo-worktree> -c model_reasoning_effort="low"` — the `-c` override is verified per-invocation (resolved effort confirmed in rollout logs). Gotchas: pre-install deps (the *shell* sandbox has no network); `git commit` fails inside worktrees (gitfile points outside workspace) — grade the dirty tree, commit from outside; require a final-message manifest (the `-o` empty-output gotcha).

**Codex as a research/work subprocess** (verified 2026-06-18): codex carries the **same skills + MCP stack** as Claude (`~/.agents/skills/`, `~/.codex/config.toml`) — invoke a skill in the prompt via its `$name` keyword (single-quote the prompt). **Network-backed MCP tools (research-mcp, exa, brave, scite) DO work under `--full-auto`** — MCP servers are separate processes, so the shell-sandbox "no network" gotcha above does NOT apply to MCP calls. So a codex worker can do real (not training-memory) research and write its own memo, at $0 on the subscription. Full pattern — `$skill` invocation, canary-first discipline, stub-first/intern-rule briefs, the `commit`-word hook false-positive, benign MCP-teardown noise, llmx-is-not-the-vehicle: **`references/codex-subprocess-dispatch.md`**.

**The conditioning rule:** low effort doesn't mean less verification — both eval arms ran every gate *because the gates were written in the brief*. Self-initiated checking is what higher effort buys; an explicit verifier in the brief makes that purchase unnecessary. So the brief MUST carry: verification commands (exact, runnable), cleanup directives (worktree/scratch teardown), and a files-touched manifest requirement. A cheap executor on a gate-less brief is the worst quadrant.

**Intern rule (gate-less delegation):** exploratory, divergent, or conceptual dispatches (research sweeps, brainstorms, design options, synthesis) have no mechanical gate to put in the brief — so the coordinator's review IS the gate. Treat the return like an intern's draft: don't re-do the work, but spot-check it before adopting. Concretely: re-run 1-2 of its load-bearing probes/citations yourself, check one claimed source actually says what's claimed, run the completeness check (does every input appear in the output, are dropped items justified), and ask what the brief would have rewarded the agent for skipping. Scale the spot-check to stakes — a brainstorm needs a sniff test, a synthesis feeding a decision needs the citation check. Skipping this turns "delegate" into "launder": unverified subagent output adopted wholesale is the same failure as adopting cross-model critique without cosigning.

**Effort knob mechanics:** the Agent tool exposes only `model:`. Per-dispatch effort exists via (1) headless `claude -p --model opus --effort low` (verified working, CLI 2.1.175; background Bash + `--output-format json` for usage), or (2) `.claude/agents/*.md` frontmatter `effort:` (does NOT hot-register mid-session — usable only in later sessions). Codex/GPT cheap cosign via llmx `--subscription` is $0 — probe with `--dry-run --subscription` first; transport table in `~/.claude/cache/llmx-routing.json`.

**Agent-tool DEFAULT model is NOT the session model (2026-06-29).** `general-purpose`/most subagents default to **`CLAUDE_CODE_SUBAGENT_MODEL`** (now `claude-sonnet-5` — Sonnet 4.6 RETIRED 2026-07-07, never route to it), NOT the parent's Opus. A bare `Agent(...)` with no `model:` runs Sonnet 5 — fine for bounded work, a **tier silently-wrong trap when the dispatch IS the measurement** (an eval baseline, a "frontier agent" arm). **The previously-recommended fix — pass `model:` explicitly, then `grep '"model"'` the transcript — is not proven sufficient as of 2026-07-12:** the newer bug (Verified Transport) shows a pin can be requested and still not be served, and whether transcript-grep reflects the request or the actual serve is untested (ASSUMPTION: probably the request, since that would explain why grep-verification didn't already catch this). Require a first-line self-report instead — the one channel confirmed to reflect the true served model. Second footgun, same 2026-06-29 session: an open-ended "be exhaustive" prompt to `general-purpose` triggered **sub-delegation + stall** (6 children spawned, "I'll pause here," 72K tokens burned, nothing delivered) — for bounded research dispatches, **explicitly forbid delegation**.

**External validity:** all four evals are regime-1 (clear mechanical verifiers — tsc, deterministic scripts, numeric oracles) and screening-grade (n=1/arm). Only within-eval contrasts are clean — cross-eval comparisons are confounded by task, brief density (briefs improve as the author learns, flattering later arms), and harness (codex carries MCP servers + sandbox; opus arms ran bare). Every cheap-lane verdict is conditional on the dispatch-time classification "fully-briefed + mechanically gated" being honest — nothing here licenses cheap lanes for judgment-shaped or incomplete-spec work. The greenfield→integration replication trigger from the morning run is SATISFIED (effort-integration, port shape); the standing revocation trigger replaces it.

**Reasoning escalation guard (calibration × effort):** the cheap-lane evals show *less* reasoning is fine when the verifier is in the brief. The inverse also holds outside regime-1: escalating effort on poorly calibrated models (GPT family until re-measured, DeepSeek V4) on paradox/impossibility or unsourced-fact tasks tends to produce more confident fabrication, not more abstention — see Selection trilemma. Effort buys depth only where calibration is already adequate (Opus, GLM for review).

## Claude Opus 5 - "Near-Fable daily driver" (primary Claude)

**Use for:** all active Claude frontier work — hardest autonomous runs, codebase-scale migrations, architecture, code review, security/cyber/biology, professional analysis, legal/financial reasoning, long autonomous loops, and cross-lab critique. Keeps Fable-tier routing by default: Fable is metered+paid and unreachable via the Agent tool (Verified Transport), so Opus is the practical default even where Fable might otherwise win on capability.

**Operational specs:** `claude-opus-5`, 1M context (default = max), 128K max output (300k batch beta), **$5/M input and $25/M output** (same as 4.8). Fast mode ~2.5× speed at 2× price ($10/$50). Adaptive thinking on by default; effort default `high` on API/Code. Knowledge cutoff **May 2026** (training). **Subscription-routable** (`lite_allowed_models`). Cyber-classifier refusals can auto-fallback to `claude-opus-4-8`; bio refusals on Fable now route here.

**Launch routing line (2026-07-24):** near-Fable capability at half Fable's price; Anthropic claims SOTA on Frontier-Bench, GDPval-AA, and best cost-efficiency on OSWorld 2.0 / AutomationBench / ARC-AGI 3 (≈3× next-best). Efficiency at `low`/`medium` effort is a real lever — re-sweep effort defaults. **Most aligned** of recent Claude models on Anthropic's automated behavioral audit (misalignment score 2.3). Prompting deltas vs 4.8: longer default verbosity (prompt for concision), stronger self-verification (remove redundant "verify again" scaffolding — it over-verifies), more subagent-eager (cap delegation), thinking-disabled capped at `high` effort. Digest: [references/opus-5-system-card.md](references/opus-5-system-card.md). Prior 4.8 card kept for calibration history: [references/opus-4-8-system-card.md](references/opus-4-8-system-card.md).

**Two shape-changes the launch line misses** (system card §8.12 / §8.2 / §2.2 — read 2026-07-25, `agent-infra research/2026-07-25-opus5-arc-agi-generalization.md`):

- **Tools beat effort — spend the budget there first.** §8.12 verbatim: *"agentic tool-use is generally a more cost-effective method of scaling test-time compute than adaptive thinking by itself."* Before raising a dispatch one effort tier, give it a verification command / probe / read-back tool instead — cheaper **and** stronger. This is a *cost* lever, not only a quality one.
- **Attach the image.** SWE-bench Multimodal 38.4→**59.4 (+21pp)** is the single largest coding delta in the release; OSWorld 2.0 +15pp. Screenshot-the-render / plot / broken-UI and hand it the source, instead of describing the visual defect in prose. Applies to rendered frames, QC plots, dashboards, CAD.
- **Its exploration gain is verifier-conditioned — this is the liveness rule.** ARC-AGI-3 1.5→30.2 (20×, dense per-action score) sits in the same card as §2.2, where two Opus 5 arms of a 24h autonomous design campaign delivered nothing and one **went silent for its final 8 hours in self-verification loops** (no in-loop verifier). Give any long autonomous run a per-step check it can score against, and bind completion to an advancing artifact — a live PID proves the process runs, not that it progresses.

**Prompting and API rules:**
- Use XML tags; adaptive thinking explicit (`thinking:{"type":"adaptive"}`); no manual `budget_tokens`.
- Default effort `high`; **`max` for architecture/design/high-reasoning critique** (operator 2026-06-20); `xhigh` for serious coding/review/long agentic work; `low` for gated mechanical dispatch (see Dispatch Economics).
- **Measured effort curve (Artificial Analysis, 2026-07-25) — `max` is a poor default:** AA Intelligence Index by effort — low **51** ($556 / 12M out-tok), medium **56** ($1,115 / 29M), high **59** ($1,974 / 52M), max **61** ($3,836 / 100M). low→max = **+10 points for 6.9× cost**; **high→max = +2 points for +$1,862**. At max AA flags it *"very verbose"* (100M vs 63M median); at high, *"fairly concise."* With §8.12 (tools scale test-time compute better than thinking), the rule is: **default `high`, escalate to `max` only for architecture/irreversible calls, and spend the delta on an in-loop verifier instead of the top tier.** AA's task mix ≠ ours — a strong prior, not a workload-specific verdict.
- **Calibration warning (AA, independent):** AA-Omniscience **Index 31 — below Fable 5's 40**, despite Opus 5 leading the Intelligence Index at 61. It leads on intelligence and trails on confident-wrongness — keep provenance tagging and claim verification on for factual work. Direction corroborated by the card itself (§6.5: *"hallucinates factual claims slightly more than Opus 4.8, despite being more accurate overall"*). ⚠ A widely-quoted *"hallucination +14pp → 50%"* figure is **UNVERIFIED** — it traces to a search-engine summary of an @ArtificialAnlys X post, and AA's own pages do not publish per-model accuracy/hallucination for Opus 5. Cite the Index gap (verified), not the 50%.
- Mid-conversation `role:"system"` messages supported immediately after a user turn — use for permission/budget/environment updates without rebuilding the prompt.
- No non-default `temperature`/`top_p`/`top_k` (400 on 4.7+); no assistant prefill; min cacheable prompt 1,024 tokens.
- Put long documents first and the query/instructions last.

Full guide: `references/PROMPTING_CLAUDE.md`.

## Claude Sonnet 5 - "The Cost Tier" (added 2026-06-30)

**Use for:** cost-sensitive coding and agentic work with a mechanical gate (tests, typecheck), mechanical no-gate dispatch (rename sweeps, boilerplate), and anything where untrusted tool output 

…(truncated)
