Writing · Origin

It took one bug to see it.

The absence this makes loud: a result nobody checked.

Every mechanism in Graphban traces back to a single afternoon, and to a class of failure that no test suite is shaped to catch.

2026-09-08 · 2 min read

Graphban already had the rule that a worker may not mark its own work done. It was written, tested, and green for weeks. It had also never once fired.

The tool that moves an item never advertised the agent_id parameter in its published schema. The gate read that parameter to decide who was calling. So through the surface every real client actually uses, the parameter could not be sent — and the gate could not be reached. A worker called update_item(status="done") and it worked. The ceiling had never gated anything in production, leaving a hole underneath the self-review ban.

The tests passed the whole time

"My tests passed the parameter by hand — exercising a path no client could reach — and I cited those passes as evidence repeatedly."

That is the shape. Not a wrong answer — a missing one, wearing a right answer's clothes. A green test vouching for an unreachable path. And once you have the shape you find it everywhere: an empty list that means "nobody looked", a 0 that means "we can't measure this", a false that means "no baseline exists to compare against". Every one of them reads as the reassuring answer, because the quiet reading always does.

So the rule the whole product is now built to: an absence must not read as a clean result. When a tool reports nothing, it has to be able to say which nothing it means.

← All writing

What's new

Every entry is work that merged. The full history is on GitHub.