D15. Files are the source of truth; every change is an operation (6 Oct 2026)
The desktop app, the CLI, the MCP server and agents’ own file tools all change the same course folder. Files stay the source of truth while the app is open; one writer at a time holds the project lock; every change is recorded in a journal as operations addressed by id (never by array index), with its inverse, its author (human, agent, external, system) and its batch. File edits made outside Elabora are turned into operations by diffing. This gives undo across tools, the prose history, « Annuler le travail de l’IA » (undo of one batch of AI work, keeping later human edits) and, later, collaboration and review. Agent proposals to accept or reject were dropped (6 Oct 2026): agents write directly, and their batch can be undone. Revisit if: collaboration needs a CRDT for text inside a block (then a CRDT for Markdown fields only, keeping operations by id for structure).