A small judge before the commit
At work we put a System One model to answer one question per file before every agent commit. The hard part was writing the question well.
Thoughts on software engineering, AI, and building things the hard way.
At work we put a System One model to answer one question per file before every agent commit. The hard part was writing the question well.
How the store finds out what is happening in its chats. There is no dashboard: there is a server it queries from its own Claude, and a report every morning. And a rule about what is the bot's job and what is not.
A bot in production breaks a little at a time, in places nobody is watching. How mine stays maintained without a support team: five written procedures that Claude Code runs, from a finding backed by evidence to a fix backed by a test, to the note the store reads.
Three paths take a chat from the bot to a human agent: the model asks for it, a rule forces it, or there was no reply. What happens on each one, and why the bot goes quiet afterwards.
Four layers of tests for a bot that talks to customers: which ones block a change, which one only observes, and what running them costs.
Jev answers questions with a number instead of text. My first use case: deciding whether a chat was left open.
What happens in the seconds between the model finishing and the customer receiving: guards, a retry inside the same turn, and what no guard catches.
Data first, then tools, then hard rules. The prompt comes last.
The map of the platform that runs my sales bots. A living article, updated whenever the architecture changes.
Produce and review isn't enough. What separates a loop that converges from one that doesn't is what you do with what you learned.
Why doing things by hand still counts.
My current workflow with Linear, Cursor CLI, and Obsidian. A live article, updated as the flow changes.
Shipping faster doesn't feel the same as knowing more.
What I took away from Tropical Rails 2025.