Skip to content

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

Merged
mergify[bot] merged 2 commits into
mainfrom
feat/251-gpt-6-astra
Nov 6, 2026
Merged

mergify[bot] merged 2 commits into
mainfrom
feat/251-gpt-6-astra

Conversation

@ericlitman

Copy link
Copy Markdown
Owner

Why

A model sheet that names codex:gpt-6-astra resolves as unregistered on main, though Codex CLI serves it. This ports shookya's fork PR #251 to a same-repository branch so it can get a live gate. Closes #251's request; shookya stays the commit author.

Summary

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

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

Evidence

  • Before: on main, resolveModel("codex", "gpt-6-astra") returns {"kind":"unregistered"}. After: it resolves to family astra at max; registry.test.ts asserts that and that @ultra reaches Codex as model_reasoning_effort="ultra".
  • codex debug models, Codex CLI 0.166.0 on this host: gpt-6-astra supported: low medium high xhigh max ultra, matching the row's UP_TO_ULTRA.
  • render.ts --check passes; the catalog row is generated.
  • Live gate: pending. Feature: catalog in Claude Code and Codex.

Merge Danger

Door: two-way

Blast Radius: opt-in

Reverting removes the row; a sheet naming Astra resolves as unregistered again.

Gate results

On ceb2a8a: bun run test 0 (499 pass), bun run typecheck 0, bun run static 0, claude plugin validate plugins/pstack 0.

Not verified

  • No model run through the runner on this branch; the fork PR recorded one read-only Astra probe (receipt complete, pinned-argv).

Co-authored-by: Justin Shook 20212198+shookya@users.noreply.github.com

🤖 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.

Refs #251

Co-authored-by: Justin Shook <20212198+shookya@users.noreply.github.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@mergify

mergify Bot commented Nov 6, 2026 •

Copy link
Copy Markdown
Contributor

Merge Protections

🟢 All 2 merge protections satisfied — ready to merge.

Show 2 satisfied protections

🟢 Queue ready pull requests

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

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

🟢 🚦 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 Nov 6, 2026 •

Copy link
Copy Markdown

RetriggerView in Greptile

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

Summary

Registers codex:gpt-6-astra as an optional family with efforts from low through ultra and a default of max.

  • Model sheets can choose GPT-6 Astra with efforts through ultra.

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

@ericlitman

Copy link
Copy Markdown
Owner Author

Live evidence: Open Pstack

  • Candidate SHA: ceb2a8a52e0f0f849f12a3faac20abbc462fe866
  • Base SHA: bf53ac9fe8e90a6192152da13360b03a5fd4b773
  • Result: PASSED — named features verified
  • Self-test: not requested
  • Planned sessions: 5 (limit 12)
  • Publisher revision: bf53ac9fe8e90a6192152da13360b03a5fd4b773
  • Evidence-set SHA-256: e1c5473d82d09fa208d78d11464ea127a509c2e4addd6885125f54be80a2d1e5
  • Installation (claude): CLI 2.1.318 (Claude Code), plugin 1.17.0, candidate ceb2a8a52e0f0f849f12a3faac20abbc462fe866, tree 1f6abfbf2d2ef185070ea8b77938766b4698ace09e145996964a2dff6fcfc9ac.
  • Installation (codex): CLI codex-cli 0.166.0, plugin 1.17.0, candidate ceb2a8a52e0f0f849f12a3faac20abbc462fe866, tree 1f6abfbf2d2ef185070ea8b77938766b4698ace09e145996964a2dff6fcfc9ac.
  • Observation (claude / catalog): surface claude -p stream-json with the candidate plugin-dir; action recipe catalog: consume-sheet, consume-sheet-bounded, native-agents; result passed 28 assertions; ids retained privately; 28 assertions machine-checked; transcript SHA-256 0922f9f140d76ff05aba39b28a2658fba80982c7d6671a23a762a6ef17ad85c3; artifact-set SHA-256 dadc1c22bc35cb9855499af60c9bc7fe47d88357f850381b94db9b9c3c5afdeb.
  • Observation (codex / catalog): surface codex exec --json with the run-owned candidate installation; action recipe catalog: consume-sheet, consume-sheet-bounded; result passed 24 assertions; ids retained privately; 24 assertions machine-checked; transcript SHA-256 42aa6d4d56b41ae0aa226120d407d912780590539dec8bf12d0a79958b880529; artifact-set SHA-256 294a7d3f1526677cd4c00cf35eb1c7e9d44ae49e5d1f172bf6f5237642f6dc12.
  • Policy: every new head requires a fresh run; this verifier does not change PR state, queue, or merge.

@mergify

mergify Bot commented Nov 6, 2026 •

Copy link
Copy Markdown
Contributor

✅ Merged into main as 2d92c53 at 12:24 UTC

4 min in the queue, 4 min of it CI.

So far

  • ✅ Entered the queue Fri 6 Nov, 12:19 · rule default · triggered by merge protections
  • ✅ Passed · in place
  • ✅ Merged 12:24 · 2d92c53 · merge
