Rattrapage de l'état runtime IdeA (nouveaux tickets #80-#91, agents coach/commercial, skills, permissions MCP) resté non commité depuis la clôture du ticket #79. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1.7 KiB
issueRef, version, updatedBy, updatedAt
| issueRef | version | updatedBy | updatedAt | ||||
|---|---|---|---|---|---|---|---|
| #81 | 3 |
|
1784665481490 |
Spec UX (livrée)
Bloc compact "Références" dans l'écran d'exécution (workout_execution_screen.dart), sous le nom de l'exercice, avant la séquence d'étapes/champs de résultat. Deux infos max : "Dernière" (résultat de la même série que l'historique le plus récent, fallback dernière série dispo) et "Record" (meilleure valeur toutes séances confondues, règle de meilleur selon type de mesure : score manuel/reps = max, score chrono = min, temps = max). États : loading, avec dernière+record, dernière seule, record seul, vide sans historique ("Première fois sur cet exercice"), vide sans mesure pertinente, erreur (non bloquant). Pour exercices à étapes : reste au niveau série dans le bloc principal, détail par étape optionnel (bottom sheet), non bloquant pour le ticket.
Exigences techniques :
- Use case
getExercisePerformanceReference(exerciseId, activeMeasures, currentSetIndex)retournantExercisePerformanceReference { last, record, hasAnyHistoryForExercise } - Matching par identité stable de l'exercice source (pas par nom sauf fallback validé Architect), historiques d'exercices archivés restent exploitables
- Ignorer séries skipped/valeurs nulles, ne lire que historiques terminés (pas séance active)
- Chargement non bloquant, skeleton/"Chargement…", erreur non bloquante "Références indisponibles"
- Composant DevFrontend réutilisable
PerformanceReferenceCardavec formatage temps/score selon règles UX
Prochaine étape : Architect cadre l'implémentation technique (requêtes historique, ports/use case, découpage Dev).