Technical · 2026-04-12 · 8 min

Versioning prompts like code

Prompts are text. They rot like text. They want a version history like text. But they are not code — and reaching for git as a data layer pulls you into a model that is too large for the problem.

Promptory’s history is a flat append-only log of (timestamp, full body) pairs per prompt. No branches. No merges. Just “here is what it was at 9:12 last Tuesday.”

The diff view

Pure character-level diff is wrong: it splits words and looks like noise. Word-level diff is closer. Whitespace-insensitive line diff is the one that felt right for prose-shaped prompts.

The body of this note will dig into the linear-time longest common subsequence implementation I used, the call stack on revert, and why I have no plan to add branches.

More notes