diff --git a/.ideai/agents.json b/.ideai/agents.json index 2d92140..295eabc 100644 --- a/.ideai/agents.json +++ b/.ideai/agents.json @@ -17,7 +17,7 @@ "profileId": "64be4281-545b-48d6-9b35-d8ae0fb3bb72", "templateId": "84716ac6-ee09-4d5e-8790-3194148bedea", "synchronized": true, - "syncedTemplateVersion": 2 + "syncedTemplateVersion": 3 }, { "agentId": "10ee045b-1c41-479e-ba03-dceed9edd495", @@ -59,7 +59,7 @@ "agentId": "7efa512f-3b3a-47b5-ade0-a2dd13073055", "name": "QA", "mdPath": "agents/qa.md", - "profileId": "64be4281-545b-48d6-9b35-d8ae0fb3bb72", + "profileId": "9dd61642-f10d-4fc2-a8f1-992d7e1c6940", "templateId": "2629157e-21c6-4c4c-93ef-10dde69480b0", "synchronized": true, "syncedTemplateVersion": 1 @@ -75,7 +75,7 @@ "agentId": "aa1ae4f2-c78e-4481-8f96-64f77391d09a", "name": "Coach", "mdPath": "agents/coach.md", - "profileId": "18173569-2d3b-4977-b800-b6219c479944", + "profileId": "64be4281-545b-48d6-9b35-d8ae0fb3bb72", "synchronized": false }, { @@ -86,6 +86,13 @@ "templateId": "9b854d15-de14-494f-a154-22ad06285d87", "synchronized": true, "syncedTemplateVersion": 1 + }, + { + "agentId": "f4dc4bde-c6a4-41b0-a1d2-a988d3c119a9", + "name": "DevOnline", + "mdPath": "agents/devonline.md", + "profileId": "d2603c4e-1ee5-51a3-8b61-99a9f03eec50", + "synchronized": false } ] } diff --git a/.ideai/agents/devonline.md b/.ideai/agents/devonline.md new file mode 100644 index 0000000..e69de29 diff --git a/.ideai/agents/main.md b/.ideai/agents/main.md index 11a3536..1920dd9 100644 --- a/.ideai/agents/main.md +++ b/.ideai/agents/main.md @@ -20,7 +20,6 @@ feature ou correction applicative, tu passes par les agents spécialisés : - **DevBackend** pour le code côté serveur/domaine/données. - **DevFrontend** pour le code d'interface. - **QA** pour écrire et exécuter les tests, et produire les rapports d'échec. -- **Context** pour les tâches mécaniques peu risquées et coûteuses en tokens : recherche de symboles, résumés de fichiers/logs/diffs, extraction d'échecs, repérage de fichiers candidats. Context n'arbitre rien et ne remplace jamais UX/Architect/Git/QA/dev. **Exception limitée** : tu peux modifier toi-même les fichiers de contexte, de mémoire, la documentation de pilotage et la configuration d'orchestration quand la demande porte @@ -65,10 +64,6 @@ tomber par défaut dans les mains d'un dev. UX passe **avant** Architect quand l conditionne les contrats, et **avec** lui quand une contrainte technique borne la conception. UX ne bloque pas les lots sans surface utilisateur. -**Quand solliciter Git — la règle.** Pour tout lot applicatif amené à modifier le code ou à relancer une feature existante, tu sollicites Git après UX/Architect et avant DevBackend/DevFrontend, même si le lot semble petit. Tu ne décides pas toi-même qu'un lot peut rester implicitement sur la branche courante. - -**Quand solliciter Context — la règle.** Avant d'absorber toi-même une recherche volumineuse, un tri de logs ou un résumé de diff/fichiers sans arbitrage, tu envisages d'abord Context. Tu gardes les décisions et la synthèse finale, Context ne sert qu'à compresser de l'information factuelle. - --- ## 4. Répartition des responsabilités @@ -87,8 +82,6 @@ spécialisé dans son domaine** : l'utilisateur s'il faut brancher, committer ou merger** : sollicite Git, qui tranche. Aucune action sortante (push, publication, PR distante) sans validation explicite de l'utilisateur. -- **Context** compresse l'information brute mais ne prend aucune décision produit, - architecture, UI, QA ou git. --- @@ -105,4 +98,6 @@ Si le contexte d'un agent manque une consigne qui relève de son rôle, **mets contexte** au lieu de gonfler le tien. Ton contexte reste celui du pilotage ; les détails d'architecture, de conception et de test appartiennent aux agents propriétaires. -Si une réflexion est récurrente et aboutit toujours à la même solution, créés en un skill réutilisable \ No newline at end of file +Si une réflexion est récurrente et aboutit toujours à la même solution, créés en un skill réutilisable + +Mets a jours le status des tickets que tu traites in progress, closed, QA \ No newline at end of file diff --git a/.ideai/mcp-tool-permissions.json b/.ideai/mcp-tool-permissions.json index 596ac2a..09da692 100644 --- a/.ideai/mcp-tool-permissions.json +++ b/.ideai/mcp-tool-permissions.json @@ -2,40 +2,6 @@ "version": 1, "projectDefault": null, "agents": [ - { - "agentId": "57695b92-24d0-4876-837c-76116e70a6ae", - "policy": { - "allowedTools": [ - "idea_list_agents", - "idea_context_read", - "idea_memory_read", - "idea_skill_read", - "idea_workstate_read", - "idea_ticket_read", - "idea_ticket_list", - "idea_ticket_read_carnet", - "idea_sprint_list", - "idea_template_list", - "idea_template_read", - "idea_ask_agent", - "idea_launch_agent", - "idea_stop_agent", - "idea_update_context", - "idea_context_propose", - "idea_memory_write", - "idea_ticket_create", - "idea_ticket_update", - "idea_ticket_update_status", - "idea_ticket_update_priority", - "idea_ticket_update_carnet", - "idea_ticket_link", - "idea_ticket_unlink", - "idea_run_in_background", - "idea_workstate_set", - "idea_create_skill" - ] - } - }, { "agentId": "a5da242f-e5f4-49b5-a29f-e0d4b7b49169", "policy": { @@ -192,6 +158,39 @@ "idea_workstate_set" ] } + }, + { + "agentId": "57695b92-24d0-4876-837c-76116e70a6ae", + "policy": { + "allowedTools": [ + "idea_list_agents", + "idea_context_read", + "idea_memory_read", + "idea_skill_read", + "idea_workstate_read", + "idea_ticket_read", + "idea_ticket_list", + "idea_ticket_read_carnet", + "idea_sprint_list", + "idea_template_list", + "idea_template_read", + "idea_ask_agent", + "idea_launch_agent", + "idea_stop_agent", + "idea_update_context", + "idea_context_propose", + "idea_memory_write", + "idea_ticket_create", + "idea_ticket_update", + "idea_ticket_update_status", + "idea_ticket_update_priority", + "idea_ticket_update_carnet", + "idea_ticket_link", + "idea_ticket_unlink", + "idea_workstate_set", + "idea_create_skill" + ] + } } ] } diff --git a/.ideai/tickets/183/carnet.md b/.ideai/tickets/183/carnet.md index a7ec151..a9a9b0a 100644 --- a/.ideai/tickets/183/carnet.md +++ b/.ideai/tickets/183/carnet.md @@ -1,8 +1,8 @@ --- issueRef: "#183" -version: 11 -updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} -updatedAt: 1785424283717 +version: 12 +updatedBy: {"kind":"user"} +updatedAt: 1785497678018 --- ## Clarification transverse — 30 juillet 2026 diff --git a/.ideai/tickets/183/issue.md b/.ideai/tickets/183/issue.md index f522f8e..e330d02 100644 --- a/.ideai/tickets/183/issue.md +++ b/.ideai/tickets/183/issue.md @@ -2,17 +2,17 @@ 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: "qa" +status: "closed" priority: "medium" sprint: "d5c18b44-0eec-46db-b8ab-506cfee0bfea" links: [{"target":"#179","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: 1785407800593 -updatedAt: 1785424283717 -version: 11 +updatedAt: 1785497678018 +version: 12 --- 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/186/carnet.md b/.ideai/tickets/186/carnet.md new file mode 100644 index 0000000..606fc02 --- /dev/null +++ b/.ideai/tickets/186/carnet.md @@ -0,0 +1,6 @@ +--- +issueRef: "#186" +version: 1 +updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} +updatedAt: 1785496152898 +--- diff --git a/.ideai/tickets/186/issue.md b/.ideai/tickets/186/issue.md new file mode 100644 index 0000000..0c41eae --- /dev/null +++ b/.ideai/tickets/186/issue.md @@ -0,0 +1,17 @@ +--- +id: "df84c786-06d2-419e-871e-8e9bb67dcbca" +number: 186 +title: "Correction URL de connexion serveur Android" +status: "open" +priority: "high" +sprint: null +links: [] +agentRefs: [] +attachments: [] +createdBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} +updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} +createdAt: 1785496152898 +updatedAt: 1785496152898 +version: 1 +--- +Le client Android utilise `http://10.0.2.2:8080` mais le serveur écoute sur `192.168.1.75:8090`. Corriger l'URL par défaut ou ajouter une configuration pour permettre de spécifier l'URL du serveur. \ No newline at end of file diff --git a/.ideai/tickets/187/carnet.md b/.ideai/tickets/187/carnet.md new file mode 100644 index 0000000..5e7b7ba --- /dev/null +++ b/.ideai/tickets/187/carnet.md @@ -0,0 +1,6 @@ +--- +issueRef: "#187" +version: 5 +updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} +updatedAt: 1785500801082 +--- diff --git a/.ideai/tickets/187/issue.md b/.ideai/tickets/187/issue.md new file mode 100644 index 0000000..9ab07ed --- /dev/null +++ b/.ideai/tickets/187/issue.md @@ -0,0 +1,17 @@ +--- +id: "37edea6f-a4d8-4aad-a290-182e9c453390" +number: 187 +title: "Renforcer la QA serveur avec tests fonctionnels de synchronisation et fixtures versionnées" +status: "qa" +priority: "high" +sprint: null +links: [] +agentRefs: [{"agentId":"10ee045b-1c41-479e-ba03-dceed9edd495","role":"assigned"},{"agentId":"7efa512f-3b3a-47b5-ade0-a2dd13073055","role":"assigned"}] +attachments: [] +createdBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} +updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} +createdAt: 1785499099153 +updatedAt: 1785500801082 +version: 5 +--- +Créer un maximum de tests fonctionnels côté serveur pour les synchronisations d'exercices, de programmes, de séances et d'historiques. Couvrir les cas nominal, erreurs, fallback et compatibilité ascendante/descendante avec anciennes formes de sauvegarde d'exercices. Mettre en place des batches/bashs de fixtures d'exercices versionnés couvrant un maximum de combinaisons (avec/sans étapes, score, timers, etc.) et conserver ces batches pour tester la conversion d'anciennes versions à chaque évolution du format. \ No newline at end of file diff --git a/.ideai/tickets/counter.json b/.ideai/tickets/counter.json index b780034..285e942 100644 --- a/.ideai/tickets/counter.json +++ b/.ideai/tickets/counter.json @@ -1,3 +1,3 @@ { - "nextNumber": 186 + "nextNumber": 188 } \ No newline at end of file diff --git a/.ideai/tickets/index.json b/.ideai/tickets/index.json index 8e3fb66..fc874cb 100644 --- a/.ideai/tickets/index.json +++ b/.ideai/tickets/index.json @@ -2559,7 +2559,7 @@ "issueRef": "#183", "path": "183", "title": "[Produit][UX] Permettre le choix de types d'exercice métier mappés vers les types Health Services", - "status": "qa", + "status": "closed", "priority": "medium", "sprint": "d5c18b44-0eec-46db-b8ab-506cfee0bfea", "assignedAgentIds": [], @@ -2567,7 +2567,7 @@ "kind": "agent", "agent_id": "57695b92-24d0-4876-837c-76116e70a6ae" }, - "updatedAt": 1785424283717 + "updatedAt": 1785497678018 }, { "issueRef": "#184", @@ -2596,6 +2596,37 @@ "agent_id": "57695b92-24d0-4876-837c-76116e70a6ae" }, "updatedAt": 1785427337929 + }, + { + "issueRef": "#186", + "path": "186", + "title": "Correction URL de connexion serveur Android", + "status": "open", + "priority": "high", + "sprint": null, + "assignedAgentIds": [], + "createdBy": { + "kind": "agent", + "agent_id": "57695b92-24d0-4876-837c-76116e70a6ae" + }, + "updatedAt": 1785496152898 + }, + { + "issueRef": "#187", + "path": "187", + "title": "Renforcer la QA serveur avec tests fonctionnels de synchronisation et fixtures versionnées", + "status": "qa", + "priority": "high", + "sprint": null, + "assignedAgentIds": [ + "10ee045b-1c41-479e-ba03-dceed9edd495", + "7efa512f-3b3a-47b5-ade0-a2dd13073055" + ], + "createdBy": { + "kind": "agent", + "agent_id": "57695b92-24d0-4876-837c-76116e70a6ae" + }, + "updatedAt": 1785500801082 } ] } \ No newline at end of file