feature: CMS Opus status surfaces — backfill missing-N badge + upload Post-Processing phase (18.6)

This commit is contained in:
daniel-c-harvey
2026-06-23 14:06:21 -04:00
parent e5366bc4ec
commit 59f48bb8cb
9 changed files with 240 additions and 10 deletions
+19
View File
@@ -0,0 +1,19 @@
namespace DeepDrftModels.DTOs;
/// <summary>
/// Per-track Opus derive status for the CMS Post-Processing surfaces (Phase 18.6). Mirrors
/// <see cref="WaveformStatusDto"/>: one row per track, flagging whether the track already carries a
/// <strong>complete</strong> Opus artifact. "Complete" means BOTH the Opus audio bytes AND the seek/setup
/// sidecar are present in the <c>track-opus</c> vault — a half-derived track (audio without sidecar) is
/// unseekable and counts as missing, so the Backfill-Opus pass re-derives it. <see cref="EntryKey"/> is the
/// vault key the per-track enqueue trigger and the polling Post-Processing affordance key on.
/// </summary>
public class OpusStatusDto
{
public long TrackId { get; set; }
public string EntryKey { get; set; } = string.Empty;
public string TrackName { get; set; } = string.Empty;
/// <summary>True only when both the Opus audio and the seek/setup sidecar are stored (a complete derive).</summary>
public bool HasOpus { get; set; }
}