I'm about to start losing all my phone's biome data and my mind with it. I need help from guru engineers. Hope someone could help me. Published Biome research covers reading the SEGB artifacts, but I can't find anything on sync/sync.db and the merge logic. Hoping someone here has looked at it.
Setup:
iPhone16 Pro on iOS 26.6 paired with a MacBook Air on macOS 26.6. Same Apple ID. Reading my own devices, read-only.
What happened
My Macbook stopped receiving phone's in_focus biome stream after a large tombstone purge. In ~/Library/Biome/sync/sync.db, table CRDTLocation has rows of (stream, site, day, state). For my iPhone's AppLaunch stream there is a contiguous band of 27 days, 30 June to 29 July, with state = 4. Every other day is state = 2. Other streams on the same device have bands of only 1-2 days.
Data behaviour lines up exactly with that band:
-every day at or below 29 July: the phone offers batches, zero records ever land
-every day after 29 July: records land normally, but only 2-3 per hour, the gap is widening every day. I am now on the 1st of Aug.
-14 out of 14 date buckets observed over a week follow this, no exceptions
Media.NowPlaying on the same phone has its own state=4 day at 23 July, and it has delivered nothing since 22 July. Over a week it re-offered ~8,900 records spanning 21 June to 16 July, all refused, and it never offers anything dated after its 23 July mark, even though newer data exists on the phone.
The 27-day band was created on 30 July: two tombstone segments written over 6 seconds at 08:14 UTC containing ~18,000 deletion records covering 2-24 July. On the Mac those days now show 0 live records and several thousand dead slots. TombstoneBookmark still points at that segment.
Questions
What do CRDTLocation.state values mean? I'm fairly confident 4 = deleted and 2 = present/known, since days marked 2 sync fine including ones with no data yet. Is that right, and are there other values?
Is the refusal rule what it looks like: an incoming batch is dropped if its day is at or below the highest state=4 day for that (stream, site)? Is the comparison meant to be inclusive?
Is a tombstone for a day supposed to bar re-delivery of the entire day permanently, or only the specific records that were deleted? Mine appears to bar everything, including records that were never deleted.
Is there any supported way to clear a state=4 band, or reset the sync relationship for one stream, without erasing the device?
Has anyone seen a tombstone burst like this, ~18,000 deletion records in under 6 seconds while both devices were idle? Normal pruning on my device is ~700/day. Is there a known trigger?
Would it be possible to repoint tombstone bookmark manually?
The source records still exist on the phone but Biome retention is ~28 days, so they age out within days... please help
Thank you!