Regroupe l'état de travail en cours réalisé dans un même worktree sur plusieurs tickets/sprints (#85, #136, #145, #155-160, #162-164), mélangeant des tickets QA et inProgress. Ne constitue pas une feature terminée : commit de sauvegarde avant triage/split par ticket en branches feature/* dédiées. Exclut les dossiers d'environnement de build locaux et le heap dump parasite (.gitignore mis à jour). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
29 lines
2.1 KiB
Markdown
29 lines
2.1 KiB
Markdown
---
|
|
issueRef: "#100"
|
|
version: 3
|
|
updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"}
|
|
updatedAt: 1785002671405
|
|
---
|
|
## Rapport de validation #91-G — 2026-07-25 (Main, QA-channel instable)
|
|
|
|
### Validé en sandbox (VERT)
|
|
- Contrat A : 8 `dart test` OK.
|
|
- Projection B (12 tests), command handler C (11), adapter D (6) : `flutter test` all passed.
|
|
- Idempotence : « advances once on retry duplicate », « deduplicates retry before dispatching ».
|
|
- Rejets : stale revision, non applicable, missing session, mismatch.
|
|
- Adapter : publish par révision, heartbeat, ack, resync reconnexion, ordre séquentiel.
|
|
- `flutter analyze` app téléphone : 0 problème sur le code watch. `flutter analyze` watch_app : No issues found.
|
|
- Revue code (Main) : la montre n'applique jamais une commande localement (recalage sur projection confirmée — `watch_session_view_model.dart:140-196`) ; haptiques sans focus audio (#92) ; démarrage commun exercice+étape via use cases existants.
|
|
|
|
### À valider on-device par l'utilisateur
|
|
1. `flutter build apk` (app téléphone) — vérifier compilation avec D (plugin Kotlin, `play-services-wearable:19.0.0`, `WatchCompanionForegroundService`, `PhoneWatchBridgeListenerService`).
|
|
2. `cd watch_app && flutter build apk` — vérifier compilation de l'app Wear OS.
|
|
3. Pairing Wearable : installer les deux APK, appairer, lancer une séance, vérifier projection reçue sur la montre.
|
|
4. Commandes depuis la montre : démarrer/pause chrono, démarrer chrono suivant prêt, passer étape/passage/série, terminer série, passer repos → effet réel côté téléphone.
|
|
5. Foreground service : téléphone verrouillé / app en background pendant séance → le canal reste vivant.
|
|
6. Latence/interpolation/resync réelles ; haptiques au ack sans couper la musique.
|
|
|
|
### Commits (feature/ticket91-wear-os-watch-sync)
|
|
cf68a72 #91-A · d1c6076 #91-B · 6c177de #91-C · 68a87d1 #91-D · c65a5a7 #91-E/#91-F · 40a2d5e server networking (séparé).
|
|
|
|
QA-agent n'a pas pu produire de final textuel (canal instable, sandbox bloquant flutter) — exécutable pris en charge par Main. Revue code par Main. |