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>
This commit is contained in:
18
.ideai/tickets/81/carnet.md
Normal file
18
.ideai/tickets/81/carnet.md
Normal file
@ -0,0 +1,18 @@
|
||||
---
|
||||
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).
|
||||
24
.ideai/tickets/81/issue.md
Normal file
24
.ideai/tickets/81/issue.md
Normal file
@ -0,0 +1,24 @@
|
||||
---
|
||||
id: "3d94d624-86a2-4f92-8766-2e5d06815f40"
|
||||
number: 81
|
||||
title: "Afficher la dernière performance / meilleur score pendant l'exécution"
|
||||
status: "inProgress"
|
||||
priority: "high"
|
||||
sprint: null
|
||||
links: []
|
||||
agentRefs: []
|
||||
createdBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"}
|
||||
updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"}
|
||||
createdAt: 1784650712105
|
||||
updatedAt: 1784665481490
|
||||
version: 3
|
||||
---
|
||||
Constat Commercial : les trackers de référence (Hevy, Strong) motivent l'utilisateur en montrant la dernière série ou le record pendant qu'il saisit sa performance en cours. GameTime ne l'affiche pas encore pendant l'exécution.
|
||||
|
||||
Objectif : pendant l'exécution d'une séance, afficher pour l'exercice en cours la dernière valeur enregistrée (répétitions/score/temps) et éventuellement le meilleur score, en s'appuyant sur l'historique déjà existant.
|
||||
|
||||
Périmètre global (à cadrer UX puis Architect/DevBackend/DevFrontend) :
|
||||
- Requête historique la plus récente / meilleure par exercice.
|
||||
- Affichage discret dans l'écran d'exécution, sans surcharger l'UI existante.
|
||||
|
||||
Priorité court terme d'après l'analyse marché (cf. mémoire gametime-commercial-positioning-2026-07).
|
||||
Reference in New Issue
Block a user