| Symptom | Check |
|---|---|
| Events repeat after reconnect | Deduplicate by event ID and persist the cursor only after processing succeeds. |
| Events are missing | Confirm the saved cursor, retention window, run ID, and tenant. |
| Webhook signature fails | Verify the exact raw request body before JSON parsing. |
| Webhook repeats | Store the delivery identifier and make the handler idempotent. |
| Delivery is valid but unknown | Quarantine it and reconcile tenant, run, and environment before processing. |
| Stream ends before terminal state | Read the terminal run resource; an ended connection is not a terminal run. |
Troubleshooting
Event and webhook failures
Recover from SSE disconnects, stale cursors, duplicate webhook deliveries, invalid signatures, and reconciliation gaps.
Last modified on August 14, 2026