1.5.1 — ask for a PDF and get a PDF
Ask for a PDF and get a PDF.
Asked to research EDR and SIEM tools and write a report, Mynah spent two minutes searching, then said it had the research but the file was not built yet — and asked whether you would like it. Say yes and it did the same thing again. And again.
It was not stalling and it was not refusing. It called the tool that writes the file eight times in that turn, and every one of those calls arrived empty.
A document travels inside the tool call. That is the whole bug. When Mynah writes you a file, the entire report is an argument to write_note — so the cap on how much a model may generate in one turn is not bounding the reply, it is bounding the document. Run past it and the call is cut off mid-sentence, and a half-written call is not a short document. It is no document at all: the arguments will not parse, so the tool sees a request to write a file with nothing in it, and says so. Eight times. Then the turn hit its iteration limit and fell through to the wrap-up — which is run with the tools deliberately taken away — and the only thing a wrap-up can do is describe what happened and ask whether to keep going.
Two separate faults put the wrong number there, and either alone was enough.
The first was one setting holding two halves of two different answers. The turn's configuration took its writing instructions from "you are being read on a screen" and its token ceiling from "you are being read aloud" — a 40-word spoken reply's budget, handed to something writing a two-page report. The window inherited both. They now come from one place, and a test asserts they agree.
The second was a floor that existed and was never copied. The Anthropic connection has raised any too-small ceiling since the day it was written, because a hosted model that reasons before it answers will spend a small allowance thinking and return nothing at all. Nothing did that for DeepSeek, so DeepSeek got the small number unopposed. An Anthropic brain would have survived this. The one you were using could not.
The guard that should have caught this was written for this exact bug and still missed it. The same mistake happened once before, in the Signal daemon, and the test written afterwards named the file it had happened in. It passed for three releases while the window — a different target, the same mistake — repeated it. It now reads every source file in the project. Putting the bug back makes it fail, which is the only version of that test worth having.
Also in this release
A turn that dies because it ran out of room now says so, instead of suggesting you rephrase. The old sentence — try asking a different way, it does better with a whole sentence — is good advice for a two-word question and useless after a full one; the length of the answer was the problem, not the question.
And when a document does arrive empty, the tool now names truncation as a possible cause and suggests writing it shorter or splitting it in two. The model cannot see that its own output was cut off, which is why it tried the identical call eight times rather than a smaller one.
The waiting line on a long turn no longer calls it "a big recall".
1709 tests, 0 failures. Notarized and stapled.