Skip to content

test(escalation): thinking off for Gemma 4 as well as Qwen, through both backends - #43

Merged
rudi193-cmd merged 1 commit into
masterfrom
test/escalation-gemma4-think-off
Sep 30, 2026
Merged

rudi193-cmd merged 1 commit into
masterfrom
test/escalation-gemma4-think-off

Conversation

@willows-bot

@willows-bot willows-bot Bot commented Sep 30, 2026

Copy link
Copy Markdown

Bite

Every model that thinks by default (Qwen, Gemma 4) answers with thinking off, through both backends, so all eight ladder models answer on the same terms.

Decision

Turn Gemma 4's thinking off rather than raise the output cap for everyone. Operator: "turn thinking off for gemma, and re run". Equal terms across the ladder was the design since #38 (Qwen thinking off); Gemma 4 was the one model still reasoning first.

What was done

  • thinks_by_default(model): Qwen (substring qwen) or Gemma 4 (prefix gemma4, case-insensitive).
  • build_chat_payload: think: false for both; the /no_think suffix stays Qwen-only; models that do not think still get no think field (some refuse it).
  • socket_backend.chat_request forwards think to the delegate only when the payload carries it.

Evidence

  • Step-2b smoke (64 rows, before this change): gemma4:e2b tokens_out up to 478 with ~30-token visible answers, all done_reason: stop; every other model ≤ 73.
  • python3 -m pytest -q tests/test_escalation_socket_backend.py tests/test_escalation_runner.py tests/test_escalation_fixtures.py → 151 passed in 2.29s; privacy gate OK; ruff clean.
  • Mutants: Gemma 4 dropped from thinks_by_default → 4 failed; socket forward dropped → 3 failed.
  • Loki audit 1104C410 in progress at open.

Out of scope

Next bite

Re-run the gemma4 smoke to confirm output tokens drop, then the full 8-model ladder with --resume.

Ratified-by: sean-campbell — "turn thinking off for gemma, and re run"

🤖 Generated with Claude Code

https://claude.ai/code/session_01Vcntd3qgAxd6gnPEvVukVm

…oth backends

The step-2b smoke run showed gemma4:e2b answering in ~30 visible tokens
while spending up to 478 output tokens on hidden reasoning, against the
512-token cap. Qwen thinking was already off (#38), so gemma4 alone
reasoned before answering: not equal terms, and one long reply from a
length truncation.

thinks_by_default() names Qwen and Gemma 4; build_chat_payload gives both
think: false (the /no_think suffix stays Qwen-only; models that do not
think still get no think field, since some refuse it). The socket backend
forwards the payload's think field to the delegate when present.

Persona: willow
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Vcntd3qgAxd6gnPEvVukVm
@rudi193-cmd
rudi193-cmd merged commit a63c15a into master Sep 30, 2026
17 checks passed
@rudi193-cmd
rudi193-cmd deleted the test/escalation-gemma4-think-off branch September 30, 2026 23:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant