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