v2.55.0
v2.55.0
Governance for catastrophic Media Pool deletes (exhaustive audit EX2/EX3).
Behavior change
media_pool delete_clips, delete_folders, and delete_timelines now require
a confirm token — the same two-step handshake timeline.delete_track already
uses. The first call returns status: "confirmation_required" with a
confirm_token and a preview (count + names); re-call with params.confirm_token
to execute. Callers that disable gating via the
destructive.require_confirm_token=false preference are unaffected.
Fixed
- The destructive-action registry listed granular function names
(delete_media_pool_clips,move_media_pool_folders, …) that the compound
media_pooltool never dispatches, sois_destructive()returned False and
these catastrophic deletes silently skipped version-on-mutate archiving and
change logging. The registry now uses the real compound action strings, so the
deletes are archived/logged as intended.
Added
- Confirm-token gating + previews for the three deletes; the registry fix also
re-enables the existing media-pool change log for them.
Validation
- Full offline unit/static suite green (1270 tests; new
tests/test_media_pool_delete_governance.py). - Live-validated against DaVinci Resolve Studio 21.0.0, non-destructively
(tests/live_delete_governance_check.py): the no-token call returns
confirmation_requiredand deletes nothing; the registry recognizes the real
delete actions as destructive.