feat: full-day stream transcription pipeline
Chunks full-day HLS streams into 20-min segments, transcribes each
via Whisper with word-level timestamps, offsets timestamps to absolute
stream position, and stitches into one continuous transcript per stream.
Caches at chunk level so interrupted runs resume cleanly.
Also adds publish-annotations.ts for targeted annotation publishing.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>