From c50b6c53880c642666a1e49fca8b37269cb149a5 Mon Sep 17 00:00:00 2001 From: Blomios Date: Thu, 6 Aug 2026 19:40:34 +0200 Subject: [PATCH] =?UTF-8?q?chore(tickets):=20sync=20miroir=20=E2=80=94=20l?= =?UTF-8?q?ot=20CLI/TUI=20#155/#168/#169/#170=20(+=20cl=C3=B4ture=20#151/#?= =?UTF-8?q?167)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit (cherry picked from commit d7c4505bacdb9bc03145f12267ae281ad6a35739) --- .ideai/tickets/151/carnet.md | 6 ++-- .ideai/tickets/151/issue.md | 6 ++-- .ideai/tickets/155/carnet.md | 4 +-- .ideai/tickets/155/issue.md | 10 +++--- .ideai/tickets/167/carnet.md | 6 ++-- .ideai/tickets/167/issue.md | 6 ++-- .ideai/tickets/168/carnet.md | 11 +++++++ .ideai/tickets/168/issue.md | 17 ++++++++++ .ideai/tickets/169/carnet.md | 11 +++++++ .ideai/tickets/169/issue.md | 17 ++++++++++ .ideai/tickets/170/carnet.md | 11 +++++++ .ideai/tickets/170/issue.md | 17 ++++++++++ .ideai/tickets/counter.json | 2 +- .ideai/tickets/index.json | 62 +++++++++++++++++++++++++++++++++--- 14 files changed, 161 insertions(+), 25 deletions(-) create mode 100644 .ideai/tickets/168/carnet.md create mode 100644 .ideai/tickets/168/issue.md create mode 100644 .ideai/tickets/169/carnet.md create mode 100644 .ideai/tickets/169/issue.md create mode 100644 .ideai/tickets/170/carnet.md create mode 100644 .ideai/tickets/170/issue.md diff --git a/.ideai/tickets/151/carnet.md b/.ideai/tickets/151/carnet.md index 8da17d5..03c75b5 100644 --- a/.ideai/tickets/151/carnet.md +++ b/.ideai/tickets/151/carnet.md @@ -1,8 +1,8 @@ --- issueRef: "#151" -version: 11 -updatedBy: {"kind":"agent","agent_id":"1ff94b51-3e17-4a39-8543-7715d1ff0f80"} -updatedAt: 1786036332616 +version: 12 +updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"} +updatedAt: 1786036825333 --- ## 2026-08-06 — Reopened from user validation on AppImage - User retested the custom CLI on the current AppImage build. diff --git a/.ideai/tickets/151/issue.md b/.ideai/tickets/151/issue.md index 617cfbb..b997b7f 100644 --- a/.ideai/tickets/151/issue.md +++ b/.ideai/tickets/151/issue.md @@ -9,9 +9,9 @@ links: [] agentRefs: [{"agentId":"8f7da528-58df-4315-97e9-0562230ecc19","role":"assigned"}] attachments: [] createdBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"} -updatedBy: {"kind":"agent","agent_id":"1ff94b51-3e17-4a39-8543-7715d1ff0f80"} +updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"} createdAt: 1785945386695 -updatedAt: 1786036332616 -version: 11 +updatedAt: 1786036825333 +version: 12 --- Régression toujours présente sur la custom CLI: pendant une conversation agent active, le bouton rouge Cancel en haut à droite de la cellule reste sous/derrière les autres contrôles de la toolbar au lieu de passer au premier plan et de rester cliquable. Attendu: hiérarchie visuelle stable et z-order correct en état busy, sans recouvrement du bouton Cancel. \ No newline at end of file diff --git a/.ideai/tickets/155/carnet.md b/.ideai/tickets/155/carnet.md index a096ea7..0f5f09a 100644 --- a/.ideai/tickets/155/carnet.md +++ b/.ideai/tickets/155/carnet.md @@ -1,8 +1,8 @@ --- issueRef: "#155" -version: 7 +version: 9 updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"} -updatedAt: 1786035611373 +updatedAt: 1786037927509 --- ## 2026-08-06 — Reopened from user validation on AppImage - User reports that clipboard paste in the custom CLI chat still does not work in practice. diff --git a/.ideai/tickets/155/issue.md b/.ideai/tickets/155/issue.md index cde0154..12db637 100644 --- a/.ideai/tickets/155/issue.md +++ b/.ideai/tickets/155/issue.md @@ -1,8 +1,8 @@ --- id: "620bc08f-835c-483c-a9f1-59690ebf8ab5" number: 155 -title: "Custom chat: paste image from clipboard into composer" -status: "open" +title: "Custom chat: paste image/fichier depuis le clipboard dans le composer" +status: "inProgress" priority: "medium" sprint: null links: [{"target":"#154","kind":"dependsOn"}] @@ -11,7 +11,7 @@ attachments: [] createdBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"} updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"} createdAt: 1785964740363 -updatedAt: 1786035611373 -version: 7 +updatedAt: 1786037927509 +version: 9 --- -La custom CLI ne permet toujours pas de coller une image/fichier depuis le presse-papiers dans le chat. Après un test utilisateur du 2026-08-06, le collage attendu ne crée aucun attachment utilisable dans le composer. Il faut rétablir le support de collage clipboard dans le chat custom, sur la base du pipeline d'attachments, puis valider end-to-end sur l'AppImage réelle. \ No newline at end of file +Demande utilisateur requalifiée le 2026-08-06: la custom CLI ne permet toujours pas de coller un fichier dans la barre de chat, comme dans une TUI native Claude Code ou Codex. Le scope ne doit pas rester limité au seul collage d'image: il faut couvrir au minimum les fichiers/images exposés par le clipboard et les convertir en attachments utilisables dans le composer custom, via le pipeline d'attachments existant. \ No newline at end of file diff --git a/.ideai/tickets/167/carnet.md b/.ideai/tickets/167/carnet.md index 039aec8..668d120 100644 --- a/.ideai/tickets/167/carnet.md +++ b/.ideai/tickets/167/carnet.md @@ -1,8 +1,8 @@ --- issueRef: "#167" -version: 3 -updatedBy: {"kind":"agent","agent_id":"1ff94b51-3e17-4a39-8543-7715d1ff0f80"} -updatedAt: 1786036332616 +version: 4 +updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"} +updatedAt: 1786036825352 --- ## 2026-08-06 — New regression ticket from user test - User validated that classic progress messages stream correctly in the custom CLI. diff --git a/.ideai/tickets/167/issue.md b/.ideai/tickets/167/issue.md index 18b0e4c..4633f35 100644 --- a/.ideai/tickets/167/issue.md +++ b/.ideai/tickets/167/issue.md @@ -9,9 +9,9 @@ links: [] agentRefs: [{"agentId":"fe887179-933f-47d4-960f-c3b06827f86c","role":"assigned"},{"agentId":"8f7da528-58df-4315-97e9-0562230ecc19","role":"assigned"}] attachments: [] createdBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"} -updatedBy: {"kind":"agent","agent_id":"1ff94b51-3e17-4a39-8543-7715d1ff0f80"} +updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"} createdAt: 1786034864702 -updatedAt: 1786036332616 -version: 3 +updatedAt: 1786036825352 +version: 4 --- Régression observée sur la custom CLI (test utilisateur du 2026-08-06): les messages de progress classiques apparaissent bien pendant le tour, mais les événements de fin de tour (`turn.started`/`turn.completed` côté provider) et les appels MCP/outils n'apparaissent qu'après le rendu du Final. Attendu: tout événement IdeA observable localement avant Final doit être projeté au fil de l'eau dans le bon ordre temporel, sans post-affichage trompeur après la réponse finale. \ No newline at end of file diff --git a/.ideai/tickets/168/carnet.md b/.ideai/tickets/168/carnet.md new file mode 100644 index 0000000..45ad323 --- /dev/null +++ b/.ideai/tickets/168/carnet.md @@ -0,0 +1,11 @@ +--- +issueRef: "#168" +version: 2 +updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"} +updatedAt: 1786037927527 +--- +## 2026-08-06 — Ouverture depuis retour utilisateur +- Le ticket #151 a été requalifié comme hors-sujet pour ce besoin précis: l'utilisateur ne demande pas un fix de z-index ou de profondeur du bouton Cancel. +- Besoin exact: dans la custom CLI, il ne doit pas y avoir de bouton `Cancel` séparé pour interrompre une question en cours. +- Attendu UX: le bouton `Send` devient `Stop` pendant le tour en cours, puis redevient `Send` après fin/annulation. +- Périmètre pressenti: frontend pur (composer / barre d'action custom CLI), sans nouveau contrat backend si l'action stop existe déjà. \ No newline at end of file diff --git a/.ideai/tickets/168/issue.md b/.ideai/tickets/168/issue.md new file mode 100644 index 0000000..530b449 --- /dev/null +++ b/.ideai/tickets/168/issue.md @@ -0,0 +1,17 @@ +--- +id: "b79839df-769c-4a2e-a4af-22a10cb6ce28" +number: 168 +title: "Custom CLI: transformer le bouton Send en Stop pendant une question agent" +status: "open" +priority: "medium" +sprint: null +links: [{"target":"#151","kind":"relatesTo"},{"target":"#147","kind":"relatesTo"}] +agentRefs: [{"agentId":"8f7da528-58df-4315-97e9-0562230ecc19","role":"assigned"}] +attachments: [] +createdBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"} +updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"} +createdAt: 1786037910947 +updatedAt: 1786037927527 +version: 2 +--- +Demande utilisateur du 2026-08-06: dans la custom CLI, il ne faut pas de bouton Cancel séparé dans la toolbar pendant une conversation. Le comportement attendu est qu'au moment où l'utilisateur envoie une question à un agent, le bouton d'envoi se transforme en bouton Stop, puis revienne en bouton Send quand le tour est terminé ou arrêté. Ce n'est pas un bug de profondeur/z-index du bouton Cancel historique (#151), mais un changement UX/comportemental du composer custom. \ No newline at end of file diff --git a/.ideai/tickets/169/carnet.md b/.ideai/tickets/169/carnet.md new file mode 100644 index 0000000..ab896b2 --- /dev/null +++ b/.ideai/tickets/169/carnet.md @@ -0,0 +1,11 @@ +--- +issueRef: "#169" +version: 2 +updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"} +updatedAt: 1786037927546 +--- +## 2026-08-06 — Ouverture depuis retour utilisateur +- Repro utilisateur: si un agent est déjà occupé par une conversation inter-agent (ex: Main -> Architect), l'ouverture de la custom CLI sur cet agent échoue avec une variante de `already open elsewhere`. +- Attendu produit: comme pour la TUI native, l'utilisateur doit disposer d'une session dédiée côté humain, distincte des sessions inter-agent/headless en cours. +- Hypothèse de cadrage: le verrou d'occupation/surface mélange actuellement visibilité/surface et exclusivité de session, ou ne distingue pas assez la session user des autres sessions. +- Périmètre pressenti: architecture + backend + frontend. \ No newline at end of file diff --git a/.ideai/tickets/169/issue.md b/.ideai/tickets/169/issue.md new file mode 100644 index 0000000..4cdc51b --- /dev/null +++ b/.ideai/tickets/169/issue.md @@ -0,0 +1,17 @@ +--- +id: "2fed8980-10b8-411a-a93e-a3d2a06c4798" +number: 169 +title: "Custom CLI: session user dédiée même si l'agent est déjà en conversation inter-agent" +status: "open" +priority: "high" +sprint: null +links: [{"target":"#149","kind":"relatesTo"},{"target":"#147","kind":"relatesTo"}] +agentRefs: [{"agentId":"b4730d7f-c54d-4736-8a04-c6203aa2fd49","role":"assigned"},{"agentId":"fe887179-933f-47d4-960f-c3b06827f86c","role":"assigned"},{"agentId":"8f7da528-58df-4315-97e9-0562230ecc19","role":"assigned"}] +attachments: [] +createdBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"} +updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"} +createdAt: 1786037910965 +updatedAt: 1786037927546 +version: 2 +--- +Demande utilisateur du 2026-08-06: si Main parle à Architect, l'utilisateur ne peut pas lancer la custom CLI d'Architect car IdeA dit qu'elle est déjà ouverte ailleurs. Attendu: comme pour la TUI native, la surface custom CLI doit pouvoir ouvrir une session spéciale côté user, distincte des conversations inter-agent/headless en cours, sans collision de disponibilité 'already open elsewhere'. \ No newline at end of file diff --git a/.ideai/tickets/170/carnet.md b/.ideai/tickets/170/carnet.md new file mode 100644 index 0000000..06bd9ba --- /dev/null +++ b/.ideai/tickets/170/carnet.md @@ -0,0 +1,11 @@ +--- +issueRef: "#170" +version: 2 +updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"} +updatedAt: 1786037927613 +--- +## 2026-08-06 — Ouverture depuis retour utilisateur +- Repro utilisateur: le basculement de la custom CLI vers la TUI native ne se fait pas proprement; l'app dit parfois que la TUI est déjà active ailleurs. +- Attendu produit: aucun faux positif de disponibilité lors du hand-off entre surface custom CLI et TUI native; une seule surface humaine active à la fois si c'est la règle, mais avec cleanup/transition correcte. +- Hypothèse de cadrage: hand-off incomplet ou registry de session/surface qui conserve un état occupé après le switch. +- Périmètre pressenti: architecture + backend + frontend. \ No newline at end of file diff --git a/.ideai/tickets/170/issue.md b/.ideai/tickets/170/issue.md new file mode 100644 index 0000000..af0f308 --- /dev/null +++ b/.ideai/tickets/170/issue.md @@ -0,0 +1,17 @@ +--- +id: "ae7f4faf-ed44-4117-84fe-4c5250060397" +number: 170 +title: "Custom CLI <-> TUI native: éviter les faux 'TUI déjà active ailleurs' lors du basculement" +status: "open" +priority: "high" +sprint: null +links: [{"target":"#149","kind":"relatesTo"},{"target":"#147","kind":"relatesTo"}] +agentRefs: [{"agentId":"b4730d7f-c54d-4736-8a04-c6203aa2fd49","role":"assigned"},{"agentId":"fe887179-933f-47d4-960f-c3b06827f86c","role":"assigned"},{"agentId":"8f7da528-58df-4315-97e9-0562230ecc19","role":"assigned"}] +attachments: [] +createdBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"} +updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"} +createdAt: 1786037910985 +updatedAt: 1786037927613 +version: 2 +--- +Demande utilisateur du 2026-08-06: le passage de la custom CLI à la TUI native ne se fait pas proprement; IdeA affiche parfois que la TUI est déjà active ailleurs. Attendu: un basculement cohérent entre surface custom CLI et TUI native, avec nettoyage/hand-off de session suffisant pour qu'aucune des deux surfaces ne bloque l'autre à tort. \ No newline at end of file diff --git a/.ideai/tickets/counter.json b/.ideai/tickets/counter.json index a63a3d7..b576ecb 100644 --- a/.ideai/tickets/counter.json +++ b/.ideai/tickets/counter.json @@ -1,3 +1,3 @@ { - "nextNumber": 168 + "nextNumber": 171 } \ No newline at end of file diff --git a/.ideai/tickets/index.json b/.ideai/tickets/index.json index a36faff..41eaeba 100644 --- a/.ideai/tickets/index.json +++ b/.ideai/tickets/index.json @@ -1991,7 +1991,7 @@ "kind": "agent", "agent_id": "a6c6ea12-bfc6-4bdc-8031-324102dfa34d" }, - "updatedAt": 1786036332616 + "updatedAt": 1786036825333 }, { "issueRef": "#152", @@ -2024,8 +2024,8 @@ { "issueRef": "#155", "path": "155", - "title": "Custom chat: paste image from clipboard into composer", - "status": "open", + "title": "Custom chat: paste image/fichier depuis le clipboard dans le composer", + "status": "inProgress", "priority": "medium", "sprint": null, "assignedAgentIds": [ @@ -2036,7 +2036,7 @@ "kind": "agent", "agent_id": "a6c6ea12-bfc6-4bdc-8031-324102dfa34d" }, - "updatedAt": 1786034876664 + "updatedAt": 1786037927509 }, { "issueRef": "#156", @@ -2224,7 +2224,59 @@ "kind": "agent", "agent_id": "a6c6ea12-bfc6-4bdc-8031-324102dfa34d" }, - "updatedAt": 1786036332616 + "updatedAt": 1786036825352 + }, + { + "issueRef": "#168", + "path": "168", + "title": "Custom CLI: transformer le bouton Send en Stop pendant une question agent", + "status": "open", + "priority": "medium", + "sprint": null, + "assignedAgentIds": [ + "8f7da528-58df-4315-97e9-0562230ecc19" + ], + "createdBy": { + "kind": "agent", + "agent_id": "a6c6ea12-bfc6-4bdc-8031-324102dfa34d" + }, + "updatedAt": 1786037927527 + }, + { + "issueRef": "#169", + "path": "169", + "title": "Custom CLI: session user dédiée même si l'agent est déjà en conversation inter-agent", + "status": "open", + "priority": "high", + "sprint": null, + "assignedAgentIds": [ + "b4730d7f-c54d-4736-8a04-c6203aa2fd49", + "fe887179-933f-47d4-960f-c3b06827f86c", + "8f7da528-58df-4315-97e9-0562230ecc19" + ], + "createdBy": { + "kind": "agent", + "agent_id": "a6c6ea12-bfc6-4bdc-8031-324102dfa34d" + }, + "updatedAt": 1786037927546 + }, + { + "issueRef": "#170", + "path": "170", + "title": "Custom CLI <-> TUI native: éviter les faux 'TUI déjà active ailleurs' lors du basculement", + "status": "open", + "priority": "high", + "sprint": null, + "assignedAgentIds": [ + "b4730d7f-c54d-4736-8a04-c6203aa2fd49", + "fe887179-933f-47d4-960f-c3b06827f86c", + "8f7da528-58df-4315-97e9-0562230ecc19" + ], + "createdBy": { + "kind": "agent", + "agent_id": "a6c6ea12-bfc6-4bdc-8031-324102dfa34d" + }, + "updatedAt": 1786037927613 } ] } \ No newline at end of file