Zero Is Not Unset

A cost model resolves an hourly rate by walking a chain: the machine’s own override, then its template, then the site, then the organisation. First non-null wins. Standard inheritance, the same shape as CSS cascades, config layers or permission scopes. A UI change prepopulated numeric fields with 0 so the form never showed an empty box. Reasonable-looking polish. From that moment, every machine created from a template resolved to a rate of zero. Not because anything failed — because the chain worked exactly as designed. The template now had a value. Zero is a value. The lookup stopped there and never consulted the site or organisation rates underneath. ...

August 19, 2026 · 4 min · Leandro Garcia

What Dogfooding an MCP Server Taught Me About Tool Output

I built an MCP server that searches flights across flexible dates and multiple airports, then used it for an actual trip I was planning. Three tool calls in, it had produced a correct answer, and along the way had wasted most of a day’s API quota and told the agent several things that weren’t true. None of the four problems was a crash. Every one of them was a shape problem: the output was well-formed, plausible, and misleading. That’s the failure mode that matters when your consumer is a language model, because an agent can’t smell that a number is wrong. It acts on whatever you hand it — and when the number is wrong in an expensive direction, it acts again. ...

August 3, 2026 · 7 min · Leandro Garcia