diff --git a/CHANGELOG.md b/CHANGELOG.md index 2fe889ac0..43970ada3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,34 @@ # Changelog +## [1.59.1.0] - 2026-07-09 + +## **`/codex` docs now point at the GPT-5.6 family and name the new `max` reasoning level.** +## **No behavior change: /codex still auto-uses whatever Codex's frontier default is.** + +The `/codex` skill never hardcodes a model on purpose. It rides whatever Codex ships as its current frontier default, so it picks up new models the day they land. This release refreshes the skill's documentation to match the July 2026 lineup: the illustrative `-m` examples and the "Model & Reasoning" section now reference the GPT-5.6 family (`sol` > `terra` > `luna`; the bare `gpt-5.6` API alias routes to `sol`) instead of `gpt-5.1-codex-max` (retired from Codex, API shutdown 2026-07-23) and `gpt-5.2` (deprecated but still selectable), and the reasoning-effort docs now cover the new `max` level that 5.6 adds above `xhigh`. Defaults, flags, and the `--xhigh` override are unchanged. + +### The GPT-5.6 numbers that matter + +Source: OpenAI's GPT-5.6 launch materials and the OpenRouter API listing (July 2026). These describe the family `/codex` now documents; they are not a gstack benchmark. + +| Model | Context | Price /1M (in/out) | Role | +|-------|---------|--------------------|------| +| `gpt-5.6-sol` | 1.05M (128k out) | $5 / $30 | Flagship; bare `gpt-5.6` aliases here | +| `gpt-5.6-terra` | 1.05M (128k out) | $2.50 / $15 | Balanced everyday model | +| `gpt-5.6-luna` | 1.05M (128k out) | $1 / $6 | Fast and affordable | + +Reasoning-effort levels on GPT-5.6 are `none`, `low`, `medium`, `high`, `xhigh`, `max` (an `ultra` tier above `max` appears on some surfaces). gstack still defaults Review/Challenge to `high` and Consult to `medium`, and wires no flag for `max`. To use it by hand you need codex CLI 0.144 or newer and an explicit GPT-5.6 model: `-m gpt-5.6-sol -c model_reasoning_effort=max`. Older CLIs reject the value. + +### What this means for you + +Nothing changes in how `/codex` runs. It picks up GPT-5.6 as soon as Codex makes it the default. The docs just stop pointing at superseded model names, so when you reach for `-m` you see the current lineup. + +### Itemized changes + +#### Changed + +- `codex/SKILL.md` (+ template): Model & Reasoning section names the GPT-5.6 family as the current frontier; `-m` examples updated from `gpt-5.1-codex-max` / `gpt-5.2` to `gpt-5.6-sol` / `gpt-5.6-luna`; documented the new `max` reasoning-effort level above `xhigh`, including the CLI-version (codex >= 0.144) and explicit-5.6-model caveats needed to actually use it. No change to the no-hardcode default or the per-mode reasoning defaults. Contributed by @cathrynlavery. + ## [1.58.5.0] - 2026-06-21 ## **A fresh install now lands on a concrete first move, not a dead end.** diff --git a/TODOS.md b/TODOS.md index f9753970b..6a178e184 100644 --- a/TODOS.md +++ b/TODOS.md @@ -45,6 +45,32 @@ a silent mistake breaks all 52 skills. High blast radius — needs its own focus ## Test infrastructure +### P3: Fail-fast fork-PR secret detection in evals.yml (filed via PR #2211 full-checks run) + +**Priority:** P3 + +**What:** Add an early step to each eval shard in `.github/workflows/evals.yml` that +detects a secretless run (fork PR: `secrets.ANTHROPIC_API_KEY` empty) and exits +immediately with a clear "fork PR: eval secrets unavailable — see fork-PR workflow in +CLAUDE.md" annotation instead of running tests into auth failures. + +**Why:** On fork PR #2211, `e2e-review` failed in 1m with `error_api` and +`e2e-pty-plan-smoke` burned 31m48s of runner time timing out on "Not logged in" +before failing. The contributor read it as flakiness and re-triggered, burning the +time twice. A 5-second preflight would have said exactly what was wrong. + +**Pros:** Saves ~30+ min of Ubicloud runner time per fork-PR push; replaces a +misleading red X with an actionable message; stops contributors re-triggering +doomed runs. +**Cons:** One more conditional per shard; must not mask a genuinely misconfigured +base-repo secret (annotate differently when `github.event.pull_request.head.repo.fork` +is false). + +**Context / where to start:** `.github/workflows/evals.yml` matrix job — add a step +before "Run " that checks the secret and `github.event.pull_request.head.repo.fork`, +emits a `::notice` and exits 0 (or neutral). Diagnosis receipts: PR #2211 run 29056479216, +jobs 86249027242 (empty `ANTHROPIC_API_KEY`, `error_api`) and 86249027265 (login timeout). + ### Eval harness: live progress + incremental result persistence (kill the silent hour) **Priority:** P1 diff --git a/VERSION b/VERSION index 2153ce66b..504ad96af 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.58.5.0 +1.59.1.0 diff --git a/codex/SKILL.md b/codex/SKILL.md index 33228ff9b..62c131f53 100644 --- a/codex/SKILL.md +++ b/codex/SKILL.md @@ -1537,7 +1537,9 @@ The reason must engage with a specific Codex insight and compare against an alte **Model:** No model is hardcoded — codex uses whatever its current default is (the frontier agentic coding model). This means as OpenAI ships newer models, /codex automatically -uses them. If the user wants a specific model, pass `-m` through to codex. +uses them. As of July 2026 that frontier is the GPT-5.6 family (ladder: `sol` > `terra` > `luna`; +the bare `gpt-5.6` API alias routes to `sol`, but Codex with ChatGPT sign-in rejects the bare +id — pass the full `gpt-5.6-sol`). If the user wants a specific model, pass `-m` through to codex. **Reasoning effort (per-mode defaults):** - **Review (2A):** `high` — bounded diff input, needs thoroughness but not max tokens @@ -1547,12 +1549,17 @@ uses them. If the user wants a specific model, pass `-m` through to codex. `xhigh` uses ~23x more tokens than `high` and causes 50+ minute hangs on large context tasks (OpenAI issues #8545, #8402, #6931). Users can override with `--xhigh` flag (e.g., `/codex review --xhigh`) when they want maximum reasoning and are willing to wait. +The GPT-5.6 family adds a `max` level above `xhigh` (and an `ultra` above that on some +surfaces) — OpenAI positions both as trading latency and cost for depth, so gstack wires +no flag for them. If you truly need it: codex CLI >= 0.144 with an explicit GPT-5.6 model +(e.g. `-m gpt-5.6-sol -c model_reasoning_effort=max`) — older CLIs reject the value and +non-5.6 models return a 400. **Web search:** All codex commands use `--enable web_search_cached` so Codex can look up docs and APIs during review. This is OpenAI's cached index — fast, no extra cost. -If the user specifies a model (e.g., `/codex review -m gpt-5.1-codex-max` -or `/codex challenge -m gpt-5.2`), pass the `-m` flag through to codex. +If the user specifies a model (e.g., `/codex review -m gpt-5.6-sol` +or `/codex challenge -m gpt-5.6-luna`), pass the `-m` flag through to codex. --- diff --git a/codex/SKILL.md.tmpl b/codex/SKILL.md.tmpl index 333de7d8d..8413d0e9c 100644 --- a/codex/SKILL.md.tmpl +++ b/codex/SKILL.md.tmpl @@ -606,7 +606,9 @@ The reason must engage with a specific Codex insight and compare against an alte **Model:** No model is hardcoded — codex uses whatever its current default is (the frontier agentic coding model). This means as OpenAI ships newer models, /codex automatically -uses them. If the user wants a specific model, pass `-m` through to codex. +uses them. As of July 2026 that frontier is the GPT-5.6 family (ladder: `sol` > `terra` > `luna`; +the bare `gpt-5.6` API alias routes to `sol`, but Codex with ChatGPT sign-in rejects the bare +id — pass the full `gpt-5.6-sol`). If the user wants a specific model, pass `-m` through to codex. **Reasoning effort (per-mode defaults):** - **Review (2A):** `high` — bounded diff input, needs thoroughness but not max tokens @@ -616,12 +618,17 @@ uses them. If the user wants a specific model, pass `-m` through to codex. `xhigh` uses ~23x more tokens than `high` and causes 50+ minute hangs on large context tasks (OpenAI issues #8545, #8402, #6931). Users can override with `--xhigh` flag (e.g., `/codex review --xhigh`) when they want maximum reasoning and are willing to wait. +The GPT-5.6 family adds a `max` level above `xhigh` (and an `ultra` above that on some +surfaces) — OpenAI positions both as trading latency and cost for depth, so gstack wires +no flag for them. If you truly need it: codex CLI >= 0.144 with an explicit GPT-5.6 model +(e.g. `-m gpt-5.6-sol -c model_reasoning_effort=max`) — older CLIs reject the value and +non-5.6 models return a 400. **Web search:** All codex commands use `--enable web_search_cached` so Codex can look up docs and APIs during review. This is OpenAI's cached index — fast, no extra cost. -If the user specifies a model (e.g., `/codex review -m gpt-5.1-codex-max` -or `/codex challenge -m gpt-5.2`), pass the `-m` flag through to codex. +If the user specifies a model (e.g., `/codex review -m gpt-5.6-sol` +or `/codex challenge -m gpt-5.6-luna`), pass the `-m` flag through to codex. --- diff --git a/package.json b/package.json index 4727042e5..db9f7f4a6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "gstack", - "version": "1.58.5.0", + "version": "1.59.1.0", "description": "Garry's Stack — Claude Code skills + fast headless browser. One repo, one install, entire AI engineering workflow.", "license": "MIT", "type": "module",