Skip to content

Add OpenAI GPT-6 Sol and Luna support - #1090

Open
PeterDaveHello wants to merge 1 commit into
ChatGPTBox-dev:masterfrom
PeterDaveHello:addGpt6SolLunaSupport
Open

PeterDaveHello wants to merge 1 commit into
ChatGPTBox-dev:masterfrom
PeterDaveHello:addGpt6SolLunaSupport

Conversation

@PeterDaveHello

@PeterDaveHello PeterDaveHello commented Sep 22, 2026

Copy link
Copy Markdown
Member

Summary

  • Add GPT-6 Sol and Luna as built-in OpenAI API models with names in the model picker.
  • Use them in the default preset list in place of GPT-5.6 Sol and Luna while preserving existing users' saved modes and the older model options.
  • Use max_completion_tokens and omit custom temperature for GPT-6 requests.

References

Register GPT-6 Sol and Luna as built-in OpenAI models and replace their
GPT-5.6 counterparts in the default preset list.

Use GPT-6-compatible completion and temperature parameters while keeping
the GPT-5.6 presets available for existing configurations.

References:
- https://developers.openai.com/api/docs/models/gpt-6-sol
- https://developers.openai.com/api/docs/models/gpt-6-luna
- https://openai.com/index/introducing-gpt-6-sol-and-luna/
Copilot AI lite review requested due to automatic review settings September 22, 2026 19:57

@greptile-apps greptile-apps 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.

Your trial has ended. Reactivate Greptile to resume code reviews.

@coderabbitai

coderabbitai Bot commented Sep 22, 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: defaults

Review profile: CHILL

Plan: Advanced

Run ID: b886f7b6-bd07-4b17-abc4-cdd93efa58ff

📥 Commits

Reviewing files that changed from the base of the PR and between 6554b8e and 8a406ae.

📒 Files selected for processing (9)
  • src/_locales/en/main.json
  • src/config/index.mjs
  • src/services/apis/openai-token-params.mjs
  • src/services/apis/temperature-params.mjs
  • tests/unit/config/config-predicates.test.mjs
  • tests/unit/services/apis/openai-api-compat.test.mjs
  • tests/unit/services/apis/openai-token-params.test.mjs
  • tests/unit/services/apis/temperature-params.test.mjs
  • tests/unit/utils/model-name-convert.test.mjs

Included review availability: Your plan provides up to 10 included reviews per hour; 8 remain after this review.


📝 Walkthrough

Walkthrough

Changes

GPT-6 Sol and Luna model support

