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:
2026-07-21 22:26:20 +02:00
parent 9981f02659
commit 73cfa644c2
42 changed files with 1085 additions and 44 deletions

View 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).

View 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).