This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+1 more
Summary
AI summaryAdded configurable frame‑sampling modes for media analysis with default prompt on first run.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Medium |
Adds `sampling_mode` option on all analyze actions with multiple modes. Adds `sampling_mode` option on all analyze actions with multiple modes. Source: llm_adapter@2026-05-29 Confidence: high |
— |
| Feature | Low |
Retunes analysis‑caps presets: minimal/standard/generous frames_per_clip now 12/80/200. Retunes analysis‑caps presets: minimal/standard/generous frames_per_clip now 12/80/200. Source: llm_adapter@2026-05-29 Confidence: high |
— |
| Feature | Low |
Adjusts cache reuse to resample only when switching up thoroughness rank. Adjusts cache reuse to resample only when switching up thoroughness rank. Source: llm_adapter@2026-05-29 Confidence: high |
— |
| Feature | Low |
Introduces first-run flow prompting users to select a default sampling mode when none is saved. Introduces first-run flow prompting users to select a default sampling mode when none is saved. Source: granite4.1:30b@2026-05-29-audit Confidence: low |
— |
| Feature | Low |
Adds control‑panel UI for selecting frame‑sampling mode and related tunables with live token‑cost estimate. Adds control‑panel UI for selecting frame‑sampling mode and related tunables with live token‑cost estimate. Source: granite4.1:30b@2026-05-29-audit Confidence: low |
— |
| Bugfix | Medium |
Fixes under‑coverage of long clips by making `frames_per_clip` a safety ceiling. Fixes under‑coverage of long clips by making `frames_per_clip` a safety ceiling. Source: llm_adapter@2026-05-29 Confidence: high |
— |
Full changelog
v2.27.0
Frame-sampling modes for media analysis (issue #46) — choose how many frames each clip gets, with predictable cost per tier, plus a first-run default prompt and full control-panel exposure.
Added
sampling_modeon all analyze actions, decoupled fromdepth:- Economy (
fixed) — flat N evenly-spaced, content-blind frames. Cheapest, most predictable. - Balanced (
per_minute) —clamp(minutes × frames_per_minute, floor, ceiling); linear cost. - Thorough (
adaptive_capped, recommended/default) — content-aware (shot boundaries, representatives, flash candidates), bounded[floor, ceiling]. - Thorough (uncapped) (
adaptive) — content-aware up to the 512-frame hard cap.
- Economy (
- First-run flow: with no saved default, the first analyze returns
confirmation_required+ asampling_mode_prompt; choosing a mode saves it as the standing default (mirrorstimed_markers_default).sampling_modeper call is a one-off. - Control panel: Preferences → Frame sampling mode selector +
frames_per_minute/frame_floor/frame_ceilingwith a live per-clip token-cost estimate. Batch jobs honor the saved default. tests/test_sampling_modes.py(30 tests).
Fixed
- Long clips were under-covered: the demand-driven engine already scaled by duration/content, but the caps layer flat-truncated its output back to 8 frames.
frames_per_clipis now a safety ceiling, not the frame dial.
Changed
- Analysis-caps presets retuned:
frames_per_clipminimal/standard/generous = 12/80/200 (was 4/8/24); per-clip/job/day vision-token caps raised so the default Thorough mode isn't refused by the per-clip cap. - Cache reuse re-samples only when switching up the thoroughness rank; a richer prior report still satisfies a cheaper mode.
Documentation
docs/guides/media-analysis-guide.mdanddocs/SKILL.mddocument the sampling modes, tunables, and first-run flow.
Validation
- Static checks (test_import, audit_api_parity, npm pack, node CLI) clean; 155 focused unit tests pass.
- Live-tested end-to-end on a synthetic 6-shot clip with real ffmpeg frame extraction (caught and fixed a bug where per-shot reservations overrode the Economy/Balanced budgets). No DaVinci Resolve scripting behavior changed — ffmpeg-based frame sampling and preference plumbing only.
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
Related context
Beta — feedback welcome: [email protected]