Ali Rathore

June 2026

The honest default is no

Four systems that do nothing alike share their most important line of code, the one that runs when the system has no idea, and in all four it refuses.

I built four systems this year that have nothing in common, and the most important line in each one is the same line. Not the line that does the clever thing. The line that decides what happens when the system has no idea what to do. In all four, after I had argued myself out of every more accommodating option, the answer landed in the same place: do nothing, and say so.

Watch them line up. An agent waiting on a human to approve a tool call: if nobody is there to answer, the tool does not run. A review panel judging whether a change can merge: one reviewer unconvinced and the change stops. A grader scoring a batch of generated data: one safety floor breached and the score is not docked, it is zero. A system extracting a value from a document: if the value is not grounded in the source, the field reads null with a reason, never a plausible guess. Four different jobs, four different teams of one, and every one of them resolves uncertainty by declining.

That was not a style I chose. It is what survived. Each system started more generous, because the generous version always demos better, and each one taught me the same lesson in its own accident. The generous extractor fabricated a confident number that no page supported and someone almost made a decision on it. The generous grader let a strong average paper over a privacy leak. The generous permission default, run unless told otherwise, meant walking away from the keyboard quietly granted the agent everything. Generosity under uncertainty does not fail loudly. It fails by being agreeable, and agreeable wrong answers are the ones that reach a meeting.

So the principle is narrow and I will state it plainly: a system’s character is its behavior when it does not know, and almost nothing else. The confident path is easy and everyone gets it roughly right. The uncertain path is where systems reveal whether they were built by someone who has watched one of these things hurt somebody. The cost structure is not symmetric. A loud refusal costs you a retry, an escalation, a human glance. A confident wrong answer costs you the decision made on top of it, plus the trust you spend convincing anyone the next answer is real. You are choosing which way to be wrong, and the cheap direction is no.

no one to approve the toolone reviewer dissentsone safety floor breachedvalue not grounded in sourcerefuse, or abstainloud, cheap, reversible
Four systems, four ways to come up empty, one answer that survived.

The part that makes this hard to hold is that it loses on the demo every single time. A system that answers every question sounds smarter than one that sometimes says it cannot tell. A grader that returns 0.94 looks more finished than one that returns zero and a reason. Refusal reads as a gap in the product to anyone watching for thirty seconds, and the people who decide what gets built are often watching for thirty seconds. The discipline is choosing to look less capable in the room in exchange for being trustable in production, and that trade has no advocate unless you are the advocate.

I do not want to pretend this is free or solved. A default of no has its own failure, the refusal that should have been a yes: the tool that needed running, the change that was fine, the value that was grounded in a way the check could not see. I do not have a principled way to place the threshold, and I distrust anyone who claims a clean one, because the threshold is a business question wearing a statistics costume. What I have is a direction. When I cannot tell which way to be wrong, I would rather the system waste my time than spend my trust, and so far I have not regretted being on that side of it.