v2.39.0
v2.39.0
Governance enforce mode and actor identity — the staged Phase 3 of the Resolve 21 AI-ops work, built on three recorded design decisions: single-editor/multi-client concurrency target, instance-level identity, render-ops-only governance scope.
Added
- Governance
modefor the media-creating AI ops (motion deblur, speech generation):advisory(default — today's behavior, confirm-preview warnings only) orenforce, where an over-tier run is blocked with a structuredGOVERNANCE_BLOCKEDerror before token issuance, naming the exceeded dimensions and usage. Escape hatches: raise the tier or thresholds viaset_ai_governance, relax the mode, or passoverride_governance=trueto consciously exceed the tier once.set_ai_governanceacceptsmode(andpresetis now optional when only mode/overrides change);get_ai_governancereports it. - Instance-level actor identity: each entry point declares itself at startup —
stdio,network-sse,network-http,control-panel,batch-cli— and AI-ops ledger rows, brain edits, and timeline versions now carry anactorcolumn (<instance>:<pid>) alongside the existinginitiator. Initiator says why a row exists; actor says who wrote it. - Schema v8 (additive
actorcolumns on three tables). The updater's eager migration handles existing databases.
Validation
- Offline unit suite: 1,049 tests, 0 failures, 0 errors (17 new for this phase).
- v8 migration verified against a copy of a real project database (v6 → v8; 38 brain edits and 14 timeline versions preserved; originals untouched).
- No DaVinci Resolve scripting behavior changed; the enforce gate and identity stamping are local logic on already-confirm-gated paths.