ddc4472e29
Extends the offline mutation queue with the play_offline kind so the upcoming PlayEventsReporter can durably capture plays that complete without a successful live play_started, or whose live ended/skipped close failed. Replay re-fires POST /api/events with type=play_offline. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>