Layer / File(s) Summary
Model configuration and presets
src/config/index.mjs, src/_locales/en/main.json
Adds GPT-6 Sol and Luna model keys, values, descriptions, localized names, and default preset entries. Replaces the GPT-5.6 Sol and Luna presets in the default list.
OpenAI parameter handling
src/services/apis/openai-token-params.mjs, src/services/apis/temperature-params.mjs
Uses max_completion_tokens for GPT-6 Astra, Sol, and Luna variants. Excludes GPT-6 Sol and Luna from custom temperature overrides.
Model support validation
tests/unit/config/config-predicates.test.mjs, tests/unit/services/apis/*, tests/unit/utils/model-name-convert.test.mjs
Tests default membership, request parameters, temperature behavior, token parameter selection, lookalike model handling, and model descriptions.

Priority: ➖ Normal

Estimated code review effort: 2 (Simple) | ~12 minutes

Change: Feature

Sequence Diagram(s)

sequenceDiagram
  participant ModelConfig
  participant generateAnswersWithOpenAiApi
  participant openai-token-params
  participant temperature-params
  participant OpenAIAPI
  ModelConfig->>generateAnswersWithOpenAiApi: Select chatgptApi6Sol or chatgptApi6Luna
  generateAnswersWithOpenAiApi->>openai-token-params: Resolve token parameter
  generateAnswersWithOpenAiApi->>temperature-params: Resolve temperature parameter
  openai-token-params->>OpenAIAPI: Send max_completion_tokens
  temperature-params->>OpenAIAPI: Omit temperature
Loading

Merge Risk: ⚪ Minimal · up to 8a406

GPT-6 Sol and Luna support is internally consistent and ready to merge after normal checks.

🚥 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 2 functions across 8 files. (1 skipped: 1 … Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: adding OpenAI GPT-6 Sol and GPT-6 Luna support.
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 2 functions across 8 files. (1 skipped: 1 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.

@qodo-code-review

Copy link
Copy Markdown
Contributor

PR Summary by Qodo

Add OpenAI GPT-6 Sol and Luna support

✨ Enhancement 🧪 Tests 🕐 20-40 Minutes

Grey Divider

AI Description

• Registers GPT-6 Sol and Luna as localized, selectable OpenAI models.
• Promotes both models to defaults while retaining GPT-5.6 options.
• Applies GPT-6 completion-token semantics and suppresses unsupported temperature overrides.
Diagram

sequenceDiagram
  actor User
  participant Picker as Model Picker
  participant Registry as Model Registry
  participant Service as OpenAI Service
  participant Policies as Request Policies
  participant API as OpenAI API
  User->>Picker: Choose GPT-6 model
  Picker->>Registry: Resolve preset
  Registry-->>Picker: Return model ID
  Picker->>Service: Submit prompt and model
  Service->>Policies: Build request parameters
  Policies-->>Service: Completion limit, no temperature
  Service->>API: Send chat completion
Loading
High-Level Assessment

The PR appropriately extends the centralized model registry and existing request-policy helpers rather than adding model-specific branches to the OpenAI service. A blanket rule for every gpt-6-* model was considered but would assume compatibility for unknown future variants; explicitly listing supported GPT-6 families is safer.

Files changed (9) +68 / -11

Enhancement (4) +11 / -3
main.jsonAdd localized GPT-6 Sol and Luna names +2/-0

Add localized GPT-6 Sol and Luna names

• Adds English model-picker labels for the two new OpenAI presets.

src/_locales/en/main.json

index.mjsRegister and enable GPT-6 Sol and Luna +6/-2

Register and enable GPT-6 Sol and Luna

• Registers model keys and OpenAI identifiers for GPT-6 Sol and Luna. Replaces GPT-5.6 Sol and Luna in the default preset list while leaving the older registrations selectable.

src/config/index.mjs

openai-token-params.mjsUse completion-token limits for new GPT-6 models +1/-1

Use completion-token limits for new GPT-6 models

• Extends the OpenAI compatibility pattern so GPT-6 Sol and Luna use 'max_completion_tokens' instead of 'max_tokens', including version-suffixed variants.

src/services/apis/openai-token-params.mjs

temperature-params.mjsDisable custom temperature for GPT-6 Sol and Luna +2/-0

Disable custom temperature for GPT-6 Sol and Luna

• Adds both models to the centralized set of model families that do not accept temperature overrides.

src/services/apis/temperature-params.mjs

Tests (5) +57 / -8
config-predicates.test.mjsVerify GPT-6 model registration and defaults +10/-0

Verify GPT-6 model registration and defaults

• Adds GPT-6 Sol and Luna to representative OpenAI model coverage. Verifies they replace their GPT-5.6 counterparts in the default preset list.

tests/unit/config/config-predicates.test.mjs

openai-api-compat.test.mjsTest GPT-6 request compatibility end to end +23/-2

Test GPT-6 request compatibility end to end

• Extends OpenAI request tests across Astra, Sol, and Luna. Confirms each sends 'max_completion_tokens', omits 'max_tokens' and temperature, and records the response.

tests/unit/services/apis/openai-api-compat.test.mjs

openai-token-params.test.mjsCover GPT-6 token-parameter model matching +15/-3

Cover GPT-6 token-parameter model matching

• Verifies Sol and Luna receive completion-token parameters only for the OpenAI provider. Adds near-match cases to prevent accidental matching of unsupported GPT-6 model names.

tests/unit/services/apis/openai-token-params.test.mjs

temperature-params.test.mjsCover GPT-6 temperature restrictions +6/-2

Cover GPT-6 temperature restrictions

• Verifies temperature overrides are omitted for GPT-6 Sol and Luna across normalized provider formats. Preserves override support for similarly named unsupported models.

tests/unit/services/apis/temperature-params.test.mjs

model-name-convert.test.mjsVerify GPT-6 display-name conversion +3/-1

Verify GPT-6 display-name conversion

• Confirms the new preset keys resolve to their expected OpenAI display names and broadens the test description beyond GPT-5 presets.

tests/unit/utils/model-name-convert.test.mjs

@qodo-code-review

Copy link
Copy Markdown
Contributor

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (1) 📜 Skill insights (0)

Grey Divider


Remediation recommended

1. Other locales fall back to English 📘 Rule violation ⚙ Maintainability
Description
OpenAI (GPT-6 Sol) and OpenAI (GPT-6 Luna) are added only to the English localization file, with
no corresponding entries in the twelve other supported locales. Whenever a non-English locale
displays either new model, the localization fallback reaches the English source label instead of a
locale-owned translation or placeholder.
Code

src/_locales/en/main.json[R230-231]

+  "OpenAI (GPT-6 Sol)": "OpenAI (GPT-6 Sol)",
+  "OpenAI (GPT-6 Luna)": "OpenAI (GPT-6 Luna)",
Evidence
Rule 2262059 requires new English localization keys to be accompanied by a translation or
placeholder in every additional supported locale. The PR adds the two English keys, while the locale
registry lists twelve additional locales and repository-wide inspection confirms that neither key
exists in any of their main.json files; the configured English fallback therefore supplies their
displayed values.

Rule 2262059: Add new English localization keys before other locales
src/_locales/en/main.json[230-231]
src/_locales/resources.mjs[1-53]
src/_locales/i18n.mjs[4-6]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The two new model-label keys exist only in the English localization file, while the localization checklist requires each supported locale to contain a translation or placeholder.

## Fix Focus Areas
- src/_locales/en/main.json[230-231]
- src/_locales/resources.mjs[1-53]

## Recommended Fix
Add `OpenAI (GPT-6 Sol)` and `OpenAI (GPT-6 Luna)` to every locale imported by `resources.mjs`, using translated values where appropriate or the English labels as project-compatible placeholders.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Context sources
✅ Compliance rules (platform): 6 rules
Review mode: ⚖️ Balanced: This is a localized model-support change affecting runtime API request construction, model defaults, and compatibility behavior, so it carries real behavioral risk but not enough independent logic density to warrant extended review.

Grey Divider

Tip of the day
💡 Did you know, you can route each action level your way: inline, summary, both, or drop

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

Comment thread src/_locales/en/main.json

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.

Copilot review overview

🟡 Changes recommended

Existing materialized profiles need a migration to replace GPT-5.6 defaults with GPT-6 while retaining the older models as selectable.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 1 Medium severity

Open (1)
What changed in this PR

Adds GPT-6 Sol and Luna as built-in OpenAI models with updated request parameters and picker labels.

Changes:

  • Registers GPT-6 models and updates default presets.
  • Uses GPT-6-compatible token and temperature parameters.
  • Adds localization and test coverage.
File Summary
tests/​unit/​utils/​model-name-convert.test.mjs Tests model descriptions.
tests/​unit/​services/​apis/​temperature-params.test.mjs Tests temperature handling.
tests/​unit/​services/​apis/​openai-token-params.test.mjs Tests token parameter selection.
tests/​unit/​services/​apis/​openai-api-compat.test.mjs Tests GPT-6 request payloads.
tests/​unit/​config/​config-predicates.test.mjs Tests model and default registration.
src/​services/​apis/​temperature-params.mjs Omits unsupported temperature overrides.
src/​services/​apis/​openai-token-params.mjs Uses completion-token parameters.
src/​config/​index.mjs Adds models and defaults; existing profiles need migration to deactivate old defaults.
src/​_locales/​en/​main.json Adds English model labels.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread src/config/index.mjs

@pullfrog pullfrog 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 new issues found.

Reviewed changes

  • New OpenAI presetschatgptApi6Sol (gpt-6-sol) and chatgptApi6Luna (gpt-6-luna) added to Models and chatgptApiModelKeys, with matching en locale strings.
  • Default preset swapdefaultApiModeIds drops chatgptApi5_6Sol/chatgptApi5_6Luna and adds the GPT-6 pair; GPT-5.6 Sol/Luna remain selectable, and the knownApiModeDefaultIds migration appends the new defaults without removing existing ones.
  • Wire-param handlingopenai-token-params.mjs now routes gpt-6-(astra|sol|luna) to max_completion_tokens, and both ids are added to MODELS_WITHOUT_CUSTOM_TEMPERATURE so custom temperature is omitted.
  • Test updates — coverage extended across config-predicates, openai-api-compat, openai-token-params, temperature-params, and model-name-convert.

The change follows the established GPT-6 Astra precedent end to end, keeps the older presets available, and the affected unit tests pass locally (node --import ./tests/setup/browser-shim.mjs --test).

Pullfrog  | View workflow run | Using DeepSeek Flash (free via Pullfrog for OSS) | 𝕏

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants