RFC 0001: Control ownership and handoff
Status: draft · Date: 2026-09-11.
Problem
Human and AI actors can target the same decks and shared mixer resources. A takeover must prevent already queued AI actions from executing afterward.
Proposal
Assign resources individually to one actor with an ownership generation. Commands include the generation they observed. Explicit handoff or authorized human takeover increments it; both ingestion and execution validate it. Ownership changes are journal events. Shared crossfader and master controls require their own grants.
Use a configurable lease for remote human clients. Expiry revokes future commands while preserving current playback. Shadow actors never receive dispatch permission, regardless of ownership metadata.
Alternatives
Last-writer-wins is simple but allows delayed actions after takeover. Locking whole decks does not resolve shared mixer controls. Resource grants provide finer control at the cost of additional state and UI.
Open questions
What lease duration works during brief Wi-Fi interruptions? Which physical gestures imply takeover? How should an atomic bass swap across two channels acquire grants? Should scheduled cooperative handoff use a beat boundary or an exact frame?
Acceptance evidence
Race two actors at the same frame, revoke one after enqueue, and prove its command never executes. Replay the handoff journal and recover the same ownership/state. Disconnect and reconnect a client without restoring revoked ownership. Attempt adapter dispatch from a shadow actor and verify rejection.
No wire compatibility is promised until these questions are resolved and schema v1 is frozen.