Skip to content

feat(llm, openai): Add GPT-5.4 family and none reasoning effort#460

Merged
JeanMertz merged 2 commits intomainfrom
prr30
Mar 19, 2026
Merged

feat(llm, openai): Add GPT-5.4 family and none reasoning effort#460
JeanMertz merged 2 commits intomainfrom
prr30

Conversation

@JeanMertz
Copy link
Collaborator

Adds a none field to ReasoningDetails::Leveled to indicate that a model supports completely disabling reasoning. This is now the first candidate returned by lowest_effort(), sitting below xlow.

Several new OpenAI models are added: gpt-5.4, gpt-5.4-pro, gpt-5.4-mini, gpt-5.4-nano, gpt-5.3-codex, and gpt-5-pro. All of these carry the new TEMP_REQUIRES_NO_REASONING feature flag, which is also applied retroactively to the existing GPT-5 and GPT-5.1/ 5.2 families. When this flag is set and reasoning effort is anything other than none, temperature and top_p are stripped from the request and a warning is emitted — matching the constraint the OpenAI API enforces for these models.

Two further improvements land for the OpenAI provider. Response verbosity (low/medium/high) can now be set via the catch-all parameters.other.verbosity config key, and is forwarded to the API through TextConfig. Message phase (commentary/final_answer) is now round-tripped; it is persisted to conversation metadata under the openai_phase key when a response is received, and restored when that message is later sent back as input context.

The Google provider is updated to handle the new none field in pattern matches, and some model reasoning capability flags are corrected to better reflect reality.

Adds a `none` field to `ReasoningDetails::Leveled` to indicate that a
model supports completely disabling reasoning. This is now the first
candidate returned by `lowest_effort()`, sitting below `xlow`.

Several new OpenAI models are added: `gpt-5.4`, `gpt-5.4-pro`,
`gpt-5.4-mini`, `gpt-5.4-nano`, `gpt-5.3-codex`, and `gpt-5-pro`. All of
these carry the new `TEMP_REQUIRES_NO_REASONING` feature flag, which is
also applied retroactively to the existing GPT-5 and GPT-5.1/ 5.2
families. When this flag is set and reasoning effort is anything other
than `none`, `temperature` and `top_p` are stripped from the request and
a warning is emitted — matching the constraint the OpenAI API enforces
for these models.

Two further improvements land for the OpenAI provider. Response
verbosity (`low`/`medium`/`high`) can now be set via the catch-all
`parameters.other.verbosity` config key, and is forwarded to the API
through `TextConfig`. Message phase (`commentary`/`final_answer`) is now
round-tripped; it is persisted to conversation metadata under the
`openai_phase` key when a response is received, and restored when that
message is later sent back as input context.

The Google provider is updated to handle the new `none` field in pattern
matches, and some model reasoning capability flags are corrected to
better reflect reality.

Signed-off-by: Jean Mertz <git@jeanmertz.com>
Signed-off-by: Jean Mertz <git@jeanmertz.com>
@JeanMertz JeanMertz merged commit af70d0d into main Mar 19, 2026
12 checks passed
@JeanMertz JeanMertz deleted the prr30 branch March 19, 2026 11:44
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