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" => "1445e456-1f4e-4c8e-b7ee-f3a2da5dff24", "priority" => 3.0, "project_id" => "4fde0448-2ad8-4bba-93a7-a5d648016a76", "status" => "completed", "title" => "Sometimes a list, in day planner or project view, refreshes and scrolls all the way to the top automatically", "type" => "todo.update", "updated_at" => "2026-03-27T23:51:13Z", "user_id" => "156b0342-9379-4992-b761-1bb6eff14ab6"}
%{"id" => "ef7eaa30-4d50-4947-82ce-a79ac33b96c0", "priority" => 3.0, "project_id" => "320cf755-12bd-45d6-b45d-353564d52a09", "status" => "not_started", "title" => "Look into switching team from OpenAI to Anthropic", "type" => "todo.update", "updated_at" => "2026-04-01T11:41:52Z", "user_id" => "156b0342-9379-4992-b761-1bb6eff14ab6"}
426
todo.update
%{"id" => "7d715bfa-7c6d-4d5c-903d-51cb2f6bf8a9", "priority" => 3.0, "project_id" => "0fd66fc8-a70d-4782-8f92-cb5250eb58f2", "status" => "completed", "title" => "Look into CF caching to see if that helps perf", "type" => "todo.update", "updated_at" => "2026-04-06T23:02:37Z", "user_id" => "156b0342-9379-4992-b761-1bb6eff14ab6"}
425
todo.update
%{"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", "user_id" => "156b0342-9379-4992-b761-1bb6eff14ab6"}
%{"id" => "dd95947a-7521-4141-8fb5-07fb8e5405d2", "priority" => 3.0, "project_id" => "2600ea1e-323f-4da0-ac82-718e100bebcd", "status" => "not_started", "title" => "Add a way to see past scheduled todos that weren't marked as done", "type" => "todo.update", "updated_at" => "2026-04-01T10:50:05Z", "user_id" => "156b0342-9379-4992-b761-1bb6eff14ab6"}
420
todo.update
%{"id" => "bcf34d75-8fe7-4090-a257-66718819a3f1", "priority" => 4.0, "project_id" => "05e246e7-a4b9-41e4-bb3b-91da3810e43d", "status" => "completed", "title" => "Replace formulaire d'adhésion with one on the Drive \"adhésion 20264\"", "type" => "todo.update", "updated_at" => "2026-03-29T20:41:46Z", "user_id" => "156b0342-9379-4992-b761-1bb6eff14ab6"}
419
todo.update
%{"id" => "2e17bd09-9e07-4852-a1b9-4dcfa956864d", "priority" => 4.0, "project_id" => "c72bbcfb-c852-4aa8-8c3e-c63eeeb69267", "status" => "completed", "title" => "Pay Union Mail invoice (in email)", "type" => "todo.update", "updated_at" => "2026-03-29T16:04:08Z", "user_id" => "156b0342-9379-4992-b761-1bb6eff14ab6"}