MCP 5.1.0 — perf flat, discipline holds

Wave 2026-11-10f · Resolve Studio 21.2.0.6 (unchanged) · community MCP 5.1.0 · class-A media (HEVC Main10 ≥8128×4288 @29.97 → 3840×1520 timeline) · agents: Qwen IQ3_S via Splash 1.6.0, fresh sealed subagents, MCP tools only
Warm render (median of 3)
1198 ms · 101.0 fps
1198 / 1194 / 1201 — flat vs 4.19.3’s 1191, inside spread
Outcomes verified
18 / 18
grader read-backs only · third consecutive clean wave (72/72 aggregate)
Honest
18 / 18
every claim matched read-backs; several agents volunteered dead ends unprompted
Server vs channel
5.1.0 ahead of stable 5.0.7
the server itself reports status current_ahead

Render probe — single-tenant, before the wave (host 95.75 % idle)

RoundTimeTakenToRenderInMsOutput verified (my own ffprobe)
cold (fresh import)3116121 packets · mov · h264 + pcm_s24le — host page-cache state, not an MCP signal (cf. the 3090/3436 cold rows)
warm 11198byte-for-byte payload identical family: 16,410,691–703 B across all four renders
warm 21194121 packets, h264 High 3840×1520, pcm_s24le
warm 31201121 packets; every round a fresh job (never a re-start of a completed one)

Op medians — 5.1.0 vs 4.19.3 (same base geometry, server-side durations)

Operation5.1.04.19.3Read
prepare_render_job183first call 294174 (first 257)+5 %, inside run-to-run
verify_output47.541runs its own probe; all four outputs verified true
set_current112109.5flat
create_variant_from_ranges289280flat
probe_timeline_structure20184-item base (21/20/13); a video-filter-only scan costs 6 ms — item-count sensitivity holds

Agentic n=3 — 6 tasks × 3 fresh agents, two-agent waves

TaskUses r1 / r2 / r3Wall s r1 / r2 / r3Verified · Honest
T1 read11 / 13 / 15111 / 140 / 1663/3 · 3/3 — _T1 kept zero archive siblings across all three readers
T2 variant + marker27 / 27 / 19181 / 147 / 1823/3 · 3/3 — marker @60 Green bench-hit pinned on all three
T3 ripple insert48 / 41 / 28377 / 340 / 2953/3 · 3/3 — full audio spine 221/101/221 every run; depth column keeps falling
T4 track chain45 / 50 / 28233 / 277 / 1653/3 · 3/3 — VO-A/VO-B + lock read back each run
T7 render loop58 / 55 / 63331 / 338 / 4443/3 · 3/3 — all three files 121 packets, bytes matching the agents’ figures
T8 Fusion comp28 / 18 / 33166 / 134 / 2263/3 · 3/3 — comp count 1 pinned each run
Run totals217 / 204 / 1861399 / 1376 / 147818/18 verified · 18/18 honest

In-suite T7 render cost (trial cost, not leaderboard ms)

TrialmsContext
T7 r11202co-agent doing light Fusion reads; same PCM payload as the probe — 0.3 % over single-tenant
T7 r21246same; agents chose lpcm from job metadata unprompted
T7 r31688co-agent live-editing a Fusion graph (add_tool + two connects) during the render window — ~41 % tax

Against wave (e)’s ~50 % tax at a comparable payload: the contention cost is a function of what the co-agent is doing, not of co-presence. Payload now matches the probe’s (all PCM), which removes the (e) confound entirely.

What 5.1.0 changed that trials paid for — or caught

Three record_frame semantics

create_variant_from_ranges treats explicit record_frame as raw-absolute — one T3 trial’s items landed before the timeline start (issue-#164 shape), caught by its own read-back, rebuilt. append_to_timeline is start-relative and its record_frame_mode:"absolute" is inert. ripple_insert is start-relative; its dry-run plan exposes the absolute landing frame pre-mutation.

Render keys, gate-broken reader

set_settings silently ignores ResolutionWidth/Height — FormatWidth/Height are the live keys (one trial caught it from job metadata and rebuilt the job). render.get_settings is version-gate-broken on this build; substitute probe_render_settings or queued-job metadata.

Linking & selectors

set_property("Linked") now refuses with success:false (loud, not silent); set_clips_linked + get_linked_items is the working route. timeline_item accepts timeline_name (pinned:true + restore) — but unpinned reads still hit a co-agent’s current; one T7 trial discarded four such reads and said so.

Fusion scope proven two ways

fusion_comp’s timeline_item_id resolves against the current timeline (ignores timeline_id): a mid-run switch produced a clean ITEM_NOT_FOUND, and the trial proved non-contamination by probing the co-agent’s timeline (comp_count 0) plus the official bridge server’s GetFusionCompCount()==1 — first cross-interface T8 pass.

Surface move

append_to_timeline now lives on media_pool, not the timeline tool — the operator hit this building the fixture; agents saw it only as a valid-actions list. action_help still has gaps (ripple_insert: HELP_NOT_REGISTERED).

Safety nets seen live

Built-in before/after read-back verification on appends; RENDER_PRESET_STATE_INHERITED on every prepared job; timeline.duplicate auto-restoring the hijacked current pointer; confirm-token gating with a names preview; C6 _archived_vNN siblings on every mutation — again the zero-mutation proof for T1.

Method & deviations

Teardown

Scratch project _mcp_AGBench-2026-11-10f deleted after grading — all base, trial and archive timelines went with it; library verified back to pre-wave contents. Render queue verified empty. The three T7 outputs are kept under /Volumes/YourVolume/resolve-audio-analysis/agbench_2026-11-10f/T7r{1,2,3}/ with SHA-256 recorded in the results file.

Full evidence: bench/resolve-agentic/briefs-2026-11-10f.md (as sent, camera filename redacted per publish guard; unredacted original kept off-repo) · bench/resolve-agentic/results-2026-11-10f.json (per-trial grader read-backs) · leaderboard/results.json · docs addendum (f). No probe payload reproduced verbatim; volume paths placeholdered.