Skip to content

fix(gateway,moa): surface and preserve extended reasoning efforts (salvage #64012) - #65651

Merged
teknium1 merged 2 commits into
mainfrom
fix/gateway-reasoning-effort-surfaces
Jul 16, 2026
Merged

fix(gateway,moa): surface and preserve extended reasoning efforts (salvage #64012)#65651
teknium1 merged 2 commits into
mainfrom
fix/gateway-reasoning-effort-surfaces

Conversation

@teknium1

Copy link
Copy Markdown
Contributor

Summary

/reasoning on the gateway now advertises the full effort ladder — max and ultra (added for GPT-5.6 in #62650) were accepted by the handler but every locale's status/error message still claimed xhigh was the ceiling, making the new levels undiscoverable.

Salvage of #64012 by @karfly, cherry-picked onto current main with authorship preserved, plus a follow-up widening the same bug class in MoA.

Changes

  • gateway/slash_commands.py: route /reasoning effort validation through the canonical hermes_constants.parse_reasoning_effort instead of a second hand-maintained whitelist (@karfly)
  • locales/*.yaml (all 16): status + unknown_arg strings now list max and ultra (@karfly)
  • tests/run_agent/test_run_agent_codex_responses.py: wire regression — max reaches the Responses API unchanged (@karfly)
  • hermes_cli/moa_config.py: sibling site — _clean_reasoning_effort had its own whitelist stopping at max, silently dropping ultra from MoA slot configs; now routes through the same canonical parser (follow-up)
  • tests/hermes_cli/test_moa_config.py, website/docs/user-guide/features/mixture-of-agents.md: ultra coverage + docs
  • scripts/release.py: AUTHOR_MAP entry for @karfly

Validation

Before After
Gateway /reasoning help ceiling shown as xhigh max, ultra advertised in all 16 locales
Effort whitelist sites 3 (parser, gateway, MoA) 1 (canonical parser)
MoA slot reasoning_effort: ultra silently dropped preserved

Targeted: tests/gateway/test_reasoning_command.py, tests/hermes_cli/test_moa_config.py, tests/run_agent/test_run_agent_codex_responses.py, tests/test_hermes_constants.py — 269 passed. E2E: real imports against temp HERMES_HOME confirmed all 16 locale strings render max|ultra, MoA round-trip preserves ultra, junk values still rejected.

Closes #64012. Refs #61634.

Infographic

gateway-reasoning-effort-surfaces

karfly and others added 2 commits July 16, 2026 05:45
_clean_reasoning_effort kept its own whitelist that stopped at 'max',
silently dropping 'ultra' from MoA slot configs. Route it through
hermes_constants.parse_reasoning_effort — the same one-source-of-truth
fix the salvaged commit applies to the gateway — so future effort
levels can't drift here either. Docs updated to list ultra.

Follow-up to salvaged PR #64012.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/cli CLI entry point, hermes_cli/, setup wizard comp/gateway Gateway runner, session dispatch, delivery P3 Low — cosmetic, nice to have provider/openai OpenAI / Codex Responses API sweeper:risk-compatibility Sweeper risk: may break existing users, config, migrations, defaults, or upgrades type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants