---
source_hash: 19a65fee8172157600d9ade9bcdc16e9b1610e3f51defef367bfe3bdace5bf73
---

# Context Pack — Fable made me start using Codex

**Gist:** A stronger Claude ("Fable") did not replace the other models — it became the first model strong enough to *run* them, which made matrixing Claude, Codex, Kimi, and MiniMax M3 to their best task effortless. The intelligence is the routing, not any single model.

## Key learnings

1. **Stop asking which model is best; matrix every model to the task it does best.** The model at the top is not doing the work — it is routing it. Fable's contribution was being thorough enough to solve the *shape* of the problem and hold the thread, not to execute every job.

2. **Classify tasks by shape, not by app.** Heavy-code / long-video / looping-build / judgement-call. The shape decides the route *before* any model is named. Naming the model too early is the mistake.

3. **The seat never does the labour.** The orchestrator (Claude/Fable) holds the context, the taste, and the judgement calls; it routes execution outward and stays clean for the next decision. This page's own diagrams and fidgets were built by a Claude Sonnet worker while the seat never opened the editor.

4. **A loop is a fresh-context pass, not a retry.** Each iteration spawns a clean worker that reads the plan from disk, does one slice, writes the result back to disk, and exits with zero memory of the last pass. Because all state lives in files, every pass starts honest — it sees what is actually built, not what the last pass *claimed* it built.

5. **The discipline lives in the loop, not in the model.** That is why a cheaper model (MiniMax M3) can hold the looping slot. When a briefing bug sent the audit pass firing ~10 times overnight, the fix was not a smarter model — it was a cap: three retries, then escalate to the human instead of looping forever. *A cheaper model looping is only a weakness if nothing around it knows when to stop.*

6. **Nothing merges on a worker's word.** A fresh set of eyes with no memory of the build checks the claim before it lands. The slot is not loyal to a model — it goes to whoever finishes it (two cheaper passes wobbled on the same implementation; Codex took the next pass and closed it).

7. **The importance was always the infrastructure, not the solution.** The seamlessness comes from the system around the model — briefs, plans, outputs, audits, and Cortex links all live as files the seat can follow — not from pretending one model should do every job.

## Where to dig

- **The concrete route schema** lives inline in the published body as a small YAML block: `route:` maps `heavy-code → codex`, `long-video → kimi`, `looping-build → minimax-m3`, `orchestration-and-judgement → claude`, `memory-and-retrieval → local-models`; `gates:` lists `audit: fresh context, before anything merges` and `publish: human, always`.
- **The matrix + looping build system ship packaged** in [ARI-OS](/applications/ari-os) — same discipline, installable on top of an existing setup. That is the canonical place to see the routing matrix and fresh-context loop implemented rather than described.
- **Companion essays** (from the post's `related` frontmatter): `the-model-is-the-replaceable-part`, `the-codex-loop`, and `stop-prompting-start-defining-outcomes`. `the-codex-loop` is the natural next read for the looping-build half; `the-model-is-the-replaceable-part` for the matrix half.
- **The two interactive fidgets** in the published page (`ModelMatrixFidget`, `TaskRouterFidget`) demonstrate the shape-to-model snap and the routing on/off flip — useful as the operational definition of "the matrix" if the prose is ambiguous.

> Backfilled 2026-07-18 from the published body; not needle-extracted at thought-time.
