detail
Using gym-api.php's duplicates endpoint, reviewed all 8 duplicate clusters (16 redundant records, 26 true workouts). Found the tombstone list had the WRONG record marked for deletion in 4 of 8 clusters - the actual richest/most-complete record was tombstoned while a lesser duplicate survived, meaning the 07/10, 07/18 (no-timeIn), 08/13, and 08/15 workouts would have fully disappeared on next Sync, not just deduplicated. Rebuilt the tombstone list correctly: removed 4 wrongly-flagged keep records (1783709865322, 1783868092665, 1786466466626, 1786883160000), added 3 previously-missed genuine duplicates (1718064000001, 1786621380000, 1787058353434). Also cleared garbage/mismatched name fields on 3 surviving records ("Hello", "Text and images you copy..." clipboard-paste artifacts, and a wrong-date "David 15 easy workout" title bleeding onto a 06/13 and a 08/13 record).