Skip to content

This release adds 3 notable features for engineering teams evaluating rollout.

Published 13d MCP Developer Tools
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

blackmagic blackmagic-design blackmagicdesign davinci-resolve davinciresolve mcp
+1 more
mcp-server

Summary

AI summary

Adds perception strata model with events, curves, transcript words, story beats, diffing, cut candidate scoring, timeline versioned snapshots.

Changes in this release

Feature Low

Add `take_diff(clip_a, clip_b, text?)` action to align and diff two deliveries on transcript words.

Add `take_diff(clip_a, clip_b, text?)` action to align and diff two deliveries on transcript words.

Source: llm_adapter@2026-07-14

Confidence: high

Feature Low

Add `cut_candidates(clip_id, time_seconds)` joint solver scoring cut points with human‑readable reasons.

Add `cut_candidates(clip_id, time_seconds)` joint solver scoring cut points with human‑readable reasons.

Source: llm_adapter@2026-07-14

Confidence: high

Feature Low

Introduce `strata_query` for windowed cross‑track bundles per clip or project‑wide word find with context.

Introduce `strata_query` for windowed cross‑track bundles per clip or project‑wide word find with context.

Source: llm_adapter@2026-07-14

Confidence: high

Feature Low

Add `timeline_strata` projecting clip strata through versioned timeline placements using recorded fps and start frame.

Add `timeline_strata` projecting clip strata through versioned timeline placements using recorded fps and start frame.

Source: llm_adapter@2026-07-14

Confidence: high

Feature Low

Introduce `plan_story_beats`, `commit_story_beats`, and `list_story_beats` for host‑LLM story beat management with append‑only persistence.

Introduce `plan_story_beats`, `commit_story_beats`, and `list_story_beats` for host‑LLM story beat management with append‑only persistence.

Source: llm_adapter@2026-07-14

Confidence: high

Feature Low

Schema v13 perception strata introduces generic `events` and `curves` tracks, plus promoted `transcript_words` and `story_beats` rows.

Schema v13 perception strata introduces generic `events` and `curves` tracks, plus promoted `transcript_words` and `story_beats` rows.

Source: llm_adapter@2026-07-14

Confidence: low

Feature Low

Add perception strata schema v13 with generic events and curves tracks.

Add perception strata schema v13 with generic events and curves tracks.

Source: granite4.1:30b@2026-07-14-audit

Confidence: low

Feature Low

Promote transcript_words and story_beats from report blob into queryable rows.

Promote transcript_words and story_beats from report blob into queryable rows.

Source: granite4.1:30b@2026-07-14-audit

Confidence: low

Feature Low

Introduce local analyzers strata_run for prosody, beat grid, motion energy, and face detection using ffmpeg, OpenCV, and MediaPipe.

Introduce local analyzers strata_run for prosody, beat grid, motion energy, and face detection using ffmpeg, OpenCV, and MediaPipe.

Source: granite4.1:30b@2026-07-14-audit

Confidence: low

Feature Low

Add strata_status reporting per-clip track inventory and machine capabilities.

Add strata_status reporting per-clip track inventory and machine capabilities.

Source: granite4.1:30b@2026-07-14-audit

Confidence: low

Feature Low

Implement backfill_words to promote existing word timestamps without re‑analysis.

Implement backfill_words to promote existing word timestamps without re‑analysis.

Source: granite4.1:30b@2026-07-14-audit

Confidence: low

Feature Low

Add schema v14 timeline timebase snapshot recording fps and start frame at archive time.

Add schema v14 timeline timebase snapshot recording fps and start frame at archive time.

Source: granite4.1:30b@2026-07-14-audit

Confidence: low

Feature Low

Run full offline test suite with 1,418 tests passing and 17 new regression tests covering the fixes.

Run full offline test suite with 1,418 tests passing and 17 new regression tests covering the fixes.

Source: granite4.1:30b@2026-07-14-audit

Confidence: low

Feature Low

Add defensive getter reads for timeline frame rate and start frame at archive time, guarded by try/except and unit‑tested against mock timelines.

Add defensive getter reads for timeline frame rate and start frame at archive time, guarded by try/except and unit‑tested against mock timelines.

Source: granite4.1:30b@2026-07-14-audit

Confidence: low

Bugfix Medium

Prevent ingest upsert from cascade-deleting clip-child tables.

Prevent ingest upsert from cascade-deleting clip-child tables.

Source: llm_adapter@2026-07-14

Confidence: high

Bugfix Medium

Preserve existing word rows when re‑analyzing transcripts lacking words.

Preserve existing word rows when re‑analyzing transcripts lacking words.

Source: llm_adapter@2026-07-14

Confidence: high

Bugfix Medium

Prevent machine story‑beat commits from overwriting human beats with identical spans and labels.

