v2.42.0
Deep shot-level vision tier — Phase B of the analysis + edit-engine program. Opt-in, estimate-first per-shot field filling for the Visual / Content / Production / Editorial / Cuttability groups the shot pages already render.
Added
media_analysisactions:deepen(estimate → confirm_token → deferred host-vision payload per clip/shot),commit_shot_vision(writesvision_deep_v1provenance rows, updates the canonical blob, re-exports analysis.json in lockstep),vision_pending_sweep(lists clips stuck inpending_host_analysis;reoffer=truereturns the stored payload,expire=truestamps them).- Deep depth in the analyze flow:
depth="deep"extends the deferred payload with the per-shot schema and requiresconfirm_deep=trueafter a token-cost estimate. Caps pre-call refusal applies on both paths. - Panel:
Deepen analysis(clip view) andDeepen this shot(shot view) copy ready-made chat prompts. Shots with no sampled frames on disk get 1–2 frames re-extracted via ffmpeg, downscaled per caps; source media stays read-only.
Fixed
- Analysis-store provenance: a source re-deriving an unchanged value no longer re-attributes the row (a deep pass would otherwise claim every untouched field).
Validation
- Full offline suite: 1081 tests (15 new); 3 known live-Resolve environmental failures only.
- Real end-to-end deep pass on the 2026-05-17 sample clip: estimate → confirm → frames read by the host chat → commit → rows/blob/export parity → fields visible in the panel shot view. Guide screenshots regenerated from the live panel.