Skip to content

Explicit reasoning.effort: none is silently rewritten to low #116

Description

@EmBista

With model sync enabled, ChatMock silently rewrites reasoning.effort: none to low because none is missing from the Codex model catalog's selectable reasoning levels.

Direct backend tests confirmed every model currently exposed by ChatMock accepts none, including GPT-5.4, GPT-5.5, GPT-5.6 Sol/Terra/Luna, and Daybreak Blue.

ChatMock should pass explicit effort values upstream unchanged, or return the upstream error instead of silently rewriting them.


Tested by sending a Responses payload directly through ChatMock's authenticated upstream client:

{
    "model": "gpt-5.6-luna",
    "input": [...],
    "stream": True,
    "reasoning": {"effort": "none"}
}

This bypassed only ChatMock's local build_reasoning_param() validation/clamping.

All exposed models succeeded with none.

As a control, Luna with minimal returned HTTP 400:

Unsupported value: 'minimal' … Supported values are: 'none', 'low', 'medium', 'high', 'xhigh', and 'max'.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions