Skip to content

docs/models: prefer newest per series (Opus 4.8), add GPT-5.6 IDs, fix Ralph free-model wording - #1469

Merged
tamirdresher merged 4 commits into
bradygaster:devfrom
primetimetank21:primetimetank21/1444-catalog-followup
Jul 13, 2026
Merged

docs/models: prefer newest per series (Opus 4.8), add GPT-5.6 IDs, fix Ralph free-model wording#1469
tamirdresher merged 4 commits into
bradygaster:devfrom
primetimetank21:primetimetank21/1444-catalog-followup

Conversation

@primetimetank21

@primetimetank21 primetimetank21 commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

docs/models: prefer newest per series (Opus 4.8), add GPT-5.6 IDs, fix Ralph free-model wording

Context

Follow-up PR explicitly requested by @tamirdresher when he merged #1444.

Reference comment: #1444 (comment)

Tamir's three requests, addressed below.


Relationship to #1445

Independent of the cost-policy PR #1445 — the two touch different files, so they can merge in either order without conflict. The only sequenced item is the deferred DOCS_NAME_TO_ID addition for the three GPT-5.6 IDs: that map lives in packages/squad-cli/src/cli/commands/models.ts, which #1445 owns, so it should land in a small follow-up after #1445 merges. This PR itself is self-contained and ready to merge independently.


Item 1 — Prefer the NEWEST model per series in examples and fallback chains

tamirdresher (bullet 1): "Examples and fallback ordering should consistently prefer the NEWEST model in each series, INCLUDING Opus 4.8."

Code changes:

File Change
packages/squad-sdk/src/config/models.ts DEFAULT_FALLBACK_CHAINS.standard[0]claude-sonnet-5 (was claude-sonnet-4.6)
packages/squad-sdk/src/runtime/constants.ts MODELS.FALLBACK_CHAINS.standard[0]claude-sonnet-5 (same reorder)

Premium chains already led with claude-opus-4.8 after #1444

Doc/template changes: all model-selection-reference.md and model-selection SKILL files updated so that:

  • Premium fallback example: claude-opus-4.8 → claude-opus-4.7 → claude-opus-4.6 → ...
  • Standard fallback example: claude-sonnet-5 → claude-sonnet-4.6 → gpt-5.6-sol → ...
  • Designer / visual role row: claude-opus-4.8 (newest vision-capable model)
  • Spawn acknowledgment examples: show latest models

⚠️ MODELS.DEFAULT intentionally NOT changed: MODELS.DEFAULT remains claude-sonnet-4.6. Changing the global default is higher-impact and should be a conscious, separate decision — it is explicitly out of scope here.


Item 2 — Add GPT-5.6 model IDs (gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna)

tamirdresher (bullet 2): "Add the newly available GPT-5.6 model IDs after validating CLI reachability."

Reachability validation basis: GPT-5.6 variants (sol, terra, luna) observed as Standard-tier picker-reachable models via the Copilot CLI catalog on 2026-07-13. Consistent with gpt-5.5, which is already in the seed.

Code changes:

File Change
packages/squad-sdk/src/config/models.ts 3 new MODEL_CATALOG entries: gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-lunatier: 'standard', githubCategory: 'powerful' (mirrors gpt-5.5 sibling)
packages/squad-sdk/src/config/models.ts Added to DEFAULT_FALLBACK_CHAINS.standard (after claude-sonnet-4.6, before gpt-5.4)
packages/squad-sdk/src/runtime/constants.ts Added to MODELS.FALLBACK_CHAINS.standard (same position)

Template changes: all Valid Models lists in model-selection-reference.md and model-selection SKILL files updated to include gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna under Standard.

⚠️ DOCS_NAME_TO_ID deferral: the DOCS_NAME_TO_ID map in packages/squad-cli/src/cli/commands/models.ts is in draft PR #1445's diff. To avoid conflicts, gpt-5.6 entries to that map are deferred until #1445 merges (see "Relationship to #1445" above).


Item 3 — Ralph circuit-breaker: replace "free models" wording

tamirdresher (bullet 3): "Update the Ralph circuit-breaker wording now that usage-based billing means there may no longer be 'free models'."

Changes to .squad-templates/ralph-circuit-breaker.md (synced to all 3 template targets):

  • Removed: multiplier table with 0x / "Free — unlimited" language
  • Added: usage-based billing framing — lightweight-category models are lowest-cost, still billed
  • Updated: preferredModel example claude-sonnet-4.6claude-sonnet-5
  • Updated: fallback chain section header: "free-tier model chain" → "lightweight-category model chain"
  • Updated: Configuration table: "(all free-tier)""(lightweight-category — lowest cost, still billed)"

