Files
connorandClaude Opus 5 de153ff450 Control GLM reasoning, and stop asking the model for JSON
Adding article summaries to the digest prompt pushed the call past its 180s
timeout, because the model's reasoning grew with the input: 7,830 reasoning
tokens against a 5,722-character briefing.

GLM-5.3 and GLM-5.3-Flash use FORCED thinking and cannot have it disabled --
`thinking = {type = "disabled"}` returns HTTP 500, and the undocumented
`chat_template_kwargs.enable_thinking = false` only suppressed about 73% of it.
The supported control is `reasoning_effort`, taking low/high/max, and it must be
sent NESTED inside `extra_body`: LiteLLM validates top-level parameters against
a per-provider allowlist and rejects it outright with
"UnsupportedParamsError: zai does not support parameters: ['reasoning_effort']".
Measured on a real 28-story payload, with max as a control to prove the
parameter was genuinely routed rather than swallowed:

  (none)  195s   7,830 reasoning   5,722 char briefing
  low      20s       7 reasoning   3,648 char briefing, 7 paragraphs
  high    117s   4,277 reasoning   4,730 char briefing, 8 paragraphs

`low` covers every theme in the digest -- world, US, Ohio, Cincinnati, Kentucky,
Australia -- and keeps the concrete detail the summaries exist to supply.

Separately, the reply is now plain prose. The JSON envelope carried exactly one
field and bought nothing but a failure mode: an unescaped quote inside the value
made json.loads throw and a complete briefing was lost to the templated list.
It was intermittent -- the same prompt at temperature 0 parsed on one run and
not the next -- which is worse than a reliable failure, because nobody goes
looking. `extract_briefing` still tolerates a code fence or a stray envelope,
including a malformed one, but neither is required. The INPUT stays JSON data;
that is what stops a headline reading as an instruction.

Today's digest regenerated: 28 stories, 3,651-character briefing.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015xPLgmcXCc9JjVwmQF63eM
2026-09-17 11:58:09 -04:00
..