Skip to content

Add guarded podcast episode delete command and dry-run - #400

Merged
alexeygrigorev merged 1 commit into
mainfrom
podcast-episode-hard-delete-t2020u
Nov 11, 2026
Merged

alexeygrigorev merged 1 commit into
mainfrom
podcast-episode-hard-delete-t2020u

Conversation

@alexeygrigorev

@alexeygrigorev alexeygrigorev commented Nov 11, 2026 •

Copy link
Copy Markdown
Member

Podcast register rows could only be cancelled from the CLI, and the API delete route had no test-row safeguards. Add dataops podcast delete <episode-id> --dry-run|--yes, with an admin-only read-only preview and server checks for exact identity confirmation, version, cancelled status, publication history, Cards, Tasks and recording holds. Missing Cards with stale links are accepted. The only write is the version-conditional episode row delete.

All four candidate policy entries remain unconfirmed. --yes cannot authorize them; production deletion remains blocked pending exact UUID confirmation on the private intake and a reviewed policy update. No email, calendar, or public event side effects.

Validation: targeted CLI tests (29 passed), targeted podcast backend tests (17 passed), including read-only previews, protected identities, stale Card links, reference blockers, version conflicts, and show/list absence after synthetic authorized deletion. Full suites run in CI.

CI: two browser setup attempts failed before tests because the runner could not resolve its Azure Ubuntu mirror. A separate commit selects Ubuntu’s HTTPS archive directly before the unchanged full Playwright dependency install. Workflow YAML was parsed locally; CI runs all suites on the final head.

@alexeygrigorev
alexeygrigorev force-pushed the podcast-episode-hard-delete-t2020u branch from b2c7540 to e68e528 Compare November 11, 2026 16:56
alexeygrigorev added a commit that referenced this pull request Nov 11, 2026
…etries

A single runner apt mirror / DNS outage (Temporary failure resolving
archive.ubuntu.com, then no installation candidate) failed the job on
PR #400 and #401. Only the install step is retried; the E2E run stays a
single invocation.
@alexeygrigorev
alexeygrigorev force-pushed the podcast-episode-hard-delete-t2020u branch from e68e528 to 8617850 Compare November 11, 2026 17:12
@alexeygrigorev
alexeygrigorev merged commit 0ff9787 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