Prevent machine story‑beat commits from overwriting human beats with identical spans and labels.

Source: llm_adapter@2026-07-14

Confidence: high

Bugfix Medium

Hardened dispatch handling: reject non‑positive fps, escape SQL LIKE metacharacters, fetch all recorded tracks, safely run ffmpeg via `proc.safe_run`, and degrade gracefully on missing mediapipe/protobuf.

Hardened dispatch handling: reject non‑positive fps, escape SQL LIKE metacharacters, fetch all recorded tracks, safely run ffmpeg via `proc.safe_run`, and degrade gracefully on missing mediapipe/protobuf.

Source: llm_adapter@2026-07-14

Confidence: high

Full changelog

v2.61.0

Perception strata — a timecoded track model over every analyzed clip, plus the query layer that turns it into editorial answers. Ten new media_analysis actions, all local compute (ffmpeg + numpy; the face tier detects opencv + mediapipe and degrades honestly when absent). Everything measures, compares, flags, or aims — nothing decides; the cut is the editor's.

Added

  • Schema v13: perception strata — two generic track shapes instead of a table per sensor: events (pause, breath, hesitation, blink, beat, downbeat, …) and curves (pitch, vocal_energy, speech_rate, motion_energy, face curves as float32 series), plus two promotions out of the report blob: transcript_words (per-word timestamps as queryable rows) and story_beats (units of meaning over the transcript). Machine re-runs replace their own rows; source='human' rows are append-only and always win.
  • Local analyzers (strata_run) — prosody, beat grid, motion energy, and face strata (blink/gaze/expression via opencv + mediapipe when installed). strata_status reports the per-clip track inventory and what this machine can run; backfill_words promotes word timestamps already sitting in stored report blobs without re-analysis.
  • take_diff(clip_a, clip_b, text?) — align two deliveries of the same line on transcript words and diff pace, pauses, pitch, and energy. Deltas only; it never picks a winner.
  • cut_candidates(clip_id, time_seconds) — the joint solver: scores every frame around an intended cut on the cut-point grammar (cut on the blink, don't cut mid-word, don't bisect a breath, pauses are doors, land on the beat, cut inside movement) with human-readable reasons and honest reporting of missing tracks.
  • strata_query — windowed cross-track bundles per clip, or project-wide word find with a joined ±context bundle per hit. timeline_strata projects clip strata through a versioned timeline's recorded placements.
  • Story beats (host-LLM pass)plan_story_beats assembles a timecoded digest + JSON schema (the server never calls an LLM), the host chat produces the beats, commit_story_beats validates and persists them append-only; list_story_beats reads them back.
  • Schema v14: timeline timebase snapshottimeline_versions records the timeline's fps and start frame at archive time, so timeline_strata returns timeline-relative frames/seconds instead of assuming 24fps against absolute (start-timecode-inclusive) snapshot frames.

Fixed

Pre-release review (multi-agent: 8 finder angles + adversarial verification) caught these before anything shipped:

  • Re-ingest cascade wipe — the ingest INSERT OR REPLACE on the clips row cascade-deleted every clip-child table under PRAGMA foreign_keys=ON; invisible while all children were rebuilt during ingest, destructive once the strata tables (not rebuilt by ingest, human annotations included) joined the cascade. The clips row is now a true upsert and is never deleted.
  • Words-less re-analysis wiped word rowsingest_transcript_words deleted before validating; it now parses first, preserves existing rows when the incoming report has no words, and falls back per-segment to the top-level words list for mixed reports.
  • Machine story-beat commits could replace human rows — the content-hash beat_uuid let INSERT OR REPLACE overwrite a human beat sharing the same span+label. Beat rows now get random UUIDs and plain INSERTs; duplicate spans within one commit are skipped and reported.
  • Dispatch hardening — stringified numbers no longer crash strata_query or silently redirect timeline_strata to the latest version; cut_candidates rejects non-positive fps instead of ZeroDivisionError; word matches escape SQL LIKE metacharacters; clip bundles fetch every recorded track instead of a hardcoded subset; analyzer ffmpeg calls go through the stdio-safe proc.safe_run; a broken mediapipe/protobuf install degrades to "face unavailable" instead of crashing strata_status.

Validation

  • Full offline suite: 1,418 tests green (17 new regression tests covering the fixes above). Static checks, drift guards, API-parity audit, and npm pack all pass.
  • No live Resolve behavior changed beyond two defensive getter reads (GetSetting("timelineFrameRate"), GetStartFrame()) at archive time, both try/except-guarded and unit-tested against mock timelines.

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track samuelgursky/davinci-resolve-mcp

Get notified when new releases ship.

Sign up free

About samuelgursky/davinci-resolve-mcp

MCP server integration for DaVinci Resolve

All releases →

Beta — feedback welcome: [email protected]