Teknium
f6bd1633f7
fix(reasoning): GLM-5.3 on Nous/OpenRouter no longer 400s when thinking is disabled
...
Reasoning-mandatory routes answer reasoning: {enabled: false} with HTTP 400
"Reasoning is mandatory for this endpoint and cannot be disabled". Hermes
sends that disable for /reasoning none, agent.reasoning_effort: none, and the
one-shot thinking-exhaustion continuation override (which GLM-5.3-flash
triggers on its own). The Nous profile's catalog guard swallows the disable
only when its per-process capability cache already says mandatory; a gateway
that warmed the cache before the route flipped kept sending it, and the 400
was classified as a non-retryable format_error that aborted the turn.
- error_classifier: new reasoning_mandatory reason (retryable, no fallback,
no compression), matched before the request-validation branch.
- conversation_loop: one-shot recovery — set agent._reasoning_disable_rejected,
queue a catalog refresh for the provider, retry.
- chat_completion_helpers: _reasoning_config_for_wire drops every disable
(configured or ephemeral) once the route has rejected one.
- hermes_cli/models: refresh_reasoning_caps_async(provider) forces a
background re-fetch of the Nous/OpenRouter catalog.
- openrouter profile: omit a disable when the catalog marks the route
mandatory (parity with the Nous profile).
Live: z-ai/glm-5.3-flash on the Portal with a poisoned mandatory:false cache.
Before: turn aborted with the 400. After: one retry, thinking stays on, turn
completes.
2026-09-03 05:20:11 -07:00
..
2026-09-03 02:32:15 -07:00
2026-08-25 14:02:40 -07:00
2026-08-28 23:38:59 -05:00
2026-07-24 11:45:57 -07:00
2026-08-15 13:28:14 -07:00
2026-09-02 00:55:42 -07:00
2026-08-07 10:11:05 -07:00
2026-07-22 10:58:22 -07:00
2026-08-26 10:10:11 -07:00
2026-09-02 05:34:28 -07:00
2026-09-03 03:42:15 -07:00
2026-09-02 05:33:13 -07:00
2026-09-02 00:58:29 -07:00
2026-08-29 18:34:35 -07:00
2026-08-29 18:34:35 -07:00
2026-07-18 20:01:55 +05:30
2026-07-16 04:23:12 -07:00
2026-09-02 21:46:36 -07:00
2026-08-02 10:02:33 -07:00
2026-07-26 23:41:54 -07:00
2026-09-01 16:27:13 +05:30
2026-07-21 13:54:11 -05:00
2026-09-01 08:30:26 -07:00
2026-07-22 18:08:59 -05:00
2026-07-29 11:53:39 -07:00
2026-07-29 11:53:39 -07:00
2026-07-05 14:00:20 -07:00
2026-08-10 10:45:44 -07:00
2026-08-12 19:13:32 -07:00
2026-09-03 05:20:11 -07:00
2026-08-31 09:58:51 -07:00
2026-08-28 04:58:14 -07:00
2026-09-02 13:28:41 +05:30
2026-08-29 18:23:07 -07:00
2026-08-15 03:16:21 -07:00
2026-08-21 21:53:11 +05:30
2026-09-01 15:34:03 -07:00
2026-09-03 12:26:22 +05:30
2026-08-08 23:09:45 +05:30
2026-09-02 10:33:43 -07:00
2026-09-03 11:29:36 +05:30
2026-09-03 05:20:11 -07:00
2026-09-02 09:57:39 -07:00
2026-08-29 18:34:35 -07:00
2026-09-02 09:33:05 -07:00
2026-08-08 12:32:23 -07:00
2026-08-28 15:39:23 -03:00
2026-09-03 01:43:22 +05:30
2026-08-31 10:08:13 -07:00
2026-08-31 10:42:39 -07:00
2026-08-06 03:16:26 +05:30
2026-08-29 08:26:24 -07:00
2026-09-03 03:41:52 -07:00
2026-09-03 05:20:11 -07:00
2026-08-21 15:24:03 -07:00
2026-07-17 13:49:12 -07:00
2026-09-01 00:35:29 +05:30
2026-09-02 05:33:13 -07:00
2026-08-28 06:36:22 -07:00
2026-09-02 09:57:39 -07:00
2026-07-26 20:59:16 -07:00
2026-07-29 15:28:15 -07:00
2026-08-08 14:49:28 -07:00
2026-08-19 16:10:01 -07:00
2026-09-01 16:01:53 -04:00
2026-08-14 02:04:24 +05:30
2026-08-23 18:25:19 -07:00
2026-07-26 12:54:45 -07:00
2026-07-14 16:47:33 +05:30
2026-08-08 05:09:43 -07:00
2026-07-29 11:53:39 -07:00
2026-07-16 07:57:51 -07:00
2026-08-19 22:41:05 -07:00
2026-08-31 09:57:22 -07:00
2026-08-25 03:55:55 -07:00
2026-08-15 01:04:19 -07:00
2026-08-30 20:40:43 -07:00
2026-08-29 12:06:48 +05:30
2026-08-13 23:10:16 +05:30
2026-09-03 00:58:16 -07:00
2026-09-03 00:58:16 -07:00
2026-07-20 11:05:52 -07:00
2026-08-30 05:16:10 -07:00
2026-07-24 17:10:39 -07:00
2026-07-22 12:10:58 -05:00
2026-09-02 21:46:36 -07:00
2026-09-02 07:00:13 -07:00
2026-09-03 02:44:24 -07:00
2026-08-29 19:14:15 -07:00
2026-08-12 16:25:20 -07:00
2026-08-12 18:38:25 -07:00
2026-09-01 02:14:35 -07:00
2026-09-03 02:35:21 -07:00
2026-09-03 04:02:35 -07:00
2026-08-29 11:33:05 +05:30
2026-09-01 02:14:35 -07:00
2026-08-29 12:23:41 +05:30
2026-08-26 10:10:11 -07:00
2026-07-10 05:41:59 -05:00
2026-08-29 20:39:44 +05:30
2026-08-06 22:02:37 -05:00
2026-08-27 03:24:20 -07:00
2026-09-01 12:07:16 -07:00
2026-08-28 08:28:21 -04:00
2026-08-28 08:28:21 -04:00
2026-08-28 08:28:21 -04:00
2026-08-16 01:55:51 -07:00
2026-07-19 08:25:35 +05:30
2026-07-29 10:13:50 -07:00
2026-08-23 19:04:37 -07:00
2026-09-01 16:01:53 -04:00
2026-09-02 05:34:28 -07:00
2026-09-03 04:56:59 +05:30
2026-08-21 13:21:46 +10:00
2026-08-29 13:02:13 +05:30
2026-09-02 07:00:13 -07:00
2026-08-29 08:23:47 -07:00
2026-07-29 12:20:34 -07:00
2026-09-02 07:00:13 -07:00
2026-07-29 15:28:15 -07:00
2026-09-03 01:33:18 +05:30
2026-08-08 15:10:24 +05:30
2026-09-03 02:35:21 -07:00
2026-07-17 18:31:09 +00:00
2026-09-03 02:35:37 -07:00
2026-09-03 04:56:59 +05:30
2026-07-22 08:11:09 +05:30
2026-08-31 10:10:25 -07:00
2026-08-24 20:10:44 -07:00
2026-08-24 20:10:44 -07:00
2026-07-16 01:07:29 +05:30
2026-08-15 00:33:01 -07:00
2026-08-16 22:10:02 -07:00
2026-08-25 15:24:15 -07:00
2026-09-02 22:03:27 -04:00
2026-09-02 00:26:57 -07:00
2026-07-11 05:41:58 -07:00
2026-08-14 21:41:26 -07:00
2026-08-29 11:33:05 +05:30
2026-08-12 19:01:30 -07:00
2026-08-12 19:13:32 -07:00
2026-09-02 05:35:14 -07:00
2026-08-12 19:13:32 -07:00
2026-09-03 03:07:33 +05:30
2026-09-02 13:28:41 +05:30
2026-09-03 02:44:24 -07:00
2026-09-03 05:20:11 -07:00
2026-08-29 08:26:24 -07:00
2026-09-03 04:00:51 +05:30
2026-08-16 00:14:58 -07:00
2026-08-12 01:15:25 -07:00
2026-08-29 12:33:44 +05:30
2026-08-28 05:10:33 -07:00
2026-08-19 16:10:01 -07:00
2026-09-01 10:56:49 -07:00
2026-09-01 10:56:49 -07:00