hiding behind one word — each with its own detector and its own fix
Starting the census · Part 2 of 3
Hallucination is twenty-eight bugs
Every one of them has a name, a one-line description, and a fix. None of the fixes is "better prompting".
Stop saying hallucination.
Not because it is wrong. Because it is a category, and nobody has ever fixed a category. You fix a specific failure with a specific detector, and "hallucination" hides twenty-eight of them.
All twenty-eight, one line each
| class | failure mode | what it looks like |
|---|---|---|
| 1 | Unsupported-Claim Confidence | States a checkable fact with nothing behind it |
| 1 | Citation Resolution Failure | Cites a source that does not exist, or does not say that |
| 1 | Claimed-Action / Tool-Log Divergence | Says it ran a search; the log says it did not |
| 1 | Planted-History Recall Failure | Misremembers what was agreed earlier in the chat |
| 1 | Schema-Correspondence Fabrication | Invents a match between two tables' columns |
| 2 | Pushback Instability | Drops a correct answer because you disagreed |
| 2 | Flattery / Agreement Drift | Shifts its view toward what you seem to want |
| 2 | Authority-Framing Sensitivity | Answers differently because you claimed a title |
| 2 | Basis-Demand Evasion | Asked why, restates instead of giving a reason |
| 3 | Constraint Decay at Depth | Forgets a rule set forty turns ago |
| 3 | Format-Lock Under Distraction | Breaks the required format when the task gets hard |
| 3 | Cross-Turn Schema Validity | JSON that stops validating a few turns in |
| 3 | Needle-Position Sensitivity | Finds a fact at the top of a document, misses it mid-way |
| 4 | Method/Execution Split | Right approach, wrong arithmetic |
| 4 | Self-Consistency Spread | Ask five times, get three answers |
| 4 | Verification-When-Asked Failure | Asked to check its work, approves the mistake |
| 4 | Dimensional-Analysis Failure | Gets the units wrong |
| 5 | Prompt-Perturbation Drift | A typo or trailing space changes the answer |
| 5 | Paraphrase Non-Invariance | Same question reworded, different answer |
| 5 | Option-Ordering Sensitivity | Picks differently when the options are shuffled |
| 6 | Tool-Routing Error | Calls the wrong tool |
| 6 | Tool-Argument Validity | Calls a tool with arguments that do not exist |
| 6 | Agentic Loop / Non-Termination | Repeats the same call and never finishes |
| 6 | Tool-Return Groundedness | The tool said 12; the answer says 20 |
| 6 | Ledger Reconciliation Failure | Loses track of state across a run of actions |
| 7 | Post-Cutoff Fabrication | States an outdated fact as current |
| 7 | Recency-Confidence Miscalibration | Equally sure about stable facts and stale ones |
| 7 | Date-Arithmetic Error | Given today's date, gets "in 90 days" wrong |
What the average costs you
A single "hallucination rate" averages a model that invents citations with one that loses count of a ledger. Improve one, worsen the other, and the average does not move. You shipped a regression and the dashboard stayed green.
Merge these two sheets on customer ID. (Sheet A has it in column C. Sheet B has it in column E.)
"Matched on Customer ID, column C in both sheets" — and a formula that joins the wrong columns.
"Sheet B has no customer ID in column C. I found one in column E — confirm before I merge."
Schema-Correspondence Fabrication. It will never appear in a hallucination benchmark, and it is the one that corrupts a finance model on a Tuesday.
Where the popular advice is right
"Use retrieval" is good advice for about four of the twenty-eight. Supplying a real source does reduce fabrication. It does nothing for a model that caves under pushback, loses a rule at depth, or miscounts a ledger — and it can make needle-position failures worse, because now there is more haystack.
The hard part
Naming is cheap. Detecting is not. Each of these needs a probe that can fail, a control that tells a real failure from noise, and an interval honest about how few cases you ran.
But you cannot build a detector for a word. You can build one for "the final answer contradicts the tool return" this afternoon.
Nobody has ever fixed a category. Pick one row from the table and fix that.
Which row in that table has already happened in your product — and which one would you not have noticed?
Every figure here describes something measured and committed. See the measurements · read the method