8 merge conditions met
  • github-review-approved · required by GitHub repository ruleset rule Protect main
  • #review-threads-unresolved = 0 · required by Merge Protections rule Queue ready pull requests
  • -draft · required by Merge Protections rule Queue ready pull requests
  • check-success=live-gate · required by Merge Protections rule Queue ready pull requests
  • check-success=verify · required by Merge Protections rule Queue ready pull requests
  • any of · required by GitHub repository ruleset rule Protect main:
    • check-success = @github-actions/verify
    • check-neutral = @github-actions/verify
    • check-skipped = @github-actions/verify
  • any of · required by GitHub repository ruleset rule Protect main:
    • check-success = live-gate
    • check-neutral = live-gate
    • check-skipped = live-gate
  • any of · required by GitHub repository ruleset rule Review gate:
    • check-success = @mergify/Mergify Merge Protections
    • check-neutral = @mergify/Mergify Merge Protections
    • check-skipped = @mergify/Mergify Merge Protections

Times in UTC · dashboard · how the merge queue works

@mergify mergify Bot added the queued label Nov 6, 2026
@ericlitman

Copy link
Copy Markdown
Owner Author

Live evidence: Open Pstack

  • Candidate SHA: 4926185bc76c2e27fa7bfc51d71a28cae2c30699
  • Base SHA: 3c6779cf3f6d7e4fc8b0d7b7e107dba5f7708155
  • Result: PASSED — named features verified
  • Self-test: not requested
  • Planned sessions: 5 (limit 12)
  • Publisher revision: 3c6779cf3f6d7e4fc8b0d7b7e107dba5f7708155
  • Evidence-set SHA-256: b59e3250fd04734292fd7fc8558b170478b69eb6c9d87021eea8555bd4007f44
  • Installation (claude): CLI 2.1.318 (Claude Code), plugin 1.17.0, candidate 4926185bc76c2e27fa7bfc51d71a28cae2c30699, tree eb3421bda6061911422b84e4409042e06aa3ab5eb1608e8f650e52a8ffc308aa.
  • Installation (codex): CLI codex-cli 0.167.0, plugin 1.17.0, candidate 4926185bc76c2e27fa7bfc51d71a28cae2c30699, tree eb3421bda6061911422b84e4409042e06aa3ab5eb1608e8f650e52a8ffc308aa.
  • Observation (claude / catalog): surface claude -p stream-json with the candidate plugin-dir; action recipe catalog: consume-sheet, consume-sheet-bounded, native-agents; result passed 28 assertions; ids retained privately; 28 assertions machine-checked; transcript SHA-256 2b5ab400511851990af23c9f15fd45cd45d676c39778c5b6eadee90b3fccf322; artifact-set SHA-256 8dee3ecb72df7a70d9e1186c25b03ffa1bb188b4ca706b2e7e9c0a601ca2237a.
  • Observation (codex / catalog): surface codex exec --json with the run-owned candidate installation; action recipe catalog: consume-sheet, consume-sheet-bounded; result passed 24 assertions; ids retained privately; 24 assertions machine-checked; transcript SHA-256 e5316d84927e0b4da9dfab169b24754ba69ec745adcc2d6c62849592e341f8f9; artifact-set SHA-256 28aa245c21958ca0d21109c9991826c6eb5b76795e3bc5caeef9c714b87cc3a3.
  • Policy: every new head requires a fresh run; this verifier does not change PR state, queue, or merge.

@mergify
mergify Bot merged commit 2d92c53 into main Nov 6, 2026
6 checks passed
@mergify mergify Bot removed the queued label Nov 6, 2026
@unfret-eal

unfret-eal Bot commented Nov 6, 2026 •

Copy link
Copy Markdown

✅ No blocking findings

Walkthrough

This PR registers GPT-6 Astra (`codex:gpt-6-astra`) as an optional Codex model family, so a model sheet that names it resolves to the `astra` family at a default effort of `max` instead of coming back unregistered. Astra accepts efforts from `low` through `ultra`, which makes it the second family after Sol to offer `ultra`. No default role or panel changes, so only sheets that explicitly pick Astra behave differently. The PR adds tests for default resolution and for `@ultra` being passed to Codex as `model_reasoning_effort="ultra"`, and updates the catalog table, reference docs and changelog. Note that the code comment and CHANGES.md cite Codex CLI 0.164.0 while the PR description cites 0.166.0, and the author reports the live gate as still pending.

Area What changes
Model registry Adds the `astra` family (Codex provider, efforts low..ultra, default max, upstream null) and a `codex:gpt-6-astra` released pair; adds tests for default resolution and ultra argv passthrough.
Docs and catalog Adds the Astra row to the generated model catalog, lists Astra as selectable and ultra-capable in the reference docs, and adds a changelog entry.
Details
Lane / stage Model Effort Outcome Duration
broad-gpt-5.6-sol-xhigh / review openai/gpt-5.6-sol → gpt-5.6-sol · primary xhigh succeeded 23 s
broad-opus-5.5-max / review anthropic/claude-opus-5-5 → claude-opus-5-5 · primary max succeeded 1 min 31 s
focal-gpt-5.6-sol-xhigh copy / review openai/gpt-6.1-sol → gpt-6.1-sol · primary xhigh succeeded 6 min 15 s
focal-gpt-5.6-sol-xhigh copy 2 / review openai/gpt-6.1-sol → gpt-6.1-sol · primary xhigh succeeded 5 min 47 s

First review of this pull request.
4 reviewers finished.
Commit 4926185.
Check run.
Run: GET /unfret/run/panel:4926185bc76c2e27fa7bfc51d71a28cae2c30699:e8qJB_O1miU:xtk0Z9fy6Ww.

@unfret review · @unfret status · @unfret help

@unfret-eal unfret-eal Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

✅ No blocking findings
Check

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.

2 participants