Widen thinking-disable trigger to small output budgets

#9
by pierric HF Staff - opened

Problem

The thinking-disable dialects in convert_anthropic_to_openrouter trigger only on stop_sequences. That misses two classifier call shapes:

  • Claude Code xml_fast stage-1: 256-token budget, verdict parsed from plain text โ€” sends no stop_sequences (only the xml_2stage variant does).
  • Qwen Code classifyAction: 256-token budget hardcoded, thinkingConfig: {includeThoughts: false} omits the thinking field entirely.

On both, backend-side reasoning (M3/GLM think by default behind the HF router) burns the verdict budget โ†’ no verdict โ†’ "classifier unavailable" โ†’ spurious manual-approval prompts.

Change

Widen the trigger to !stop_sequences.is_empty() || max_tokens <= 512. Real calls (stage 2 = 8192, main loop 32k+) can't false-hit; any small-budget call is the failure mode, so the rule is self-consistent.

Tests: new small-budget + large-budget-negative cases; existing no-stop-sequence test updated to a large budget (its 100-token fixture now trips the new gate).

๐Ÿค– Generated with Claude Code (model: zai-org/GLM-5.3-Flash:fastest)

Ready to merge
This branch is ready to get merged automatically.

Sign up or log in to comment