Skip to content

feat(codex): list GPT-6.1 Sol as a self-described native - #6252

Closed
giulioleone097 wants to merge 1 commit into
lidge-jun:devfrom
giulioleone097:feat/gpt-6-1-sol
Closed

giulioleone097 wants to merge 1 commit into
lidge-jun:devfrom
giulioleone097:feat/gpt-6-1-sol

Conversation

@giulioleone097

@giulioleone097 giulioleone097 commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor

Closes #6251

Summary

OpenAI released GPT-6.1 Sol on 2026-09-29 (https://openai.com/index/introducing-gpt-6-1-sol/). The authenticated Codex roster already serves it, but opencodex lists natives only from its own allowlist, so users cannot pick it.

This PR registers gpt-6.1-sol the way #5580 registered Sol and Luna:

  • The roster row is pinned verbatim in src/codex/data/roster-pinned-models.json. It was captured from chatgpt.com/backend-api/codex/models?client_version=0.159.0 (main account) on 2026-09-29. It goes first, matching upstream's order (priority 1).
  • NATIVE_GPT61_SOL_MODEL is self-described and ungated. It is listed with the built-in natives and the main-drain sentinel set, backfilled through DOCUMENTED_NATIVE_OPENAI_ADDITIONS, and given the GPT-6 context pair.

It is not a capability alias of gpt-6-sol, and the providers.openai.models configured-native path is not a substitute. The 6.1 row ships:

  • its own instructions
  • a low default effort
  • multi_agent_reasoning_effort: "xhigh"
  • a different Fast tier ("2x speed, increased usage")

A configured native would present all four with Sol's values. Context (272,000 / 872,000), modalities and the low..ultra ladder match Sol.

No API-key registry rows or price estimates are added, the same scope #5580 kept.

Docs: providers.md gains a GPT-6.1 Sol paragraph. structure/catalog.md notes the third roster row, reflowed so the file stays at its 600-line budget.

Note: the live roster now describes gpt-6-sol as "Previous generation workhorse model." The pinned Sol row still has the older description. I left it untouched to keep this PR focused.

Verification

  • bun run typecheck: exit 0.

  • bun run structure:check: passed.

  • bun run privacy:scan: passed.

  • bun scripts/test.ts tests/codex-integration/gpt6-native-rows.test.ts tests/claude-integration/claude-models-discovery.test.ts: 20 pass, 0 fail. gpt6-native-rows.test.ts now covers 6.1 Sol's label, windows, ladder and low default. It also asserts that 6.1 Sol resolves to its own instructions and not Sol's, and pins the roster file's slug order.

  • bun run test:changed: 27,749 pass, 65 fail on this machine under load. Re-running only the 15 failing files: 773 pass, 6 fail. Those 6 also fail on a clean dev checkout with the patch stashed:

    • shutdown-launcher (3)
    • server-auth (2)
    • native-codex-toggle (1)

    They are pre-existing on this machine and not caused by this change. The full bun run test was not run; CI is the gate for the rest.

  • Live, on released 2.71.0 without this patch: codex exec -m gpt-6.1-sol through the proxy returns 200 and the request log shows openai/gpt-6.1-sol. The upstream model works, and only the catalog listing is missing. I did not run the patched build as a live proxy.

Checklist

  • Scope stays focused and avoids unrelated cleanup.
  • Docs or release notes were updated when needed.
  • Security-sensitive changes were reviewed for secrets, auth, and unsafe defaults.

Summary by CodeRabbit

  • New Features
    • Added GPT-6.1 Sol as a native Codex model, available without account gating.
    • GPT-6.1 Sol has a 272,000-token context window, an 872,000-token maximum context, and reasoning effort options from low to ultra, with low as the default.
    • Added its independent Codex instructions and updated model reference documentation.
  • Tests
    • Added coverage for GPT-6.1 Sol’s model details and availability alongside GPT-6 Sol and GPT-6 Luna.

Review readiness checklist

This PR stays in draft until every box below is ticked. Tick all four boxes once the requirements are met:

  • Required local validation passed; commands, results, and any full-suite exception are documented.

  • I pushed my PR to a recent dev commit (at most 10 behind; a maintainer may still ask for the exact tip before merge).

  • I resolved all correct Codex and CodeRabbit findings.

  • My PR is ready for review.

OpenAI released GPT-6.1 Sol on 2026-09-29. The authenticated Codex roster
already serves it, but opencodex lists natives only from its own allowlist,
so the model was missing from the picker.

Pin the roster row captured at client_version=0.159.0 and register
gpt-6.1-sol as an ungated, self-described native. It is not an alias of
gpt-6-sol: the row ships its own instructions, a low default effort,
multi_agent_reasoning_effort xhigh and a different Fast tier.
@coderabbitai

coderabbitai Bot commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository: lidge-jun/opencodex/.coderabbit.yaml

Review profile: ASSERTIVE

Plan: Advanced

Run ID: dc0d3f00-a4a4-465a-984a-d7c9731a9f4a

📥 Commits

Reviewing files that changed from the base of the PR and between 73289d4 and 038326c.

📒 Files selected for processing (6)
  • docs-site/src/content/docs/reference/configuration/providers.md
  • src/codex/catalog/metadata.ts
  • src/codex/catalog/native-models.ts
  • src/codex/data/roster-pinned-models.json
  • structure/catalog.md
  • tests/codex-integration/gpt6-native-rows.test.ts

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review.


📝 Walkthrough

Walkthrough

The change adds GPT-6.1 Sol to the native Codex catalog. It includes a pinned roster entry, model settings, catalog registration, integration test coverage, and updates to the catalog and provider documentation.

Changes

GPT-6.1 Sol native catalog

Layer / File(s) Summary
Roster data and model identity
src/codex/data/roster-pinned-models.json, src/codex/catalog/native-models.ts
Adds a pinned gpt-6.1-sol roster row and declares GPT-6.1 Sol as a native model. The roster row includes its reasoning settings, context limits, capabilities, service tiers, and instructions.
Catalog registration
src/codex/catalog/native-models.ts, src/codex/catalog/metadata.ts
Adds GPT-6.1 Sol to the self-described and built-in native model sets and the drain sentinel set. Exports its identifier and adds a context override that uses the existing GPT-6 context values.
Integration tests and documentation
tests/codex-integration/gpt6-native-rows.test.ts, structure/catalog.md, docs-site/src/content/docs/reference/configuration/providers.md
Tests cover GPT-6.1 Sol’s native listing, roster row, reasoning settings, and distinct instructions. Documentation describes its roster entry, native status, context values, and reasoning ladder.

Priority: ➖ Normal

Estimated code review effort: 3 (Moderate) | ~20 minutes

Change: Feature · Severity of issue fixed: Medium

Merge Risk: ⚪ Minimal · up to 03832

This adds GPT-6.1 Sol to the native Codex model catalog with its own metadata. No concrete merge-blocking risk was found.

Security Architecture Review

Security architecture risk: 🔵 Low · up to 03832

The new offering follows the existing selection and credential safeguards. No bypass was identified, but availability enforcement outside this application could not be verified.

Retained concerns
No architecture-level concerns identified.

Security review details

Security Blast Radius

  • inferred — The changed exposure is model selection for authenticated Codex use, including native-main fallback; the reviewed paths do not show a new unauthenticated entrypoint.

Trust Boundaries and Controls

  • observed — Caller-owned requests require a Codex bearer. Stored native-main credentials require traffic admission and an atomic profile claim; a drain or failed claim is rejected before that path proceeds.
  • observed — Account-gated entitlement filtering is not applied to the new slug. Its pinned row lists broad plan availability, but backend-side enforcement for individual authenticated accounts was not verified.

Resilience and Maintainability Implications

  • inferred — The shared drain path preserves model identity and defers credential access to final authentication. Existing lifecycle paths release claims and reservations on failure; no new model-specific cleanup path was found.

Hardening Proposals

  • proposed — Confirm backend-side account availability for the new ungated slug during rollout, since local catalog visibility does not perform a per-account entitlement check for it.
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 3 files. (3 skipped: 3 … Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed PR #6252 satisfies the coding requirements in issue #6251. src/codex/catalog/native-models.ts registers NATIVE_GPT61_SOL_MODEL in SELF_DESCRIBED_NATIVE_OPENAI_MODELS, `BUILT_IN_NATIVE_OPENAI_MOD…
Out of Scope Changes check ✅ Passed The changes remain within issue #6251. The edits in providers.md and structure/catalog.md document the new native row and its catalog behavior. The test additions in `tests/codex-integration/gpt6-…
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the primary change: adding GPT-6.1 Sol as a self-described native Codex model. It is concise, specific, and matches the changes across the catalog, roster, documentation, …
Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 3 files. (3 skipped: 3 unsupported.)

  • Fix all pre-merge checks with AI
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added the enhancement New feature or request label Sep 29, 2026
@github-actions

Copy link
Copy Markdown
Contributor

✅ Deterministic PR hygiene checks passed.

@github-actions

github-actions Bot commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor

⏳ DRAFT

  • review readiness checklist open (0/4 boxes ticked).

What to do

  • Tick all four boxes in the PR description once you're done (currently 0/4).

Review readiness checklist

  • ⬜ Required local validation passed; commands, results, and any full-suite exception are documented.
  • ⬜ I pushed my PR to a recent dev commit (at most 10 behind; a maintainer may still ask for the exact tip before merge).
  • ⬜ I resolved all correct Codex and CodeRabbit findings.
  • ⬜ My PR is ready for review.

0/4 boxes ticked.

This PR stays in draft until every box above is ticked.

@github-actions
github-actions Bot marked this pull request as draft September 29, 2026 18:14
@lidge-jun

Copy link
Copy Markdown
Owner

리뷰 · 우선순위 24 / 80

이 PR은 OpenAI가 2026-09-29에 낸 gpt-6.1-sol(GPT-6.1 Sol)을 opencodex 네이티브 목록에 넣는 작업이다. 이미 로그인된 Codex 쪽에서는 모델이 살아 있는데, opencodex는 자체 allowlist만 보여 주어서 피커에 안 나왔던 구멍이다. 예전 Sol/Luna 등록(#5580)과 같은 길이다. 인증 로스터에서 받은 행을 roster-pinned-models.json 맨 앞에 그대로 붙이고, NATIVE_GPT61_SOL_MODEL을 self-described·ungated·built-in·drain sentinel·문서 백필·GPT-6 컨텍스트(272k/872k)에 넣었다. Sol의 alias가 아니라 자기 지시문, 기본 effort low, multi_agent_reasoning_effort: xhigh, Fast 티어 문구가 다르다. API-key 가격 행은 이번에도 안 넣었다. 베이스는 dev다.

docs-site/.../providers.md - Sol/Luna는 표에 있는데 gpt-6.1-sol은 표에 없고 아래 문단만 있다. 그 문단도 “GPT-6.1 Sol이 gpt-6.1-sol과 같은 방식으로 등록된다”처럼 같은 말을 두 번 해서 읽기 어렵다. Sol/Luna 문장처럼 “네이티브 슬러그는 gpt-6.1-sol, 표시 이름은 GPT-6.1-Sol”로 맞추고 표에 한 줄을 넣는 편이 낫다.

tests/.../gpt6-native-rows.test.ts - 새 모델의 라벨·창·사다리·지시문 분리는 잘 잡는다. 그런데 buildCatalogEntries로 카탈로그를 만드는 테스트는 여전히 Sol/Luna만 넣는다. 6.1 Sol이 실제 빌드 경로에서도 같은 display/ladder로 나오는지까지는 이 테스트가 안 본다. PR이 강조한 Fast 티어(“2x speed, increased usage”)도 어설션이 없다.

src/codex/data/roster-pinned-models.json - 파일 source 메모는 0.155.0(Sol/Luna)과 0.159.0(6.1)이 섞여 있다. 의도는 분명하다. 다만 라이브 로스터가 이미 gpt-6-sol 설명을 “Previous generation…”으로 바꿨는데 핀은 옛 문구를 유지한다. 작성자가 스코프 밖으로 둔 선택이다.

메인테이너의 판단이 필요한 지점

gpt-6-sol 핀 설명을 이번 PR에서 같이 고칠지, 따로 둘지. 그리고 아직 draft이고 review readiness 체크리스트가 0/4다. 로컬에서 full suite는 안 돌렸고, 작성자는 실패 6개가 clean dev에도 있다고 적었다. CI를 최종 게이트로 둘지 확인이 필요하다.

너의 추천

카탈로그 등록 자체는 #5580 패턴과 맞고, 지시문/기본 effort 분리 테스트도 핵심을 잡는다. docs 표·문장만 고치고, buildCatalogEntries에 6.1 Sol 한 케이스를 넣은 뒤 readiness 체크를 채우면 머지해도 된다. Sol 설명 갱신은 별 PR로 두는 편이 이 변경의 초점을 지킨다.

이 댓글은 grok-bot이 작성했습니다

bcdonadio added a commit to bcdonadio/opencodex that referenced this pull request Sep 29, 2026
Carry upstream PR lidge-jun#6252 at 038326c
so the user override build includes the self-described native model.

Address the maintainer review by adding the documentation table row and
clear slug wording, and asserting the built catalog row and Fast tier.
Keep the older Sol description unchanged as the review recommends.

Focused catalog and discovery checks pass. GUI/package and installed
runtime integrity checks pass. The docs build renders successfully but
its final check reports nine broken links outside the edited page.

Co-authored-by: Giulio Leone <giulioleone097@gmail.com>
Signed-off-by: Bernardo Donadio <bcdonadio@bcdonadio.com>
@giulioleone097

Copy link
Copy Markdown
Contributor Author

Superseded by #6263, which pins the same GPT-6.1 Sol roster row and also covers the API-key, OpenRouter, Copilot and pricing rows. Closing this one; thanks for the review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants