Diffable documents: why every artifact in Plain is git-ready
What happens when documents become version-controllable like code.
Reviewing changes to a binary file is impossible. Reviewing changes to text is routine. We've known this in software engineering for forty years. We haven't applied it to documents.
Plain's source is text. Every deck, every doc, every dashboard starts life as Markdown or Plain DSL with YAML frontmatter. When you edit a slide title, what changes in the source is one line. When you reorder sections, what changes is a few hashes of position. When you switch theme, what changes is a single token.
What this enables
- Real version history. Not "v3_final_REAL.pptx" on your desktop. Actual diff history where you can see what changed and roll back precisely.
- Review by humans. Your colleague can see your changes the way they'd see a code review — additions in green, removals in red, conversation in margins.
- AI can edit specific things. "Change the third paragraph" lands as a one-line replace in JSON Patch notation. Cheap, exact, version-tracked.
- Concurrent editing. Yjs CRDTs merge text edits cleanly across collaborators. Two people editing different slides doesn't produce a "merge conflict" dialog.
The Office file world doesn't have this
A .pptx is a zip of XML plus binaries plus a manifest. Opening two versions side by side and seeing what changed is, in practice, impossible. Modify one cell, and the binary diff spans a hundred lines of unrelated metadata. So nobody reviews document changes the way they review code changes.
Plain unconditionally produces text as source. The same Plain DSL works whether AI is generating it, you're editing it in the workspace, or you're cloning the repo and editing it in your editor of choice.
Practical example
At some companies, board decks need approval from the legal team before they go out. Today that's "send the .pptx, hope they catch issues by reviewing every slide visually."
With Plain: the deck is a text file in a Plain workspace. Legal opens a "review request," sees exactly what changed since their last approval. They comment inline. The author addresses comments — and the comment thread tracks which version was addressed.
That's not exotic technology. That's just code-review infrastructure, finally applied to documents.
The long arc
We think every artifact your company produces — deck, doc, dashboard, training material, brand guide, investor update — deserves the same engineering rigor you give code. Versioned. Reviewable. Reproducible. AI-readable.
That's what "diffable" means. And that's why Plain's source is text.