hermes-agent/gateway/platforms
Drexuxux 93964fda3d fix(api-server): resolve reasoning for the request's model, not model.default
e81d18dfb collapsed six per-surface copies of reasoning resolution onto
resolve_reasoning_config() and, in its own words, "fixes the gateway
resolving reasoning against config model.default instead of the session's
effective model". It did not touch gateway/platforms/api_server.py, which
kept that defect.

_create_agent() called GatewayRunner._load_reasoning_config() with no
model on its first line — before the model precedence chain (browser lock
-> session /model -> session row -> route -> per-request -> defaults) has
run. Per-model agent.reasoning_overrides therefore keyed off model.default
on the one surface where every request names its own model: a request for
a model with an override silently got the global effort instead.

Resolve after the chain settles, so the override follows the model the
request actually runs. An explicit per-request reasoning parameter still
takes precedence over config.

The existing test stub for _load_reasoning_config took no arguments (it
mirrored the old call); it now matches the real signature, as the sibling
stub in the same file already did.
2026-08-08 11:13:27 -07:00
..
qqbot
ADDING_A_PLATFORM.md
__init__.py
_http_client_limits.py
api_server.py
base.py
bluebubbles.py
helpers.py
media_cache.py
msgraph_webhook.py
signal.py
signal_format.py
signal_rate_limit.py
webhook.py
webhook_filters.py
weixin.py
whatsapp_cloud.py
whatsapp_common.py
yuanbao.py
yuanbao_media.py
yuanbao_proto.py
yuanbao_sticker.py