Error Tolerance
Technically uncertain but likely more useful
Some people need the rails. Tell them exactly what to do, in what order, with what inputs, and they’ll execute flawlessly. Change one variable they didn’t expect, and the whole thing stalls. Not because they’re not smart. Because they were trained on a world with no error bars.
We build the same way. Validate everything. Reject anything that doesn’t match the schema. Force users into rigid flows so the data stays clean. It works, until reality shows up.
Reality is messy. Customers fat-finger their email. Names have unicode characters your regex didn’t anticipate. A user clicks back mid-flow and your state machine has no idea what to do. A system that can’t tolerate any of this isn’t robust. It’s brittle wearing a robust costume.
Good systems absorb noise. They have a default path when the expected path breaks. They log the weird case and keep moving instead of throwing a 500. The best support teams I’ve worked with weren’t the ones who never saw edge cases. They were the ones who had a playbook for “I don’t know what just happened, but here’s what we do.”
This is part of why AI is eating rule based systems for breakfast. A rule based parser sees “jhon@gmial.com” and either rejects it or silently fails. An LLM sees it and goes “that’s probably john@gmail.com” and moves on.
The rules system is technically correct and practically useless. The model is technically uncertain and practically right.
The counter case
Tolerance has a cost, and it’s not always worth paying.
If you’re moving money, you don’t want a system that guesses what the user “probably meant.” A typo in a wire transfer amount or account number is not a nuance to smooth over, it’s a reason to stop and ask. The same goes for anything with legal, medical, or safety consequences. There, rigidity isn’t a flaw, it’s the point.
There’s also a quieter cost: tolerant systems can train people to be sloppy. If your form auto-corrects every bad input, nobody learns to fill it out right, and the errors just move downstream to where they’re harder to catch.
The real skill isn’t picking error tolerant over rigid. It’s knowing which parts of your system are pipes and which are valves. Pipes should flex. Valves should hold the line. Most failures I’ve seen come from treating a valve like a pipe, or a pipe like a valve.


