Repository navigation
v0.3.16
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), plusstrata_context.final_answer_missing=trueand afinal_answer_missingjournal 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.