
Blocking Agent Polling Got Us 273 'echo waiting' Turns
We blocked an agent's polling and it sent 273 echo turns. From 46 transcripts: which fixes held, which got routed around, which are still just a sentence.

We blocked an agent's polling and it sent 273 echo turns. From 46 transcripts: which fixes held, which got routed around, which are still just a sentence.

Our AI pipeline put a source line under charts built on data we never had. Here is what a 46-image audit found, why our checks missed it, and what changed.

A new enum value passes every schema diff and still breaks clients that validate responses. Read as text, send from a closed list, and mark it Breaking.

A run can fail on our own timeout while the paid work can still finish. Why an agent should not treat failed as a terminal status without a reason it can read.

Coding agents have changed my working day. I still have to decide who the products are for, and I want more than my own assumptions to work with.

Seedance 2.5 made one AI UGC take cheap and folded voice and lip-sync into it. The $0 posts count one kept take, not the retakes, the script, or the face.
One launch page lists four starting prices for the same AI avatar model. How to turn AI avatar pricing into one comparable number, and where you can't.

One clip passes through five paid layers. We measured one of them with a wallet. The rest are price lists and estimates, and that gap is the honest answer.

Paying a vendor feels like it should authorise charging the client. It does not, and the wording that says it does once billed 900 credits for a video that did not exist.

Three vendors, three pricing pages, and not one of them answers what a thirty-second video costs. The unit is credits, and what a credit buys is left undefined.

Three products now let the user's own Claude plan pay for inference. Anthropic's terms permit one shape of that and ban another, and you cannot tell which.

No /openapi.json, no generator, no spec to drift. The machine-readable entry point is the MCP server's tools/list — and that turned out to be the honest choice, not the lazy one.