--- issueRef: "#65" version: 4 updatedBy: {"kind":"user"} updatedAt: 1785243160967 --- SyncUseCases.synchronize() implémenté avec push/pull LWW réel, changement silencieux d'état (success/failure) sans jamais laisser remonter d'exception, réutilise la table change_log déjà présente (écrite mais jamais lue jusqu'ici). 119/119 tests verts, flutter analyze clean, APK debug buildé. Point de nettoyage identifié, non bloquant : `AppDependencies` expose toujours l'ancien port `SyncGateway`/`NoOpSyncGateway` (vestige du ticket #12) EN PLUS du nouveau `SyncUseCases` réel — les deux coexistent, rien n'appelle plus `syncGateway.synchronize()` de façon utile puisque #68 branchera l'UI sur `syncUseCases.synchronize()` directement. À évaluer en QA (#70) si `SyncGateway`/`NoOpSyncGateway` doivent être supprimés pour éviter la confusion entre deux abstractions de sync.