◇ OpenChatCut

Architecture

How revisions, operations, media and persistent jobs form one project truth.

Operation engine

Manual editor commands and MCP tools both submit semantic operations to the same pure reducer. A transaction carries:

type EditTransaction = {
  transactionId: string;
  projectId: string;
  baseRevision: number;
  actor: string;
  operations: Operation[];
};

The daemon validates the whole batch, performs a revision compare-and-swap and commits atomically. A conflicting base revision is rejected rather than silently overwritten.

Managed media

Imported and generated media is copied into a SHA-256 addressed library. Thumbnails, waveforms, proxies and cleaned audio are derivatives; the original asset is never overwritten.

Linked-file mode is an explicit advanced option. It restricts file roots, guards against symlink escape and marks the project as non-portable.

Persistent jobs

Providers follow a resumable lifecycle:

submit → poll/resume → download → normalize → materialize

Jobs survive daemon and worker restarts. Generated results are downloaded immediately so a project never depends on a provider's temporary URL.

On this page