Scans all CRDT log rows for this user. Rows whose operation payload matches an earlier
row (same normalized JSON) are removed; the lowest data_version for each payload is kept. This cannot be undone. Removing tail rows can lower server
latest_version
after the next client sync.
%{"id" => "230c7794-5c8f-4dc7-9523-26ab31defdf7", "priority" => 3.0, "project_id" => "2600ea1e-323f-4da0-ac82-718e100bebcd", "status" => "not_started", "title" => "Expand todo functionality - Add a \"body\" (Markdown text) to todos. Add ability to mark progress on a todo (i.e. It's not just done/undone but 35% done).", "type" => "todo.update", "updated_at" => "2026-03-30T12:50:19Z"}
%{"id" => "230c7794-5c8f-4dc7-9523-26ab31defdf7", "priority" => 2.0, "project_id" => "2600ea1e-323f-4da0-ac82-718e100bebcd", "status" => "not_started", "title" => "Expand todo functionality - Add a \"body\" (Markdown text) to todos. Add ability to mark progress on a todo (i.e. It's not just done/undone but 35% done).", "type" => "todo.update", "updated_at" => "2026-03-29T21:34:59Z"}
%{"id" => "230c7794-5c8f-4dc7-9523-26ab31defdf7", "priority" => 2.0, "project_id" => "2600ea1e-323f-4da0-ac82-718e100bebcd", "status" => "not_started", "title" => "Expand todo functionality - Add a \"body\" (Markdown text) to todos. Add ability to mark progress on a todo (i.e. It's not just done/undone but 35% done).", "type" => "todo.update", "updated_at" => "2026-03-29T21:34:53Z"}