docs(sync): split the sync work into five chunks
SYNC.md decides; it doesn't sequence. SYNC-PLAN.md turns its ~40 scattered findings into five chunks — mapper, auth/discovery, engine core, incremental sync + scheduling, hardening — each with a done-when and the traps it must not get wrong. Closes SYNC.md's three open questions: vendor dav4jvm/cert4android at our Java 17 target, server-wins-and-report on 412, External mode stays.
This commit is contained in:
+14
-6
@@ -1190,12 +1190,17 @@ everything about storage modes.
|
||||
|
||||
## Open questions
|
||||
|
||||
1. **dav4jvm + cert4android distribution *and* Java target.** Scoped JitPack,
|
||||
vendor, or in-house verbs? Now compounded: 4.x requires **Java 21** and we
|
||||
target 17 across `:app` and all of floret-kit. Vendoring recompiles at our own
|
||||
target and freezes the API churn — it looks better than it did. Before phase 2.
|
||||
2. **Conflict policy** — preserve-local-on-412, or documented LWW?
|
||||
3. **External mode** — survives, or becomes an importer? Before phase 1.
|
||||
1. ~~**dav4jvm + cert4android distribution *and* Java target.**~~ **closed:
|
||||
vendor**, recompiled at our own Java 17 target. `FAIL_ON_PROJECT_REPOS` stays,
|
||||
the Ktor/guava/xpp3 tail is not paid for, and the API churn is frozen. The
|
||||
MPL-2.0 obligations make the attribution screen mandatory rather than
|
||||
optional. See [`SYNC-PLAN.md`](SYNC-PLAN.md).
|
||||
2. ~~**Conflict policy**~~ **closed: server wins, the local edit is discarded**
|
||||
— DAVx5's policy, and the only one that terminates. It is *reported* to the
|
||||
user rather than applied silently. Preserve-local stays withdrawn: RFC 4791
|
||||
§4.1 makes the duplicate unuploadable.
|
||||
3. ~~**External mode**~~ **closed: kept, unchanged.** The mapper and UI stay
|
||||
dual-capable. Retiring it is a separate decision and does not block sync.
|
||||
4. ~~**Canonical recurring-completion behaviour**~~ **closed:** the store writes
|
||||
model (a), `RECURRENCE-ID` overrides sharing the master's UID. Read all four.
|
||||
5. **The DAVx5 enum ask** — worth filing, and what compatibility we owe if it
|
||||
@@ -1235,6 +1240,9 @@ shipped.
|
||||
|
||||
## Related
|
||||
|
||||
- [`SYNC-PLAN.md`](SYNC-PLAN.md) — **the build plan.** This document decides;
|
||||
that one sequences it into five chunks and records the decisions taken to
|
||||
close the open questions above.
|
||||
- [`STORAGE-AND-SYNC.md`](STORAGE-AND-SYNC.md) — where task data lives. This is
|
||||
its step 5.
|
||||
- [`../provider/PROVENANCE.md`](../provider/PROVENANCE.md) — every deviation from
|
||||
|
||||
Reference in New Issue
Block a user