Skip to main content

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.
If a Settings tab is open while you apply a preset from the CLI, reload that tab before you edit anything in it. An open tab keeps the values it loaded, and its next autosave can write some of them back over the preset.

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 claude or codex login sign-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 (claude for the Anthropic presets, codex for 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-code with 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, harness and effort from the tier’s hardest difficulty: trivial → the cheap slot; simple or medium → the mid slot; complex or expert → the expensive slot. It removes a tier’s distribution, and undo restores it. If a supervisor exists, it gets workhorse:expensive and the preset’s harness.
Every effort a preset sets is 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)

Research-backed; not yet eval-tested in Overdeck. No GPT model has run through Overdeck’s evals yet. The placements come from the September 2026 routing research. The pending gates are E2 (review recall) and E6 (the head-to-head on the real pipeline).
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.
Codex version floor: under ChatGPT sign-in, GPT-6 Sol and Luna need Codex CLI 0.156.1 or newer. OpenAI rejects them with HTTP 400 on older clients. The preset’s harness check reports this and blocks the apply until you upgrade Codex.

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.