An agent that books the wrong flight because it fabricated a confirmation number is not a quality bug — it is a safety incident with a paper trail that does not exist. Hallucination stops being a UX embarrassment the moment a model's output drives an action: a refund is issued against an order ID the model invented, a support macro cites a policy clause that was never written, an on-call agent pages a team based on a root cause it guessed and stated as fact. The failure is not that the model was wrong; models are wrong regularly and safely inside a chat window. The failure is that nothing downstream distinguished a confident invention from a verified fact before it reached an API call, a database write, or a human's inbox.
Guardrail engineering treats hallucination as an input-validation problem on the model's own output, not a research problem to be solved by a better model. A more capable model hallucinates less often, but 'less often' is not a safety property — a system that fails silently once every few hundred calls at scale fails constantly in aggregate. The discipline here is the same one applied to untrusted user input: assume the claim is false until something outside the model confirms it, and design the surrounding system so an unconfirmed claim cannot reach an irreversible action.
What breaks without this discipline is trust in the entire pipeline, not just the one wrong answer. Once a support team catches an agent inventing a tracking number twice, they stop trusting every tracking number it produces, correct or not — the cost of an unguarded hallucination is not the single bad output, it is the review burden imposed on every future output. Grounding, confidence signaling, and verification gates exist to keep that burden bounded as the system scales.