Skip to content

Podcast: provisional/final release slots, Pipeline vs Seasons panes, publication-date anchor (t2029u, t2064u) - #403

Merged
alexeygrigorev merged 9 commits into
mainfrom
2026-11-11-podcast-pipeline-ui
Nov 11, 2026
Merged

alexeygrigorev merged 9 commits into
mainfrom
2026-11-11-podcast-pipeline-ui

Conversation

@alexeygrigorev

Copy link
Copy Markdown
Member

Podcast release slot assignment (t2029u) + publication date as second anchor (t2064u). Intakes ac4284cf (home), 0d52aa4c.

What

  • Two panes: Podcast surface split into Pipeline (new/planned) vs Seasons/Episodes.
  • Provisional vs final slot in data (releaseAssignmentStatus: unassigned|provisional|final), API, UI and CLI (dataops podcast assign-release <id> --state provisional|final [--season N --episode N --release-date YYYY-MM-DD]; create/update take --release-assignment). Final only after recording. Slot changes must state the assignment.
  • Collision-safe Friday cadence: provisional and final both reserve the release date; off-cadence dates and taken dates rejected (409).
  • Publication anchor: podcast Card endDate = episode releaseDate. Template Tasks keep the existing anchor: start|end + offsetDays contract: start counts from recording (anchorDate), end from publication. On final assignment or a moved publication date, open (todo/waiting) END-anchored Tasks move to releaseDate + offsetDays with a scheduled history entry; done/skipped Tasks keep their dates. The response reports publicationAnchor: {endDate, moved[]}.
  • Readiness: every episode response carries release: {fullyScheduled, warnings[]} (codes missing-release-slot, slot-not-final, missing-provider-schedule, provider-date-mismatch). fullyScheduled needs final + Spotify schedule proofUrl on the same local date, so a DataOps date alone never counts.

No live template, SOP or business record is changed. Orin rebinds the live Podcast template tasks with anchor: end.

@alexeygrigorev
alexeygrigorev merged commit 6037093 into main Nov 11, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant