01A browser is an excellent studio and an awkward protocol
A browser editor gives people exactly what they need: a monitor, a timeline, sound, direct manipulation and immediate feedback. Those strengths do not automatically make its interface a good machine contract. A browser Agent that edits by clicking buttons and dragging handles must reconstruct hidden state from whatever happens to be visible. A panel can close, a coach mark can intercept a click, a responsive breakpoint can move a control, and a four-pixel drag can mean selection instead of trim. Even when the gesture succeeds, repeating it after a timeout may move the clip twice. The problem is not that browser automation is useless. It remains valuable for capabilities that only exist in the interface and for final visual verification. The problem is asking a visual interface to provide revision control, idempotency and transactional guarantees that it was never designed to express.
07The batch is a transaction, not a half-finished edit
A useful edit often spans several related clips. Moving a voiceover must shift its linked captions. Resizing it may need to clamp their ends. Deleting audio must detach captions without losing the information needed to explain the relationship. The command engine clones the project and applies the plan to that working copy. If any operation fails validation, the original input object is not partially mutated. Only a successful batch increments the revision and returns the next project. This all-or-nothing behavior is less dramatic than a robotic drag demo, but it is what makes unattended editing trustworthy. The user receives either the intended coherent change or a structured error identifying the failed operation—not an archive whose first three edits landed and fourth one did not.
12The same registry can outlive every transport
The command-line interface is only the first doorway into the command engine. A future MCP server should call the same registry rather than implement a second editor. The React interface can eventually dispatch those same operations so a manual trim and an Agent trim share validation, source-time rules and history semantics. This prevents a common failure in automation products: three execution paths that gradually produce three incompatible project models. The durable layer is not the CLI syntax, one Agent brand or the current panel layout. It is the versioned project state plus pure reducers, stable identifiers and validation. Transports may change; editorial meaning should not.