- Added run ID + unique segment naming (r-{ISOTIME}/seg-{seq}.m4s) - Added fsnotify watcher for real-time R2 segment upload (~7s) - Added atomic manifest publication (temp key → CopyObject) - Fixed manifest Cache-Control: public, max-age=1, s-maxage=2, must-revalidate - Added hls.js error recovery: bounded retries (5x), exponential backoff, reconnecting UI - Enriched /health endpoint: run_id, active_item, last_segment_seq, last_r2_pub, consecutive_failures, unhealthy detection - Updated tests: HealthHandler (new fields + unhealthy), player error recovery test - Updated TODO.md, BACKLOG.md, DONE.md, MEMORY.md