mirror of
https://github.com/instructkr/claw-code.git
synced 2026-04-08 17:14:49 +08:00
Reasoning models reject temperature, top_p, frequency_penalty, and presence_penalty with 400 errors. Instead of letting these flow through and returning cryptic provider errors, strip them silently at the request-builder boundary. is_reasoning_model() classifies: o1*, o3*, o4*, grok-3-mini. stop sequences are preserved (safe for all providers). Tests added: - reasoning_model_strips_tuning_params: o1-mini strips all 4 params, keeps stop - grok_3_mini_is_reasoning_model: classification coverage for grok-3-mini, o1, o3-mini, and negative cases (gpt-4o, grok-3, claude) 85 api lib tests passing, 0 failing.