v2.30.0 — Resolve 21 AI-ops ledger
Adds the Resolve 21 AI-ops ledger — usage/time/file accounting for the Resolve-local AI operations added in v2.29.0 (audio classification, IntelliSearch, slate, motion-deblur, speech generation). These run on Resolve's own GPU/AI engine and do not consume the Claude-side analysis token budget, so they get their own ledger instead of being metered by the analysis-caps layer.
This is Phase 1 of a staged build: ledger → interactive console → governance.
What's tracked
Every run of the five 21.0 ops records: op name, op class (analysis vs render), clip id, success/failure, wall-clock time, and — for the two media-creating ops (remove_motion_blur, generate_speech) — the output file path and byte size. The reliable signal is invocation counts + the file/disk accounting for the creators; durations for the bool-returning analysis ops reflect the script-call time.
What's new
- New table
resolve_ai_op_usage(timeline_brain DB schema v7). - New module
src/utils/resolve_ai_ledger.py—timed()context manager +record_op/get_usage/get_summary. All writes are best-effort and never block or mask the underlying Resolve op. - Instrumentation on the consolidated
folder/media_pool_itemAI handlers andproject_settings.generate_speech. - New MCP action
media_analysis(action="get_resolve_ai_usage", session_only?, op?, limit?)→{summary, recent}. - Control panel: read-only "Resolve 21 AI ops" card backed by
/api/resolve_ai_usage.
Notes
Granular --full server instrumentation is deferred (the consolidated server is the default surface). Validated live end-to-end against Resolve Studio 21.0.0.47. Tool counts unchanged.