Tests

TDD approach: wrote failing tests first, then implemented.

  • Before implementation: 8 failed | 8 passed (RED)
  • After implementation: 16/16 passed (GREEN)

New tests added to test/catalog-refresh.test.ts:

  • config/runtime premium chain[0] is claude-opus-4.8 (ordering invariant)
  • config/runtime standard chain[0] is claude-sonnet-5 (ordering invariant) ← was failing RED
  • MODEL_CATALOG contains gpt-5.6-sol/terra/luna (membership) ← was failing RED
  • gpt-5.6-sol appears in config/runtime standard fallback chain ← was failing RED

Files changed

Source (TDD-gated):

  • packages/squad-sdk/src/config/models.ts
  • packages/squad-sdk/src/runtime/constants.ts
  • test/catalog-refresh.test.ts

Canonical templates (sync sources):

  • .squad-templates/ralph-circuit-breaker.md
  • .squad-templates/model-selection-reference.md
  • .squad/skills/model-selection/SKILL.md
  • .copilot/skills/model-selection/SKILL.md

Synced copies (generated via sync-templates.mjs --sync + sync-skill-templates.mjs):

  • templates/ralph-circuit-breaker.md
  • templates/model-selection-reference.md
  • packages/squad-cli/templates/ralph-circuit-breaker.md
  • packages/squad-cli/templates/model-selection-reference.md
  • packages/squad-cli/templates/skills/model-selection/SKILL.md
  • packages/squad-sdk/templates/ralph-circuit-breaker.md
  • packages/squad-sdk/templates/model-selection-reference.md
  • packages/squad-sdk/templates/skills/model-selection/SKILL.md

Refs

