Ajoute la note mémoire d'architecture serveur (sync/sharing), passe les tickets #44/#45 en QA, ajoute le cadrage du chantier serveur (tickets #47 à #53). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
16 lines
982 B
Markdown
16 lines
982 B
Markdown
---
|
|
id: "983aa02b-7577-4fde-b77a-12355df0efdb"
|
|
number: 50
|
|
title: "[Server] API de synchronisation incrémentale LWW"
|
|
status: "open"
|
|
priority: "low"
|
|
sprint: null
|
|
links: [{"target":"#46","kind":"relatesTo"},{"target":"#48","kind":"dependsOn"},{"target":"#49","kind":"dependsOn"}]
|
|
agentRefs: []
|
|
createdBy: {"kind":"agent","agent_id":"f8f40941-ecf7-4830-b9de-8818a099f448"}
|
|
updatedBy: {"kind":"agent","agent_id":"f8f40941-ecf7-4830-b9de-8818a099f448"}
|
|
createdAt: 1784412001974
|
|
updatedAt: 1784412001974
|
|
version: 1
|
|
---
|
|
Implémenter les ports/use cases et endpoints de sync incrémentale authentifiée. Endpoints : `POST /sync/push`, `GET /sync/pull?since=...`, optionnel `POST /sync/exchange`. Stratégie v1 last-write-wins basée sur `clientUpdatedAt` puis tie-breaker `serverUpdatedAt`/`serverId`. Supporter upsert, soft delete, réponses par item (`accepted`, `ignoredOlder`, `conflictLwwApplied`, `error`) et cursor serveur monotone. Ne pas intégrer le client Flutter dans ce ticket. |