spxrpc: XRPC live HLS — getLivePlaylist + getLiveSegment master
Serve live HLS over XRPC (documented + auth-capable), reading the in-memory per-stream window via MediaManager.GetLiveWindow: - getLivePlaylist: master playlist (track omitted) or per-track media playlist. - getLiveSegment: a track's init (seg=init) or a windowed canonical .m4s (seg=<media-sequence>), HTTP Range via http.ServeContent. Segment bytes are the verbatim signed .m4s, so provenance travels with playback. New lexicons under lexicons/place/stream/playback/ (make lexicons regenerates the stubs + OpenAPI docs + client types). Custom echo routes override the lexgen stubs for Range + the mpegurl MIME, mirroring getVideoBlob/Playlist; segment URLs end in a cosmetic ".m4s" so ffmpeg-based players fetch them. Open playback for now (account-ban gated); the XRPC framing lets auth middleware layer on without a wire change. View-count logging and mid-stream init changes (resolution switches) are follow-ups. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>