This release adds 2 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+1 more
Summary
AI summaryLong Resolve operations now register in a cross-process sidecar, gating concurrent calls with a retryable RESOLVE_BUSY error after up to 5 seconds.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Medium |
Adds cross-process sidecar registration for Resolve calls. Adds cross-process sidecar registration for Resolve calls. Source: llm_adapter@2026-06-10 Confidence: high |
— |
| Feature | Medium |
Introduces `RESOLVE_BUSY` retryable error for concurrent Resolve operations. Introduces `RESOLVE_BUSY` retryable error for concurrent Resolve operations. Source: llm_adapter@2026-06-10 Confidence: high |
— |
| Feature | Low |
Automatically ignores stale Resolve registrations older than 2 hours. Automatically ignores stale Resolve registrations older than 2 hours. Source: llm_adapter@2026-06-10 Confidence: high |
— |
| Feature | Low |
Ensures an operation never gates its own thread during concurrency. Ensures an operation never gates its own thread during concurrency. Source: llm_adapter@2026-06-10 Confidence: high |
— |
| Feature | Low |
Waits up to 5 seconds before returning `RESOLVE_BUSY` on contention. Waits up to 5 seconds before returning `RESOLVE_BUSY` on contention. Source: granite4.1:30b@2026-06-10-audit Confidence: low |
— |
| Performance | Low |
Adds 9 new unit tests covering concurrency registration and busy handling. Adds 9 new unit tests covering concurrency registration and busy handling. Source: llm_adapter@2026-06-10 Confidence: high |
— |
Full changelog
v2.38.0
Busy gate for long DaVinci Resolve operations — the first piece of the concurrency design for the documented stdio + networked two-instance setup.
Added
- Long synchronous Resolve calls (timeline export/import, scene-cut detection, subtitle generation, Dolby Vision analysis, folder/clip audio transcription) now register themselves in a cross-process sidecar, so both server instances see each other's work. A tool call that arrives while one is running waits up to 5 seconds and then returns a structured
RESOLVE_BUSYerror — newbusyerror category, retryable, withstate.busy_withandstate.age_seconds— instead of hanging silently inside the scripting bridge. Stale registrations (crashed process, or older than 2 hours) are ignored automatically, and an operation never gates its own thread.
Design decisions (recorded for future phases)
- Supported concurrency target: a single editor running multiple clients (stdio + networked instance + control panel), not multi-user.
- Confirm tokens remain per-instance; a cross-instance token failure will get a clearer message in a follow-up.
- Actor identity in destructive-op records and the AI-ops ledger is deferred to the governance-tiers phase.
Validation
- Offline unit suite: 1,032 tests, 0 failures, 0 errors. 9 new tests cover registration, owner-thread exemption, cross-thread gating, timeout/recovery, dead-pid and stale/corrupt sidecar handling, and the
_check()envelope. - Live-validated read-only against DaVinci Resolve Studio 21: free path passes through, simulated long op returns the structured busy envelope, gate releases cleanly afterward. No project state was modified.
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]