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>
Intègre le commit de clôture du lot #91 resté non fusionné. Conflits
attendus sur entities.dart, workout_execution_screen.dart et
watch_companion_projection_test.dart : arbitrage Architect - garder la
base feature/ticket91-wear-os-watch-sync sur ces 3 fichiers puis réinjecter
uniquement les invariants chronos utiles (Durée / Temps réalisé).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
# Conflicts:
# lib/domain/entities.dart
# lib/presentation/workout_execution_screen.dart
# test/application/watch_companion_projection_test.dart
Sépare la notion de Durée (paramètre configuré) de Temps réalisé (résultat
mesuré au chronomètre), renomme le champ « Temps par défaut (s) » en
« Durée par défaut (s) » dans la bibliothèque d'exercices, et limite
l'exécution à un seul chrono visible à la fois. Le mode Score chrono est
conservé tel quel comme mode du score.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Consolide le lot applicatif watch companion validé :
- télémétrie fréquence cardiaque live remontée montre -> téléphone
(collecteur watch, adapter Wear Data Layer, persistance Drift,
propagation aux écrans historique/programme/profil/exécution)
- notifications de séance en arrière-plan côté téléphone (service
foreground de statut + passerelle applicative)
- finitions montre : chrono d'étape, score d'étape, retrait du bouton
"lancer une séance", thème, icônes et polices watch_app
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Lot frontend F1+F2 : composant library_tags.dart (filtre/suggestions de tags), intégration dans exercise_library_screen, program_screen et workout_template_screen (tags + action duplication rapide), tests associés.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Ajoute le badge "Exemple" (example_badge.dart) affiché sur les
exercices/programmes/séances-modèles seedés, le filtrage par catégorie
dans la bibliothèque d'exercices et les états vides dédiés. Préserve
isExample lors de l'édition d'un programme ou d'une séance-modèle
existants (ProgramUseCases/WorkoutTemplateUseCases).
Validé GO par Main : dart analyze propre, 173 tests (4 échecs
préexistants sans rapport avec ce lot).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Ajoute les réglages d'auto-enchaînement des chronos d'étapes sur
exercise_library_screen.dart, program_screen.dart et
workout_template_screen.dart, s'appuyant sur la résolution du ticket
#76. Propagation du nouveau champ vérifiée exhaustivement sur les 5
points d'impact de _ProgramExerciseDraft (constructeur, fromExercise,
fromProgramExercise, copy(), toConfig()) — pas de répétition du bug
#72. flutter pub get OK, dart format appliqué (7 fichiers reformatés),
analyze propre (mêmes infos préexistantes), 152/152 tests verts, build
APK debug validé. Développés dans le même worktree partagé par
DevBackend et DevFrontend ; feature/step-chaining-77-ui-settings
restée vide, jamais divergée.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Corrige l'acceptation de partage hors-ligne (acceptShare,
_acceptCachedShareAndQueueAck, _importSharedPayload dans
application/use_cases.dart) : crée bien une copie locale indépendante
avec de nouveaux IDs avant de mettre l'accusé serveur en file
d'attente. Ajuste app_bootstrap.dart, profile_screen.dart et
share_screen.dart en conséquence. flutter pub get OK, dart format
appliqué (aucun changement), analyze propre (mêmes infos
préexistantes), 137/137 tests verts, build APK debug validé. Dernier
ticket du chantier "Ajouter les features serveur au client" (#63,
tickets #64 à #70 tous terminés).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
_ProgramExerciseDraft dans program_screen.dart (état interne du
formulaire de composition de programme) n'avait jamais de champ
exerciseStepsSnapshot depuis sa création, avant le chantier "Exercice
à plusieurs étapes" (#54). Les étapes d'un exercice étaient donc
systématiquement perdues à chaque composition/édition de programme
via l'écran réel, peu importe l'ordre des opérations — d'où l'absence
totale d'étapes affichées en séance. Ajoute le champ manquant et 2
tests de non-régression exerçant le vrai flux UI ProgramFormScreen.
flutter pub get OK, dart format appliqué (aucun changement), analyze
propre (mêmes infos préexistantes), 135/135 tests verts, build APK
debug validé.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Ajoute l'écran de partage sortant (presentation/share_screen.dart) et
la boîte de réception des partages (presentation/share_inbox_screen.dart),
avec les points d'entrée sur profile_screen.dart, home_screen.dart,
program_screen.dart et workout_template_screen.dart. flutter analyze
propre (mêmes infos préexistantes), 132/132 tests verts, build APK
debug validé. Dernier ticket de développement du chantier "Ajouter
les features serveur au client" (#63) — il ne reste que la QA finale
(#70).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Ajoute la suppression avec gestion des dépendances en cascade sur les
écrans bibliothèque d'exercices, programme et séance-modèle, avec les
use cases et le bootstrap applicatif associés. flutter analyze propre,
58/58 tests verts, build APK debug validé.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Étend le modèle Drift (tables.dart, app_database.dart/.g.dart), les
entités/use cases/repositories et les écrans bibliothèque d'exercices
et programme pour supporter des valeurs par défaut par exercice
(répétitions/temps/poids proposés à la création d'une série).
flutter analyze propre, 51/51 tests verts, build APK debug validé.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Corrige le popup de confirmation quand un exercice est ajouté sur
program_screen.dart. flutter analyze propre, 43/43 tests verts, build
APK debug validé. Ticket laissé en QA : validation manuelle sur APK
par l'utilisateur avant clôture.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Ajoute la configuration du score chronométré sur exercise_library_screen.dart
et program_screen.dart, s'appuyant sur les fondations domain du ticket
#25. flutter analyze propre, 41/41 tests verts, build APK debug validé.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Simplifie l'affichage du programme sur program_screen.dart avec des
cartes compactes. flutter analyze propre, 30/30 tests verts, build APK
debug validé.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Ajoute l'écran de programme (presentation/program_screen.dart) et un
écran d'accueil (presentation/home_screen.dart) pour la navigation,
avec les ajustements application/domaine/repositories nécessaires.
flutter analyze propre, 11/11 tests verts, build APK debug validé.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>