---
id: "f28612f6-ef2c-4a5d-a0ac-9d66afb151d6"
number: 100
title: "#91-G [QA] Validation companion watch offline/local"
status: "closed"
priority: "medium"
sprint: null
links: [{"target":"#99","kind":"dependsOn"}]
agentRefs: [{"agentId":"7efa512f-3b3a-47b5-ade0-a2dd13073055","role":"assigned"}]
createdBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"}
updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"}
createdAt: 1784991960335
updatedAt: 1785002671405
version: 3
---
Partie #91, dépend de #91-F.

Validation end-to-end du companion montre, offline/local uniquement :
- Projection téléphone correcte pour chaque phase.
- Routing commandes + idempotence : retry/doublon n'avance jamais deux fois une étape/passage/série ; révision stale rejetée.
- Acks corrects selon contexte.
- Reconnexion + resync complet de l'état.
- Foreground service téléphone (verrouillé / background).
- Interpolation du chrono montre vs timestamps autoritaires.
- Cohérence téléphone/montre : la montre ne modifie jamais l'état localement ; le téléphone reste source de vérité ; actions simultanées -> dernier état confirmé.
- Haptiques sans couper la musique (#92).

Définition de done : rapport de validation par commande réelle (dart analyze, flutter test, build app téléphone + build watch, scénarios manuels sur émulateur/device si possible). Sortie verte ou rapport d'échec non enjolivé.
