v2.52.1 — Analysis reuse capability gate
Analysis reuse no longer blocks on missing capabilities when every clip is satisfied by an existing report (issue #68).
build_plan records capability_gaps from the requested options before the per-clip reuse decision runs. When a fully-reused plan only re-keys and imports existing reports into the current root, no fresh transcription/vision/ffprobe happens — so the missing-capability gate must not fire.
Fixed
- The missing-capability gate is now evaluated against the clips that still need fresh analysis, not the requested-options gaps. A clip is exempt only when it both skips execution and has an existing report path; any clip needing fresh work still enforces the gate.
- Extended the exemption to the entry points that short-circuit before
execute_plan_asyncand were still blocking fully-reused runs: themedia_analysisanalyze action, metadata-publish analysis, andcreate_batch_job. The batch CLIplanpreview no longer prints "Missing tools" for a fully-reusable plan.
Changed
- Reuse/capability logic consolidated into shared
plan_requires_capabilities()/executing_clips()helpers, replacing duplicated inline comprehensions so every gate stays consistent.
Credits
- Includes PR #68 by @diesdaas, which fixed the inner
execute_plan_asyncgate and isolated the marker-param and host-vision tests from unrelated capability/destructive-hook coupling.
Full Changelog: https://github.com/samuelgursky/davinci-resolve-mcp/blob/main/CHANGELOG.md