Model presets
A model preset sets every model and effort setting Overdeck has to a coherent lineup from one provider, in one step. Without a preset you would set about 40 values by hand: the three workhorse slots, ten roles, four review lanes, the tiered-execution tiers, the default conversation model and the background AI models. Overdeck ships three presets:What a preset does
Applying a preset writes explicit values into~/.overdeck/config.yaml once.
After that the values are ordinary settings: you can change any of them, and
the preset never overrides you later. A preset is not a live config key. The
retired models.preset key (premium / balanced / budget) is unrelated
and stays retired.
The write is path-scoped. Overdeck edits only the settings the preset changes,
and every other line of config.yaml keeps its exact text. Comments, $VAR
API-key references, unknown keys and values from a project .pan.yaml are left
alone.
Overdeck remembers the previous value of every setting it changed, so you can
undo the last apply. Undo is single-level: a new apply replaces the undo record.
Undo restores a setting only if it still holds the value the preset wrote. A
setting you changed after the apply is left as is, and undo tells you which.
Apply a preset
In the dashboard: open Settings → Model Routing and click Apply Anthropic defaults, Apply Anthropic cost-saver (pilot) or Apply OpenAI defaults. A dialog lists each setting that will change (before → after), the settings the preset will not set and why, and any notes. Click Apply N changes to write them. The confirmation toast has an Undo action, and Undo last preset stays available in the Model Routing section. From the CLI:show and apply --dry-run accept --json. The JSON is the same object the
dashboard’s GET /api/model-presets/<id>/plan returns, so the CLI and the
dialog always show the same diff.
What a preset will not set
- Settings marked “not set”. Each preset lists the settings it leaves alone and why: embedding and classifier models (they are not chat roles), the registry classification model (it is coupled to its provider), conversation enrichment models, the Jev judgment model, the Gemini thinking level and the TTS summarizer model (the TTS summarizer calls the OpenAI chat API with an OpenAI API key).
- Anything without credentials. If the preset’s provider has no credentials
(no
claudeorcodex loginsign-in and no API key), the whole preset is blocked and nothing is written. The dialog and the CLI show the sign-in step. - Anything without its harness. If the preset’s harness CLI (
claudefor the Anthropic presets,codexfor the OpenAI preset) is not installed, the whole preset is blocked, with the install command. - Anything the harness policy forbids. Each change is checked against the
harness that would run it. A role with an explicit harness that cannot run
the preset’s model (for example
roles.work.harness: kimi-codewith the OpenAI preset) is skipped with the policy’s reason. If a workhorse slot fails the check, the whole preset is blocked, because roles reference the slots. - Tiered execution structure. A preset never turns tiered execution on or
off, and never creates tiers or a supervisor. For each tier you already have,
it sets
model,harnessandeffortfrom the tier’s hardest difficulty:trivial→ the cheap slot;simpleormedium→ the mid slot;complexorexpert→ the expensive slot. It removes a tier’sdistribution, and undo restores it. If a supervisor exists, it getsworkhorse:expensiveand the preset’s harness.
high, the recommended default. No preset sets
xhigh or max.
Anthropic defaults (anthropic, v1, 2026-09-29)
Evidence (run 2026-09-29, effort
high,
full report):
- Review (E2): Opus 5.5 30/60 vs Sonnet 5.5 10/60, any severity; 11/20 vs 3/20 by majority per case; sign test 8–0, p ≈ 0.008. The gap is in the performance lane (5/6 vs 1/6) and the correctness lane (6/7 vs 2/7).
- Feedback acceptance (E5): both models acted on 15/15 genuine feedback messages.
- Delegation test: both models scored 100% intent on all 11 tasks, with a brief and with a casual request.
- Cost and speed: Sonnet 5.5 cost about 45% of Opus 5.5 and was 25–45% faster.
Anthropic cost-saver (anthropic-cost-saver, v1, pilot)
This preset is the Anthropic preset with one change: 30% of work issues run on
Sonnet 5.5.
It is a pilot because the E5 and delegation probes are single-turn and use
no tools. They say nothing about multi-hour, tool-using work sessions. Compare
the two arms on real pipeline outcomes before you rely on it:
- review cycles to approval;
- blocking findings per PR;
- CI-red rate and verification feedback loops.
OpenAI defaults (openai, v1, 2026-09-29)
Not set by the OpenAI preset (these keep their current values):
- Titles, compaction, fork summary, handoff author, status review and memory
extraction. Background AI runs through
claude -p, and the research rates GPT-6 Luna “not yet” for anything that becomes an agent’s memory or context. Fork summaries also need a 1M-token window in one shot, and Overdeck pins GPT models to 272K. models.provider_fallback_model, which is an Anthropic model by definition.- The TTS summarizer model, which needs an OpenAI API key and the E4 summary gate.
Preset versions and updates
Each preset has a version. When a newer version of the preset you last applied ships, Settings → Model Routing shows “label updated (vN): review changes”. Click it to see the new diff against your config. Nothing applies automatically.pan models preset list shows the same information.