From c43b93ef99163dc9bf9a2da8bbc46195ca8db91e Mon Sep 17 00:00:00 2001 From: Blomios Date: Thu, 30 Jul 2026 16:17:31 +0200 Subject: [PATCH] chore(ideai): met a jour carnets et issues des tickets #164 #174 #179 #180 #182 #183 #184 Co-Authored-By: Claude Opus 4.8 --- .ideai/tickets/164/carnet.md | 6 +++--- .ideai/tickets/164/issue.md | 9 +++++---- .ideai/tickets/174/carnet.md | 6 +++--- .ideai/tickets/174/issue.md | 9 +++++---- .ideai/tickets/179/carnet.md | 4 ++-- .ideai/tickets/179/issue.md | 6 +++--- .ideai/tickets/180/carnet.md | 4 ++-- .ideai/tickets/180/issue.md | 6 +++--- .ideai/tickets/182/carnet.md | 4 ++-- .ideai/tickets/182/issue.md | 6 +++--- .ideai/tickets/183/carnet.md | 26 +++++++++++++++++++++++--- .ideai/tickets/183/issue.md | 6 +++--- .ideai/tickets/184/carnet.md | 6 +++--- .ideai/tickets/184/issue.md | 8 ++++---- .ideai/tickets/index.json | 28 ++++++++++++++-------------- 15 files changed, 78 insertions(+), 56 deletions(-) diff --git a/.ideai/tickets/164/carnet.md b/.ideai/tickets/164/carnet.md index 48650e9..0f5bcc7 100644 --- a/.ideai/tickets/164/carnet.md +++ b/.ideai/tickets/164/carnet.md @@ -1,8 +1,8 @@ --- issueRef: "#164" -version: 10 -updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} -updatedAt: 1785321673362 +version: 11 +updatedBy: {"kind":"user"} +updatedAt: 1785419501761 --- ## #164 — Cadrage UX (2026-07-28) diff --git a/.ideai/tickets/164/issue.md b/.ideai/tickets/164/issue.md index 1ca4687..bafbae6 100644 --- a/.ideai/tickets/164/issue.md +++ b/.ideai/tickets/164/issue.md @@ -2,15 +2,16 @@ id: "879caaa3-2658-4ad8-bfa0-a7444cffc1b0" number: 164 title: "[Bug] Plus de son en fin de chrono" -status: "qa" +status: "closed" priority: "medium" sprint: "abc4f969-b169-45f7-988c-daeeab762201" links: [] agentRefs: [] +attachments: [] createdBy: {"kind":"user"} -updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} +updatedBy: {"kind":"user"} createdAt: 1785243194849 -updatedAt: 1785321673362 -version: 10 +updatedAt: 1785419501761 +version: 11 --- Il n'y a plus de bips en fin de chrono. Sur les 3 derniere seconde il doit y avoir un big court et un bip plus long à 0. J'aiemrais que la montre vibre quand le chrono arrive à 0 \ No newline at end of file diff --git a/.ideai/tickets/174/carnet.md b/.ideai/tickets/174/carnet.md index 58cda8d..6d9495b 100644 --- a/.ideai/tickets/174/carnet.md +++ b/.ideai/tickets/174/carnet.md @@ -1,8 +1,8 @@ --- issueRef: "#174" -version: 4 -updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} -updatedAt: 1785321673382 +version: 5 +updatedBy: {"kind":"user"} +updatedAt: 1785419506129 --- ## #174 — Cadrage Main (2026-07-28) diff --git a/.ideai/tickets/174/issue.md b/.ideai/tickets/174/issue.md index be82037..464cb77 100644 --- a/.ideai/tickets/174/issue.md +++ b/.ideai/tickets/174/issue.md @@ -2,15 +2,16 @@ id: "f2db430b-48cf-4626-beae-611ffb352043" number: 174 title: "[Bug] La montre quitte l'application ou revient à l'accueil pendant une séance/au lancement d'un chrono" -status: "qa" +status: "closed" priority: "high" sprint: "abc4f969-b169-45f7-988c-daeeab762201" links: [{"target":"#127","kind":"relatesTo"},{"target":"#165","kind":"relatesTo"}] agentRefs: [] +attachments: [] createdBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} -updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} +updatedBy: {"kind":"user"} createdAt: 1785257860730 -updatedAt: 1785321673382 -version: 4 +updatedAt: 1785419506129 +version: 5 --- Corriger le cas où, pendant une séance, le lancement d'un chrono ou certains changements d'état renvoient la montre vers l'écran d'accueil système au lieu de rester sur l'application GameTime. Le comportement attendu est que la montre reste ancrée sur la séance active tant qu'une séance est en cours. diff --git a/.ideai/tickets/179/carnet.md b/.ideai/tickets/179/carnet.md index 7389269..9bb1537 100644 --- a/.ideai/tickets/179/carnet.md +++ b/.ideai/tickets/179/carnet.md @@ -1,8 +1,8 @@ --- issueRef: "#179" -version: 8 +version: 9 updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} -updatedAt: 1785412142246 +updatedAt: 1785416322799 --- ## Clarifications utilisateur — 30 juillet 2026 diff --git a/.ideai/tickets/179/issue.md b/.ideai/tickets/179/issue.md index d40702d..5278184 100644 --- a/.ideai/tickets/179/issue.md +++ b/.ideai/tickets/179/issue.md @@ -2,7 +2,7 @@ id: "9aa3e9b3-bf4c-480d-9003-82a02ce8f4a3" number: 179 title: "[UI] Statistique par etape, serie, exercice et seance sur le par temps" -status: "inProgress" +status: "qa" priority: "medium" sprint: "d5c18b44-0eec-46db-b8ab-506cfee0bfea" links: [] @@ -11,8 +11,8 @@ attachments: [] createdBy: {"kind":"user"} updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} createdAt: 1785404943786 -updatedAt: 1785412142246 -version: 8 +updatedAt: 1785416322799 +version: 9 --- J'aimerais qu'on améliore le detail des statistiques. J'aimerais qu'on les stock par etape, par série, par exercice et par seance ainsi que par temps. diff --git a/.ideai/tickets/180/carnet.md b/.ideai/tickets/180/carnet.md index b020792..1c32dac 100644 --- a/.ideai/tickets/180/carnet.md +++ b/.ideai/tickets/180/carnet.md @@ -1,6 +1,6 @@ --- issueRef: "#180" -version: 5 +version: 6 updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} -updatedAt: 1785412142229 +updatedAt: 1785416322915 --- diff --git a/.ideai/tickets/180/issue.md b/.ideai/tickets/180/issue.md index 8ed039a..837b556 100644 --- a/.ideai/tickets/180/issue.md +++ b/.ideai/tickets/180/issue.md @@ -2,7 +2,7 @@ id: "6510ed42-2913-4101-98ad-e76d72608081" number: 180 title: "Vibration montre pas assez forte" -status: "inProgress" +status: "qa" priority: "medium" sprint: "abc4f969-b169-45f7-988c-daeeab762201" links: [] @@ -11,7 +11,7 @@ attachments: [] createdBy: {"kind":"user"} updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} createdAt: 1785406934444 -updatedAt: 1785412142229 -version: 5 +updatedAt: 1785416322915 +version: 6 --- Les vibrations de la montre ne sont pas assez forte. Je veux que la derniere vibration d'un chrono soit plus longue et beaucoup plus puissante \ No newline at end of file diff --git a/.ideai/tickets/182/carnet.md b/.ideai/tickets/182/carnet.md index dccfba0..7001de8 100644 --- a/.ideai/tickets/182/carnet.md +++ b/.ideai/tickets/182/carnet.md @@ -1,8 +1,8 @@ --- issueRef: "#182" -version: 6 +version: 7 updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} -updatedAt: 1785412142025 +updatedAt: 1785416322932 --- ## Clarification transverse — 30 juillet 2026 diff --git a/.ideai/tickets/182/issue.md b/.ideai/tickets/182/issue.md index 2929f11..c6c46e2 100644 --- a/.ideai/tickets/182/issue.md +++ b/.ideai/tickets/182/issue.md @@ -2,7 +2,7 @@ id: "e0b9df16-2a9a-4be4-97f2-bedc59778bbd" number: 182 title: "[Bug] Erreur chargement de séquence" -status: "inProgress" +status: "qa" priority: "medium" sprint: "abc4f969-b169-45f7-988c-daeeab762201" links: [] @@ -11,7 +11,7 @@ attachments: [] createdBy: {"kind":"user"} updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} createdAt: 1785407246662 -updatedAt: 1785412142025 -version: 6 +updatedAt: 1785416322932 +version: 7 --- A la fin de certains repos, j'ai cette erreur qui apparait: Impossible de charger la séquence SqliteException (2067): while executing statement UN IQUE contraint failed: active_exercise_id, [...] constraint failed (code 2067) Causing statement INSERT INTO "active_exercice_step_progress_states" [...] \ No newline at end of file diff --git a/.ideai/tickets/183/carnet.md b/.ideai/tickets/183/carnet.md index 72b85b4..9c3bcac 100644 --- a/.ideai/tickets/183/carnet.md +++ b/.ideai/tickets/183/carnet.md @@ -1,10 +1,30 @@ --- issueRef: "#183" -version: 4 +version: 9 updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} -updatedAt: 1785412142205 +updatedAt: 1785421036326 --- ## Clarification transverse — 30 juillet 2026 - Cette évolution doit être pensée sur **toutes les couches de l'application**, **serveur inclus**, pour que la **sauvegarde** et la **synchronisation** fonctionnent correctement. -- Si un nouveau champ métier ou un nouveau mapping de type d'exercice est introduit, il ne devra pas rester cantonné au téléphone ou à la montre : il devra être propagé proprement dans les modèles, contrats et mécanismes de sync concernés. \ No newline at end of file +- Si un nouveau champ métier ou un nouveau mapping de type d'exercice est introduit, il ne devra pas rester cantonné au téléphone ou à la montre : il devra être propagé proprement dans les modèles, contrats et mécanismes de sync concernés. + +## Clarification produit — 30 juillet 2026 + +Intention produit confirmée : +- Quel que soit le type d'exercice métier choisi par l'utilisateur, la stratégie Health Services retenue doit toujours **préserver au minimum la remontée de `distance` et `calories`** quand ces métriques sont calculables/fournies par la montre. +- Le choix des types Health Services ne doit donc pas sacrifier inutilement ces métriques de base. +- En revanche, le mapping doit rester **cohérent avec la nature de l'exercice** : on ne choisit pas un type Health Services aberrant par rapport à l'intention métier juste pour forcer des métriques. + +Conséquence attendue : +- Chaque type d'exercice métier doit se résoudre vers une **stratégie ordonnée** de types Health Services compatibles. +- Cette stratégie doit chercher le **meilleur type cohérent** avec l'exercice, tout en garantissant qu'on retient de préférence une configuration capable de produire `distance` et `calories`. +- Exemple explicite : un type métier assimilable à de la `marche` ne doit pas être mappé vers `HIGH_INTENSITY_INTERVAL_TRAINING`. + +Règle de sélection attendue : +1. respecter d'abord la cohérence métier du type d'exercice ; +2. parmi les types Health Services cohérents, préférer ceux qui permettent `distance` et `calories` ; +3. éviter les types génériques ou incohérents tant qu'un type plus approprié existe ; +4. ne tomber sur un mode plus pauvre qu'en vrai dernier recours technique. + +Cette clarification remplace implicitement toute lecture trop simpliste du ticket qui consisterait à laisser les types métier purement décoratifs ou à accepter un fallback FC-only trop tôt. \ No newline at end of file diff --git a/.ideai/tickets/183/issue.md b/.ideai/tickets/183/issue.md index 0356b8d..cb99a38 100644 --- a/.ideai/tickets/183/issue.md +++ b/.ideai/tickets/183/issue.md @@ -2,7 +2,7 @@ id: "6bbb4a4d-7c42-4658-9212-e86f3ff65684" number: 183 title: "[Produit][UX] Permettre le choix de types d'exercice métier mappés vers les types Health Services" -status: "inProgress" +status: "qa" priority: "medium" sprint: "d5c18b44-0eec-46db-b8ab-506cfee0bfea" links: [{"target":"#179","kind":"relatesTo"}] @@ -11,8 +11,8 @@ attachments: [] createdBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} createdAt: 1785407800593 -updatedAt: 1785412142205 -version: 4 +updatedAt: 1785421036326 +version: 9 --- Contexte au 30 juillet 2026 : sur certaines montres Wear OS, les métriques `distance` et `calories` ne semblent pas remonter selon le type d'exercice Health Services utilisé. Aujourd'hui, GameTime choisit en interne parmi `RUNNING`, `WALKING`, `HIGH_INTENSITY_INTERVAL_TRAINING`, `WORKOUT` sans que ce choix soit exposé à l'utilisateur métier. Or ce choix influence les métriques réellement fournies par la montre. diff --git a/.ideai/tickets/184/carnet.md b/.ideai/tickets/184/carnet.md index 086f666..20570c4 100644 --- a/.ideai/tickets/184/carnet.md +++ b/.ideai/tickets/184/carnet.md @@ -1,6 +1,6 @@ --- issueRef: "#184" -version: 1 -updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} -updatedAt: 1785409810717 +version: 2 +updatedBy: {"kind":"user"} +updatedAt: 1785419624702 --- diff --git a/.ideai/tickets/184/issue.md b/.ideai/tickets/184/issue.md index 9875487..947ee57 100644 --- a/.ideai/tickets/184/issue.md +++ b/.ideai/tickets/184/issue.md @@ -2,17 +2,17 @@ id: "f3402801-7505-43d4-a011-30a8f9e9d6b2" number: 184 title: "[Pilotage] Build APK consolidé de fin de vague pour les tickets de sprint traités" -status: "open" +status: "closed" priority: "low" sprint: null links: [{"target":"#179","kind":"relatesTo"},{"target":"#180","kind":"relatesTo"},{"target":"#182","kind":"relatesTo"},{"target":"#183","kind":"relatesTo"}] agentRefs: [] attachments: [] createdBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} -updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} +updatedBy: {"kind":"user"} createdAt: 1785409810717 -updatedAt: 1785409810717 -version: 1 +updatedAt: 1785419624702 +version: 2 --- Règle de livraison ajoutée par l'utilisateur le 30 juillet 2026 : les APK buildés/livrés doivent **regrouper tous les tickets traités** dans la vague en cours, et pas produire un APK isolé par ticket. diff --git a/.ideai/tickets/index.json b/.ideai/tickets/index.json index f818c08..4e06421 100644 --- a/.ideai/tickets/index.json +++ b/.ideai/tickets/index.json @@ -2316,14 +2316,14 @@ "issueRef": "#164", "path": "164", "title": "[Bug] Plus de son en fin de chrono", - "status": "qa", + "status": "closed", "priority": "medium", "sprint": "abc4f969-b169-45f7-988c-daeeab762201", "assignedAgentIds": [], "createdBy": { "kind": "user" }, - "updatedAt": 1785321673362 + "updatedAt": 1785419501761 }, { "issueRef": "#165", @@ -2447,7 +2447,7 @@ "issueRef": "#174", "path": "174", "title": "[Bug] La montre quitte l'application ou revient à l'accueil pendant une séance/au lancement d'un chrono", - "status": "qa", + "status": "closed", "priority": "high", "sprint": "abc4f969-b169-45f7-988c-daeeab762201", "assignedAgentIds": [], @@ -2455,7 +2455,7 @@ "kind": "agent", "agent_id": "57695b92-24d0-4876-837c-76116e70a6ae" }, - "updatedAt": 1785321673382 + "updatedAt": 1785419506129 }, { "issueRef": "#175", @@ -2514,7 +2514,7 @@ "issueRef": "#179", "path": "179", "title": "[UI] Statistique par etape, serie, exercice et seance sur le par temps", - "status": "inProgress", + "status": "qa", "priority": "medium", "sprint": "d5c18b44-0eec-46db-b8ab-506cfee0bfea", "assignedAgentIds": [ @@ -2523,13 +2523,13 @@ "createdBy": { "kind": "user" }, - "updatedAt": 1785412142246 + "updatedAt": 1785416322799 }, { "issueRef": "#180", "path": "180", "title": "Vibration montre pas assez forte", - "status": "inProgress", + "status": "qa", "priority": "medium", "sprint": "abc4f969-b169-45f7-988c-daeeab762201", "assignedAgentIds": [ @@ -2538,13 +2538,13 @@ "createdBy": { "kind": "user" }, - "updatedAt": 1785412142229 + "updatedAt": 1785416322915 }, { "issueRef": "#182", "path": "182", "title": "[Bug] Erreur chargement de séquence", - "status": "inProgress", + "status": "qa", "priority": "medium", "sprint": "abc4f969-b169-45f7-988c-daeeab762201", "assignedAgentIds": [ @@ -2553,13 +2553,13 @@ "createdBy": { "kind": "user" }, - "updatedAt": 1785412142025 + "updatedAt": 1785416322932 }, { "issueRef": "#183", "path": "183", "title": "[Produit][UX] Permettre le choix de types d'exercice métier mappés vers les types Health Services", - "status": "inProgress", + "status": "qa", "priority": "medium", "sprint": "d5c18b44-0eec-46db-b8ab-506cfee0bfea", "assignedAgentIds": [], @@ -2567,13 +2567,13 @@ "kind": "agent", "agent_id": "57695b92-24d0-4876-837c-76116e70a6ae" }, - "updatedAt": 1785412142205 + "updatedAt": 1785421036326 }, { "issueRef": "#184", "path": "184", "title": "[Pilotage] Build APK consolidé de fin de vague pour les tickets de sprint traités", - "status": "open", + "status": "closed", "priority": "low", "sprint": null, "assignedAgentIds": [], @@ -2581,7 +2581,7 @@ "kind": "agent", "agent_id": "57695b92-24d0-4876-837c-76116e70a6ae" }, - "updatedAt": 1785409810717 + "updatedAt": 1785419624702 } ] } \ No newline at end of file