Skip to content

feat(models): register GPT-6 Astra as an optional Codex family - #251

Open
shookya wants to merge 1 commit into
ericlitman:mainfrom
shookya:feat/gpt-6-astra-family
Open

shookya wants to merge 1 commit into
ericlitman:mainfrom
shookya:feat/gpt-6-astra-family

Conversation

@shookya

@shookya shookya commented Oct 24, 2026

Copy link
Copy Markdown

Summary

Registers GPT-6 Astra as an optional Codex family, so a model sheet can name codex:gpt-6-astra@<effort>. On main the registry resolves it as unregistered.

 FAMILIES
   luna   codex:gpt-6-luna    low..max     default max
+  astra  codex:gpt-6-astra   low..ultra   default max   optional, upstream null
 RELEASED_PAIRS
   ...
   claude:claude-haiku-5-5
+  codex:gpt-6-astra

The efforts come from the CLI. Codex CLI 0.164.0 codex debug models lists gpt-6-astra with low medium high xhigh max ultra (Luna lists no ultra). The default is max, as for Sol and Luna. The pair is appended because the released-pair list is append-only. Codex families generate no Claude agents, and render.ts --write changed only the catalog row. docs/reference.md now says ultra is offered on Sol and Astra, and CHANGES.md gets an Unreleased entry. Default roles and panels are unchanged.

Evidence

  • Before: on main, resolveModel("codex", "gpt-6-astra") returns {"kind":"unregistered"}.
    After: it returns current with family astra. registry.test.ts asserts that Astra resolves to astra at max by default, and that @ultra reaches Codex as model_reasoning_effort="ultra".
  • One read-only probe through this branch's pstack-runner (--parent claude --provider codex --model gpt-6-astra --effort high --mode read-only) exited 0 in 17.9 s. The receipt reads status: complete, modelEvidence: pinned-argv, error: null. The model replied: defaultEffort: "max"; efforts: ["low", "medium", "high", "xhigh", "max", "ultra"]. The receipt stays local and private: open-pstack-astra-probe/receipt.json.
  • Gate, run locally under the pinned Bun 1.4.0: bun run test 506 pass, 0 fail. bun run typecheck passes. claude plugin validate plugins/pstack passes. bun run static passes its JSON and skill checks, and its verifier suite runs 200 pass, 1 fail. The failure is publisher request boundaries > a manifest is version-only when only its version strings changed since the merge base, which hits Bun's 5 s default timeout on this machine. It fails the same way on a clean origin/main worktree, and passes on both trees in about 9 s under --timeout 30000.

Merge Danger

Door: two-way

One new family row and one new released pair. Reverting removes the row, and a sheet that names Astra resolves as unregistered again, as it does on main today.

Blast Radius: opt-in

No role default uses Astra. Only a sheet that names it changes behavior.

Verification

  • Bun tests, strict typecheck, static invariants, and plugin validation pass (static's one local timeout is noted above).
  • The exact candidate is installed in every affected harness.
  • The changed behavior passes from each real user surface.
  • The live-gate status on the final head links the evidence comment (installed version, surface, action, observed result).

Mergify does not queue a pull request without live-gate on its exact head. Do not merge, tag, release, or roll out without it.

🤖 Generated with Claude Code

Codex CLI 0.164.0 `codex debug models` lists gpt-6-astra with efforts
low to ultra, so the family takes low to ultra and defaults to max, as
Sol and Luna do. Its released pair is appended to the append-only list.
Codex families generate no Claude agents; the renderer adds only the
catalog row. Default roles and panels are unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@mergify

mergify Bot commented Oct 24, 2026

Copy link
Copy Markdown
Contributor

Merge Protections

🟠 1 of 2 protections blocking · waiting on 🤖 CI

Protection Waiting on
🟠 Queue ready pull requests 🤖 CI
🟢 🚦 Auto-queue —

🟠 Queue ready pull requests

Waiting for

  • check-success=live-gate
  • check-success=verify
Waiting checks: live-gate, verify.

Automatically queue non-draft pull requests targeting main after verify and live-gate pass on the head and every review thread is resolved.

  • check-success=live-gate
  • check-success=verify
  • #review-threads-unresolved = 0
  • -draft

Show 1 satisfied protection

🟢 🚦 Auto-queue

When all merge protections are satisfied and these conditions match, this pull request will be queued automatically.

  • -files~=^\.github/
  • base = main

@greptile-apps

greptile-apps Bot commented Oct 24, 2026 •

Copy link
Copy Markdown

RetriggerView in Greptile

[Medium impact] The code changes appear safe to merge once the required exact-head live gate passes.

Summary

Adds GPT-6 Astra as an optional Codex family with efforts from low through ultra and a default of max.

  • Model sheets can now select GPT-6 Astra through Codex.

Reviews (1) · Last reviewed commit: "feat(models): register GPT-6 Astra as an..." · Reviewed by Greptile

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.

1 participant