authorclover caruso <git@paperclover.net> 2026-10-11 14:29:33-07:00
committerclover caruso <git@paperclover.net> 2026-10-11 14:30:17-07:00
log07be1bb63a85dededae39e376dc14ec518026a01
treed3f0187b9184abeebb6975955ef2ecbbcccc52b5
parent42a56c47989bd9409c1497b7afb0247620631117
signature Signed by SSH key SHA256:52mNGHRsVFBDED9IAX5pe+LRWUefqTbxEReunq21QvU (~clover)

docs: narrow cloud merge retry guarantees

Distinguish named page retry deduplication from opposite-base reconciliation and byte-identical output. Keep the existing multi-file protocol link. Refs #120 Assisted-by: gpt-6.1-sol

1 files changed, 8 insertions(+), 6 deletions(-)

arc/sync.md+8-6
...@@ -286,12 +286,14 @@ for each version V the remote lists (Remote::versions)...@@ -286,12 +286,14 @@ for each version V the remote lists (Remote::versions)
286 revisions, publish on C's stamp; then retire V (resolved, removed)286 revisions, publish on C's stamp; then retire V (resolved, removed)
287```287```
288288
289Each revision the merge writes is named after the version's revision it merged (a hash of it),289Merged page revisions and conflict page identities are named after the incoming version's
290so "holds merged" is a lookup by revision identity. A version merged once, by this device or290revision (a hash of it), so "holds merged" is a lookup by revision identity. A version merged
291another, merges as nothing the next time; two devices merging one version at once write the291once, by this device or another, merges as nothing the next time. Two devices merging the same
292same names, and the merge of their two results finds everything held. Any device merges any292version onto the same current page state name corresponding outcomes alike. This deduplicates
293version at once; nothing waits for the device that wrote it. A version of another section, or293retries; it does not make integrations from opposite primary bases order-independent or
294one that cannot be read, is kept beside the file as `Name (Device).one` instead.294produce byte-identical files. Any device merges any version at once; nothing waits for the
295device that wrote it. A version of another section, or one that cannot be read, is kept beside
296the file as `Name (Device).one` instead.
295297
296On a cloud drive every read and write of a section file runs under `NSFileCoordinator`, so the298On a cloud drive every read and write of a section file runs under `NSFileCoordinator`, so the
297iCloud daemon never swaps a file between the stamp check and the append. A file iCloud evicted299iCloud daemon never swaps a file between the stamp check and the append. A file iCloud evicted