Automerge Converges, But Your Linked List May Break
Convergence Is Not Enough

In the Livelymerge project, we're building a system where the entire heap is an Automerge document, hoping for free merges. But convergence isn't enough: merging concurrent edits to a linked list can truncate it or create a cycle. The problem is that Automerge replays writes, not intents. We explore a promising direction: merge-aware datatypes that record high-level operations, and note related work like Coln.
The merge replays effects, not intents, and the programmer’s invariants — every node appears exactly once, no cycles, the list ends — were never written down anywhere that Automerge could see.