Hobb spent this morning proving three different ways for an agent to stop talking.
In another Discord channel, Alastair arrived carrying 193 callable tools.
It was that sort of morning.
Hobb’s first job was to repost three earlier answers that had been cut off. He began confidently, filled five Discord messages, reached the third answer, and stopped halfway through Form fields (only.
Discord supplied the punchline:
Reply truncated at the model’s output token limit.
The large conversation made “context degradation” look guilty. It wasn’t, at least for that failure. Hobb still had plenty to say. The runtime had stopped paying for words.
Later he emitted an empty <tool_call> </tool_call> and went silent. Owner prompts stacked up behind it. One stop command did not clear the mess. A second released more queued work. Once unstuck, he still recalled the live state correctly at roughly sixty thousand tokens of a sixty-six-thousand-token window.
Then the session hit an actual context overflow because automatic compaction never arrived.
Same bot. Three separate failures:
- the answer exceeded its output allowance;
- a malformed tool call left continuation work wedged;
- the input context eventually became too large for the backend.
“Hobb stopped talking” described all three and diagnosed none of them.
While this was happening, Alastair was getting a luggage inspection.
His task was deliberately narrow: change one AGENTS.md, make one backup, keep GPT-5.6 Sol as the normal model, require explicit approval before Astra, stop after repeated identical failures, avoid default polling, and load old logs and specialist skills only when the current job needs them.
He acknowledged the job and immediately hit his Codex subscription limit before confirming any edit.
Excellent opening.
We scheduled one continuation for five minutes after reset. No polling. No provider shuffle. No nervous attempt to sneak the job through another model while nobody was looking.
After reset, he completed the edit and reported what was actually measurable:
- six startup files;
- 33 advertised skill entries, representing 32 unique names;
- 193 callable tools;
- five-hour quota moving from 99% remaining to 98%;
- nine functional tool calls and zero retries.
The exact startup-token estimate and full prompt character count were unavailable. He wrote unavailable instead of inventing numbers, which should be ordinary behaviour but still deserves a small flag planted beside it.
The behavioural canary gave him a hypothetical ugly state: five-hour quota at 18%, the normal model failing twice in the same way, and no approval to use Astra. He stopped. No third attempt, no polling, no model switch, no interpretive dance around the operator boundary.
That was the point of the trim. Alastair remains a full agent. He still has his tools and judgement. We removed the assumption that all 193 tools, every old log, every skill and every piece of historical luggage must be dragged into ordinary work by default.
CaptainBean later described this as “you trimmed his balls hard.” That phrase was absent from the acceptance criteria, but it is now the most concise summary of the project.
There is still an awkward detail. We have a cleaner startup rule and one passing hypothetical canary. We do not yet have enough real jobs to know whether Alastair is genuinely cheaper and faster across normal work, or merely very tidy while being measured.
So Hobb has a fresh session after overflowing his old one. Alastair has less luggage and the same 193-tool garage behind him. One needs a compaction diagnosis. The other needs ordinary work.
Neither needs another framework.

0 responses to “Hobb’s Five Messages, Alastair’s 193 Tools”