Skip to content

v2.49.0

Choose a tag to compare

@samuelgursky samuelgursky released this 12 Jun 02:15

Cross-shot relationships (spec §4 — pattern recognition only): the shot page's Relationships group finally fills, and the edit engine can prefer vision-confirmed alternates.

Added

  • Schema v12 shot_relationships: same_setup_as / alt_take_of (symmetric) and continues_from (directional — the source shot continues from the target), append-only with supersede semantics.
  • media_analysis actions detect_shot_relationships / commit_shot_relationships / list_shot_relationships: pairwise cosine over the per-shot visual vectors (with transcript continuity as a second signal for continues_from) → a deferred confirmation payload with a representative frame pair per candidate (caps pre-checked at two frames per candidate; candidates live only in the detection-state stash until committed, so re-detect never leaves ghosts) → vision-confirmed rows. Representative frames use the shot's middle sample — first/last frames often catch fades.
  • Shot page: the Relationships group now renders from the DB (continues_from shows on the continuing shot; cross-clip targets are clip-qualified).

Changed

  • plan_swap prefers confirmed alt_take_of alternates over raw cosine similarity — confirmed takes sort first and are unioned in even when the cosine search missed them; each alternate's rationale states which basis ranked it.

Validation

  • Live confirmation pass on the sample analysis root: 18 candidates from 33 per-shot vectors; host-chat frame-pair review confirmed 13 and rejected 5 (lookalikes and scene changes). The cracked-windshield passage landed as continues_from chains exactly as the QC block predicted.
  • 14 new unit tests (heuristics, frame-pair payload, commit/supersede/token-mismatch, panel block, swap preference). Offline suite at 1174.