Closes follow-up from: #1444 (comment)
Refs: #1080, #1183
Branch stacks on: upstream/dev (includes merged #1444)

…5.6 IDs, fix Ralph free-model wording

Follow-up to bradygaster#1444 (merged), addressing tamirdresher's
three explicit requests in bradygaster#1444 (comment)
(refs bradygaster#1080, bradygaster#1183).

Item 1 — Prefer newest model per series (fallback ordering):
- packages/squad-sdk/src/config/models.ts: DEFAULT_FALLBACK_CHAINS.standard
  now leads with claude-sonnet-5 (was claude-sonnet-4.6).
- packages/squad-sdk/src/runtime/constants.ts: MODELS.FALLBACK_CHAINS.standard
  same reorder. Premium chains already led with claude-opus-4.8 post-bradygaster#1444.
- model-selection-reference.md, SKILL.md files: examples now show
  claude-opus-4.8 first in Premium, claude-sonnet-5 first in Standard.

Item 2 — Add GPT-5.6 model IDs (gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna):
- Added to MODEL_CATALOG in models.ts (tier: standard, githubCategory: powerful
  — mirrors gpt-5.5 sibling entry).
- Added to DEFAULT_FALLBACK_CHAINS.standard and MODELS.FALLBACK_CHAINS.standard
  (after claude-sonnet-4.6, before gpt-5.4).
- Reachability: CLI-observed as Standard-tier reachable models (2026-07-13).
- NOTE: gpt-5.6 entries in DOCS_NAME_TO_ID (cli/commands/models.ts) are
  deferred until draft PR bradygaster#1445 merges (that file is in bradygaster#1445's diff).
- Updated Valid Models in all model-selection-reference.md + SKILL.md copies.

Item 3 — Ralph circuit-breaker free-model wording:
- .squad-templates/ralph-circuit-breaker.md: replaced multiplier table
  (0x / "Free — unlimited") with usage-based framing (lightweight category —
  lowest-cost, still billed). Updated preferredModel example to claude-sonnet-5.
- Synced to all 3 template targets via sync-templates.mjs.

NOTE: MODELS.DEFAULT (claude-sonnet-4.6) is intentionally left unchanged.
That global default is out of scope for this PR — can be a separate decision.

TDD: test/catalog-refresh.test.ts — wrote failing tests first (8 RED), then
implemented changes. Final result: 16/16 tests GREEN.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings July 13, 2026 05:41
@github-actions

github-actions Bot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

🛫 PR Readiness Check

ℹ️ This comment updates on each push. Last checked: commit 5af9e0f

PR Scope: 📦🔧 Mixed (product + infrastructure)

⚠️ 3 item(s) to address before review

Status Check Details
Single commit 4 commits — consider squashing before review
Not in draft Ready for review
Branch up to date Up to date with dev
Copilot review No Copilot review yet — it may still be processing
Changeset present Changeset file found
Scope clean ⚠️ PR includes 1 .squad/ file(s) — ensure these are intentional
No merge conflicts No merge conflicts
Copilot threads resolved 1 active Copilot thread(s) resolved (3 outdated skipped)
CI passing 7 check(s) still running

Files Changed (19 files, +238 −129)

File +/−
.changeset/models-gpt56-fallback-ordering.md +15 −0
.copilot/skills/model-selection/SKILL.md +9 −9
.squad-templates/model-selection-reference.md +9 −9
.squad-templates/ralph-circuit-breaker.md +18 −15
.squad/skills/model-selection/SKILL.md +3 −3
packages/squad-cli/templates/model-selection-reference.md +9 −9
packages/squad-cli/templates/ralph-circuit-breaker.md +18 −15
packages/squad-cli/templates/skills/model-selection/SKILL.md +3 −3
packages/squad-sdk/src/config/models.ts +35 −3
packages/squad-sdk/src/runtime/constants.ts +6 −5
packages/squad-sdk/templates/model-selection-reference.md +9 −9
packages/squad-sdk/templates/ralph-circuit-breaker.md +18 −15
packages/squad-sdk/templates/skills/model-selection/SKILL.md +3 −3
templates/model-selection-reference.md +9 −9
templates/ralph-circuit-breaker.md +18 −15
test/agents.test.ts +5 −1
test/catalog-refresh.test.ts +47 −4
test/compat-v041.test.ts +2 −1
test/models.test.ts +2 −1

Total: +238 −129


This check runs automatically on every push. Fix any ❌ items and push again.
See CONTRIBUTING.md and PR Requirements for details.

@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Squad File Leakage Detected

The following .squad/ files were modified in this PR:

  • .squad/skills/model-selection/SKILL.md

These files affect team routing, agent charters, and decisions.
If intentional, ensure approval from the team lead.

@github-actions

github-actions Bot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

🟠 Impact Analysis — PR #1469

Risk tier: 🟠 HIGH

📊 Summary

Metric Count
Files changed 19
Files added 1
Files modified 18
Files deleted 0
Modules touched 7

🎯 Risk Factors

  • 19 files changed (6-20 → MEDIUM)
  • 7 modules touched (5-8 → HIGH)

📦 Modules Affected

copilot-config (1 file)
  • .copilot/skills/model-selection/SKILL.md
root (3 files)
  • .changeset/models-gpt56-fallback-ordering.md
  • templates/model-selection-reference.md
  • templates/ralph-circuit-breaker.md
squad-cli (3 files)
  • packages/squad-cli/templates/model-selection-reference.md
  • packages/squad-cli/templates/ralph-circuit-breaker.md
  • packages/squad-cli/templates/skills/model-selection/SKILL.md
squad-sdk (5 files)
  • packages/squad-sdk/src/config/models.ts
  • packages/squad-sdk/src/runtime/constants.ts
  • packages/squad-sdk/templates/model-selection-reference.md
  • packages/squad-sdk/templates/ralph-circuit-breaker.md
  • packages/squad-sdk/templates/skills/model-selection/SKILL.md
squad-state (1 file)
  • .squad/skills/model-selection/SKILL.md
templates (2 files)
  • .squad-templates/model-selection-reference.md
  • .squad-templates/ralph-circuit-breaker.md
tests (4 files)
  • test/agents.test.ts
  • test/catalog-refresh.test.ts
  • test/compat-v041.test.ts
  • test/models.test.ts

This report is generated automatically for every PR. See #733 for details.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates Squad’s model catalog, fallback-chain ordering, and related documentation/templates so examples and selection guidance prefer the newest model per series (notably Opus 4.8 / Sonnet 5), adds GPT‑5.6 variant IDs, and revises Ralph circuit-breaker wording to avoid “free model” language under usage-based billing.

Changes:

  • Added gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna to the SDK model catalog and standard fallback chains.
  • Reordered standard fallback chains to prefer claude-sonnet-5 first (while keeping MODELS.DEFAULT unchanged).
  • Updated model-selection docs/skills and Ralph circuit-breaker templates to reflect new model preferences and updated billing language; added/extended catalog refresh invariants tests.

Reviewed changes

Copilot reviewed 15 out of 15 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
packages/squad-sdk/src/config/models.ts Adds GPT‑5.6 model catalog entries and reorders DEFAULT_FALLBACK_CHAINS.standard.
packages/squad-sdk/src/runtime/constants.ts Reorders MODELS.FALLBACK_CHAINS.standard to prefer newest models first and includes GPT‑5.6 variants.
test/catalog-refresh.test.ts Extends catalog invariants to include GPT‑5.6 and adds ordering assertions for chain heads.
.squad-templates/ralph-circuit-breaker.md Reframes fallback guidance away from “free” language; updates preferred model examples.
.squad-templates/model-selection-reference.md Updates vision/default references and fallback chain examples / valid model lists.
.squad/skills/model-selection/SKILL.md Updates model-selection skill guidance for newest models and standard fallback ordering.
.copilot/skills/model-selection/SKILL.md Updates Copilot skill guidance for newest models and standard fallback ordering.
templates/ralph-circuit-breaker.md Synced copy of Ralph circuit-breaker template updates.
templates/model-selection-reference.md Synced copy of model-selection reference updates.
packages/squad-cli/templates/ralph-circuit-breaker.md Synced CLI template copy updates for Ralph circuit breaker.
packages/squad-cli/templates/model-selection-reference.md Synced CLI template copy updates for model-selection reference.
packages/squad-cli/templates/skills/model-selection/SKILL.md Synced CLI skill template updates for model-selection guidance.
packages/squad-sdk/templates/ralph-circuit-breaker.md Synced SDK template copy updates for Ralph circuit breaker.
packages/squad-sdk/templates/model-selection-reference.md Synced SDK template copy updates for model-selection reference.
packages/squad-sdk/templates/skills/model-selection/SKILL.md Synced SDK skill template updates for model-selection guidance.

Comment thread .squad-templates/model-selection-reference.md Outdated
Comment thread .copilot/skills/model-selection/SKILL.md Outdated
Comment thread .squad/skills/model-selection/SKILL.md Outdated
Comment thread packages/squad-sdk/src/config/models.ts
primetimetank21 and others added 3 commits July 13, 2026 01:51
…geset

Address Copilot review comments on PR bradygaster#1469:

- 3 doc/skill files had abbreviated Standard fallback chain (omitting
  gpt-5.6-terra, gpt-5.6-luna, gemini-2.5-pro). Now matches the full
  SDK runtime chain exactly:
    claude-sonnet-5 → claude-sonnet-4.6 → gpt-5.6-sol → gpt-5.6-terra
      → gpt-5.6-luna → gpt-5.4 → gpt-5.3-codex → claude-sonnet-4.5
      → gemini-2.5-pro → (omit model param)
  Files: .squad-templates/model-selection-reference.md,
         .copilot/skills/model-selection/SKILL.md (manual),
         .squad/skills/model-selection/SKILL.md (sync canonical)
  Synced to all 3 template targets + 2 skill package targets.

- Premium chain confirmed correct (claude-opus-4.8 first) — no change
  needed.

- Add .changeset/models-gpt56-fallback-ordering.md (@bradygaster/squad-sdk
  patch) to satisfy Changelog Gate CI check.

16/16 catalog-refresh tests remain GREEN.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Three test files hard-coded the old fallback chain head (claude-sonnet-4.6)
that was intentionally reordered in the parent commit (newest-per-series
first, tamirdresher PR bradygaster#1444 follow-up). The tests remain logically correct
— they now assert the NEW intended behavior.

- test/compat-v041.test.ts: standard[0] → 'claude-sonnet-5'
- test/models.test.ts: standard[0] → 'claude-sonnet-5'
- test/agents.test.ts: standard fallback chain toEqual updated
  (reordered + added gpt-5.6-sol/terra/luna)

Inline comment added to each noting the deliberate reorder.
Pre-existing failures (cli-packaging-smoke, init-scaffolding) are EBUSY
file-lock errors unrelated to these changes — confirmed on baseline.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
… API

Live API (canonical) returns: sol=powerful, terra=versatile, luna=lightweight.
Original seed incorrectly set all three to 'powerful' (mirroring gpt-5.5).
Tier (standard) and fallback-chain membership are unchanged; only githubCategory
(the cost-policy billing axis) is corrected.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

@tamirdresher tamirdresher left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Validated against the live Copilot CLI catalog and current implementation: all three requested follow-ups are delivered, synchronized templates and runtime chains agree, targeted tests and CI are green. The luna tier/category nuance and deferred friendly-name mapping can be tracked separately and are not blockers.

@tamirdresher
tamirdresher merged commit b970d04 into bradygaster:dev Jul 13, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants