Skip to content

The Cleo Team

The Workshop

Notes on building an AI marketing operating system. Architecture decisions, technical challenges, and the craft of making something that thinks.

4 min read

An Unordered Limit Is a Lottery

A scheduled job ran green every thirty minutes for a week and did almost nothing, because its query had a LIMIT and no ORDER BY. An audit found the same shape in nine other jobs, two of them already starving real work.

engineeringdatabasesreliability
3 min read

A Timeout Is Not a Cancellation

Tool calls had a time budget enforced by racing a timer. When the timer won, the system reported failure while the work carried on and sometimes completed. Now the work can be cancelled, and when it cannot be, the outcome is reported as unknown.

engineeringaireliability
4 min read

The Limit That Ran Before My Code

Photo uploads above four and a half megabytes vanished without a word. My code allowed fifty, but the hosting platform refused the request before my code ever ran. Sending bytes straight to storage removed the cap from the path.

engineeringuploadsreliability
4 min read

The Row That Never Finished

Activity rows left as running by processes that died were counted by a concurrency gate forever. Two of them made every image wait a full minute and then carry on, which is why nothing ever reported it.

engineeringreliabilitydatabases
4 min read

One Image, Every Turn

A wide, highly compressed image passed the byte limit and broke the vision API's dimension limit. Because history is resent on every turn, one upload would have failed every message that followed. Inputs that persist need stricter gates.

aiengineeringreliability