When an agent calls a tool, it stops and waits. If the tool is slow, the whole turn is slow, and the user waits with it. The fix is small: put a deadline on every tool call.
When you sync two systems with webhooks, the copy slowly becomes wrong: some events are lost, some are duplicated, some arrive in the wrong order. Reconciliation is the way to make the two systems agree again. Here is how to design an API for it.
Two requests read the same row, both change it, and the second save quietly erases the first. A version number turns that silent bug into a conflict you can catch. Here is how optimistic locking works.
When two systems edit the same record, last-write-wins is the easy answer. It also throws away data on purpose. Here is when that is fine, and when it is a trap.
When you really delete a row, other systems can never learn that it is gone. A tombstone is a delete you can see. Here is why it matters and how to use one.