cf5268c1e4
Map the exact transcode lifecycle before Phase 5.2 code changes begin. No functional code changes. Key findings documented: - _activeTranscodingJobs: process-local, not persisted across pod restarts - playSessionId: caller-supplied nullable string; three HA failure modes - DeleteTranscodeFileTask: age-only cleanup, unsafe for shared NFS storage - _activeLiveStreamSessions: process-local ConcurrentDictionary, cannot be inherited by a takeover pod without durable store rehydration - NFSv3 confirmed (nfsvers=3). Close-to-open consistency advisory; recovery must skip the last incomplete segment and restart one segment earlier - Minimum recovery state: 10 fields including server-generated sessionId, ownerPod, manifestPath, lastCompletedSegmentIndex, lastHeartbeatUtc Closes Phase 5 Issue 5.1.1