Skip to content

v0.3.16

Choose a tag to compare

@maverde73 maverde73 released this 28 Oct 11:14

No more silent empty answers after a closed search (#30, #31).

When the recall search is closed (round limit or no room) and the model keeps emitting recall calls instead of answering, the proxy retried twice and then dropped the call, returning an empty completion with finish_reason: stop. Seen in 2 of 46 runs of the 0.3.13 A/B and 3 of 100 proxy runs of the AgentLongBench confirmation run, always with the evidence already delivered.

  • The last retry now sets tool_choice: "none", so the model has to answer in text. Tool schemas and earlier attempts are unchanged, to keep the prompt prefix stable.
  • If there is still no public text, the client gets an explicit notice ([context manager: search closed; the model did not produce a final text answer…], also in streaming), plus strata_context.final_answer_missing=true and a final_answer_missing journal event. The proxy never turns private reasoning into an answer.

Verified with the fake engine (model that obeys, model that returns only whitespace, model that ignores tool_choice), streaming and non-streaming; not yet re-measured on a real model.