docs(ideai): met à jour sprints et tickets après le partage de programmes/séances
Ajoute un sprint, clôture le ticket #50, ajoute le cadrage du ticket #54. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@ -1,6 +1,7 @@
|
||||
---
|
||||
issueRef: "#50"
|
||||
version: 1
|
||||
updatedBy: {"kind":"agent","agent_id":"f8f40941-ecf7-4830-b9de-8818a099f448"}
|
||||
updatedAt: 1784412001974
|
||||
version: 3
|
||||
updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"}
|
||||
updatedAt: 1784449447058
|
||||
---
|
||||
Endpoints `POST /sync/push`, `GET /sync/pull`, `POST /sync/exchange` implémentés, protégés par le middleware Bearer. LWW rendu atomique côté SQL (CTE `INSERT ... ON CONFLICT ... WHERE client_updated_at < EXCLUDED.client_updated_at` + fallback pour `ignoredOlder`), relu manuellement et jugé correct. Tests unitaires avec fakes en mémoire verts (15/15), `dart analyze` clean. Non vérifié : aucun test de bout en bout contre un vrai PostgreSQL (pas d'accès Docker dans le sandbox Main). À faire avant mise en prod : une fois #52 livré, tester `push`/`pull`/`exchange` via curl contre le serveur réel + vérifier la concurrence de l'upsert LWW sous charge.
|
||||
@ -2,15 +2,15 @@
|
||||
id: "983aa02b-7577-4fde-b77a-12355df0efdb"
|
||||
number: 50
|
||||
title: "[Server] API de synchronisation incrémentale LWW"
|
||||
status: "open"
|
||||
status: "qa"
|
||||
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"}
|
||||
updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"}
|
||||
createdAt: 1784412001974
|
||||
updatedAt: 1784412001974
|
||||
version: 1
|
||||
updatedAt: 1784449447058
|
||||
version: 3
|
||||
---
|
||||
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.
|
||||
Reference in New Issue
Block a user