Why can't I just reproduce the failure locally?
A local re-run rarely reproduces a production failure because the original conditions are gone by the time you try it. The message you retype is a paraphrase, not the literal input. A live tool call today hits current state, not the state the agent saw when it failed. A retrieval step returns whatever the index holds now, which may already differ from what it held then. Agent failures are usually context-dependent: the same wording with a different tool result behaves differently. So a local attempt tests a related case, not the one that happened, and a fix that passes it can still fail on the original. You don’t get to hold the world still while you debug, which is exactly why the trace has to capture that context at the time, or it’s lost for good.