You, as the application developer.
> I think it is important to make clear that CRDTs do not "solve" the merging problem
They literally do, in the context in which they are defined. Which is about data consistency, not semantic correctness.
> Often, CRDTs do not capture higher level schema invariants,
CRDTs never capture higher level schema invariants. Just like TCP doesn't enforce HTTP session authentication. Orthogonal concerns.
You, as the application developer.
> I think it is important to make clear that CRDTs do not "solve" the merging problem
They literally do, in the context in which they are defined. Which is about data consistency, not semantic correctness.
> Often, CRDTs do not capture higher level schema invariants,
CRDTs never capture higher level schema invariants. Just like TCP doesn't enforce HTTP session authentication. Orthogonal concerns.