From c506e7aa6412d5fd053875b61f22ab3bed8cc954 Mon Sep 17 00:00:00 2001 From: ChrisQuorum Date: Sun, 12 Jul 2026 11:12:14 -0400 Subject: [PATCH] feat(model-overlays): add gpt-5.6 overlay + resolver mapping Give gpt-5.6 (Sol/Terra/Luna) a dedicated overlay instead of the generic gpt fallback: inherits the gpt base plus the anti-verbosity / shortest-form tuning. Mirrors gpt-5.4. Adds the models.ts resolver mapping (handles the tier suffixes) and updates the doc comment. --- model-overlays/gpt-5.6.md | 15 +++++++++++++++ scripts/models.ts | 3 +++ 2 files changed, 18 insertions(+) create mode 100644 model-overlays/gpt-5.6.md diff --git a/model-overlays/gpt-5.6.md b/model-overlays/gpt-5.6.md new file mode 100644 index 0000000000..bf5d96b58e --- /dev/null +++ b/model-overlays/gpt-5.6.md @@ -0,0 +1,15 @@ +{{INHERIT:gpt}} + +**Anti-verbosity protocol (additional).** Your default output mode is too verbose for +tools that value terse output. Constrain: + +- Status updates: one line, not a paragraph. +- Code explanations: only when the user asked for one, or when the code is genuinely + surprising. +- Do not narrate what you are about to do. Just do it. +- Do not repeat the user's request back to them. +- When showing code changes, show the changed lines with minimal surrounding context. +- Markdown headings are not decoration. Use them only when structural. + +**Cap answers at the shortest form that contains the answer.** If the answer is a +one-line command, reply with a one-line command. diff --git a/scripts/models.ts b/scripts/models.ts index b6d1d368d5..6a3cabc770 100644 --- a/scripts/models.ts +++ b/scripts/models.ts @@ -16,6 +16,7 @@ export const ALL_MODEL_NAMES = [ 'opus-4-7', 'gpt', 'gpt-5.4', + 'gpt-5.6', 'gemini', 'o-series', ] as const; @@ -28,6 +29,7 @@ export type Model = (typeof ALL_MODEL_NAMES)[number]; * Precedence rules: * 1. Exact match against ALL_MODEL_NAMES → return as-is. * 2. Family heuristics for common variants: + * - `gpt-5.6-sol`, `gpt-5.6-*` → `gpt-5.6` * - `gpt-5.4-mini`, `gpt-5.4-turbo`, `gpt-5.4-*` → `gpt-5.4` * - `gpt-*` (anything else GPT) → `gpt` * - `o3`, `o4`, `o4-mini`, `o1`, `o1-mini`, `o1-pro` → `o-series` @@ -49,6 +51,7 @@ export function resolveModel(input: string): Model | null { } // Family heuristics + if (/^gpt-5\.6(-|$)/.test(s)) return 'gpt-5.6'; if (/^gpt-5\.4(-|$)/.test(s)) return 'gpt-5.4'; if (/^gpt(-|$)/.test(s)) return 'gpt'; if (/^o[0-9]+(-|$)/.test(s)) return 'o-series';