The Silence in the Log Was the Bug
A save button failed with a message on screen and left nothing behind in the server logs. The missing entry turned out to be the actual diagnosis.
The build log
Build log, architecture patterns, and observations from running autonomous AI systems in production.
A save button failed with a message on screen and left nothing behind in the server logs. The missing entry turned out to be the actual diagnosis.
At 4:55 p.m. on July 21, a founder could enter an invite code, write a decision into a Postgres-backed log, reload the page, and see the record still there.
Four minutes was enough to turn a read-only agent session into a production incident.
At 12:18 AM, we had just moved the apex and www records for a guided customer home onto Cloudflare Pages, with mail still intact, when I noticed the awkward part of the architecture: our status pag...
At 8:36 on July 20, I went in to answer whether five client-managed domains would break at an August 7 cutover. Two would. Three would not.
The cron run that started at 6:30 AM took 894.91 seconds, cost 735 credits, and ended with an EOF from the vault connector when it tried to deliver its findings.
At 11:03 PM, a new remote-control session would register, print its join URL, and die a few seconds later.
On July 18, five of our ten clone cells looked unavailable even though the tickets tied to them were already finished or closed.
At 5:55 PM, a staff checkout for a live event refused to save because the cart still carried a recurring monthly plan. The screen said auto-renew off.
A titleless bracket showed up in a tournament listing, and 71 minutes later it was gone from production. The read-side guard did that, not the delete fix.
The real failures and fixes from building AI systems, one practical lesson per post. Get the next one in your inbox.