• Stefy Lanza (nextime / spora )'s avatar
    keep a caller's passthrough through the backend-negotiation ladder (v0.4.66) · f84a666c
    Stefy Lanza (nextime / spora ) authored
    `enable_thinking: false` came back still thinking, verified on a pod running
    the v0.4.65 image with --reasoning-parser qwen3 (the other four checks passed:
    reasoning_content populated, content clean, and streamed thinking starting
    0.4s in against the answer at 2.8s).
    
    generate_chat negotiates optional kwargs by calling the backend and retrying
    on TypeError. Every variant that carried `passthrough` ALSO carried
    `enable_thinking`, which a proxy backend does not accept -- so those variants
    raised TypeError, and the variant that survived had dropped the passthrough
    with it. A caller's `chat_template_kwargs` therefore never reached a pod at
    all. `enable_thinking` was merely the visible case: OCR's
    `continue_final_message` would have been dropped on a pod the same way.
    
    `_lp` and `_pt` are already SIGNATURE-gated -- empty for a backend that cannot
    take them, so they never raise TypeError. Only enable_thinking and the
    penalties are negotiated that way, so only those are peeled off now, and the
    passthrough is dropped last rather than first.
    Co-Authored-By: 's avatarClaude Opus 5 <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_01S8LAP3ueNzQJtwzhgVbq66
    f84a666c
test_thinking_reaches_the_client.py 17.5 KB