🧹 What
Every bump of AdRenderVersion.Current (#854) re-renders each ready spot and switches the old recording off. It never deletes the old file or its library.media row, which is deliberate: the swap must never lose audio. That leaves a full set of dead ad files and ineligible rows on disk per version bump.
Separately, a re-render that fails or is cancelled before the swap leaves an ineligible new row and file behind.
✅ Done when
- A sweep removes ad-library recordings that are ineligible, referenced by no
ad_spot (media_id, pending_retire_media_id or pending_confirm_media_id), and older than a grace period. It removes both the file and the row.
- It never touches a recording an operator switched off that a spot still references.
- There is a spec for each keep/remove case.
Follow-up to #854 (PR #861).
🧹 What
Every bump of
AdRenderVersion.Current(#854) re-renders each ready spot and switches the old recording off. It never deletes the old file or itslibrary.mediarow, which is deliberate: the swap must never lose audio. That leaves a full set of dead ad files and ineligible rows on disk per version bump.Separately, a re-render that fails or is cancelled before the swap leaves an ineligible new row and file behind.
✅ Done when
ad_spot(media_id,pending_retire_media_idorpending_confirm_media_id), and older than a grace period. It removes both the file and the row.Follow-up to #854 (PR #861).