Files
GameTime/.ideai/tickets/81/carnet.md
Blomios 73cfa644c2 chore(ideai): synchronise l'état de suivi (tickets, agents, skills, mémoire)
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>
2026-07-21 22:26:20 +02:00

18 lines
1.7 KiB
Markdown

---
issueRef: "#81"
version: 3
updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"}
updatedAt: 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)` retournant `ExercisePerformanceReference { 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 `PerformanceReferenceCard` avec formatage temps/score selon règles UX
Prochaine étape : Architect cadre l'implémentation technique (requêtes historique, ports/use case, découpage Dev).