Skip to main content

REASONING_PLACEHOLDER

Constant REASONING_PLACEHOLDER 

Source
pub const REASONING_PLACEHOLDER: &str = "(no reasoning recorded)";
Expand description

Sentinel emitted on outbound reasoning_content when we have nothing to echo (cross-provider handoff, pre-fix session, non-thinking model that still tool-called) but the receiving API requires the field to be non-empty (DeepSeek V4 thinking mode rejects empty strings).

TurnRunner::Done checks reasoning_buf against this exact value and refuses to promote it back into the assistant text channel — without that gate, a buggy gateway echoing our placeholder caused silent Nailed it · 0 tok mid-task stops (user reported (no reasoning recorded) showing up as the only assistant output after 17 reading rounds).