Resources

What we are building, and what we have learned building it.

Filtered by reliability · show everything
October 14, 2026
Two booleans, because there are two questions

A new project cannot answer anything and cannot index anything, because it has no models. That is correct and it is also the least helpful possible starting state, so the interesting design question is what it tells you about itself.

October 16, 2026
A failed turn is a 200 OK

A streamed turn that fails answers 200. It has to — the failure is a frame inside a body that had already started. Which means it appears in no access log, no 5xx count, and no HTTP-level alert you have built.

September 22, 2026
The conversation that breaks permanently

Replaying the whole transcript works until it doesn't. Then every later turn fails with "context length exceeded" — and it keeps failing, because the message that tipped it over is still in the history.

September 16, 2026
Your agent can cancel an order at 3pm and not at 3am

A client-side tool runs in your application's process, which is exactly the right place for it — until there is no application process. Then the same agent, with the same permissions, on the same account, simply cannot do the thing.

October 12, 2026
The cancelled request that got carried out a minute later

A user typed "close every berth for July", thought better of it, hit stop. A minute later they asked what time it was. They got both.

September 14, 2026
Your user closed the laptop. The answer kept going.

The first time someone reported this I did not believe it was a bug. A question, forty seconds of thinking, a train going into a tunnel, and the answer was gone — not delayed, gone, and they had been billed for it.

September 15, 2026
"Completed" did not mean it worked

A scheduled agent run asked for permission to archive a record. Nobody was there. The turn stopped. The task reported status: "completed", runcount: 1, lasterror: null — which is byte-for-byte what a run that did the work reports.