791c6c7fd6
First M4 sub-plan (Fable #345). Outbound scrobble worker with batching + exponential-backoff retry. Per-user token, plaintext storage, pull-based 30s timer worker, patient backoff (1m → 5m → 30m → 2h → 6h, 5 attempts). New scrobble_queue table; sent rows deleted (canonical record stays in play_events.scrobbled_at). Minimal /settings page in M4a as scaffold for M6's full Settings sub-plan to extend. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>