chore(tickets): synchro du store local — ticket #245, carnet #241, index/counter/attachments

This commit is contained in:
2026-08-23 13:35:05 +02:00
parent 080c2100d0
commit 83b0b18453
8 changed files with 65 additions and 6 deletions

View File

@ -0,0 +1,13 @@
{
"id": "973df4c1-5389-4552-a9e3-0724beb9d68b",
"projectId": "97b49ac2-8376-4aa3-8ea9-bf3ac81d0023",
"agentId": "a6c6ea12-bfc6-4bdc-8031-324102dfa34d",
"sessionId": "5dfcdad7-71a3-48fe-b02b-baed06234a35",
"filename": "clipboard-image-1787483064671.png",
"mime": "image/png",
"sizeBytes": 194375,
"sourceKind": "clipboard",
"storagePath": "agent-chat/5dfcdad7-71a3-48fe-b02b-baed06234a35/973df4c1-5389-4552-a9e3-0724beb9d68b-clipboard-image-1787483064671.png",
"readablePath": "/home/anthony/Documents/Projects/IdeA/.ideai/attachments/agent-chat/5dfcdad7-71a3-48fe-b02b-baed06234a35/973df4c1-5389-4552-a9e3-0724beb9d68b-clipboard-image-1787483064671.png",
"createdAt": 1787483279889
}

View File

@ -1,8 +1,8 @@
---
issueRef: "#241"
version: 5
version: 7
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
updatedAt: 1787473510001
updatedAt: 1787483784669
---
2026-08-23
- Symptôme utilisateur: les progress de la custom CLI cessent d’apparaître après plusieurs demandes à Main, impression forte dès la 2e demande.

View File

@ -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: 1787472909626
updatedAt: 1787473510001
version: 5
updatedAt: 1787483784669
version: 7
---
Bug utilisateur observé le 23 août 2026. Symptôme: les progress de la custom CLI finissent par ne plus apparaître dans l’UI, avec l’impression que cela survient à partir de la deuxième demande envoyée à l’agent orchestrateur Main. La régression pourrait être liée aux modifications récentes autour de la version web, sans certitude. Capture fournie par l’utilisateur: panneau Main / onglet CLI custom avec logs toujours présents mais progression visible absente.

View File

@ -0,0 +1,15 @@
---
issueRef: "#245"
version: 7
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
updatedAt: 1787484765506
---
2026-08-23
- Signalement utilisateur avec capture: dans la conversation agent / CLI custom, après le premier appel à l’agent, les appels suivants n’affichent plus correctement progress ni usage des tools; la chatbox reste éditable; l’agent ciblé par l’utilisateur (ex Main) n’apparaît pas busy alors qu’un agent peut être actif dans Work state.
- Tickets antérieurs liés relus: #236 (collisions de clés progress/tools + store annonces borné par projectId), #238 (désalignement conversation vs activité réelle), #241 (reconnect web ne réattachait pas `chatSinks` après reconnexion).
- UX: la source visuelle de vérité du tour utilisateur reste l’agent ciblé (`Main`) jusqu’au terminal; chatbox disabled du submit au `final`/erreur/annulation/timeout terminal; si délégation, afficher sous-état `Main attend Architect`; l’absence de progress détaillé ne doit jamais réactiver l’input.
- Architect: suspicion principale sur un désalignement entre flux structuré de conversation (`ChatBridge`/`ReplyChunk`), état busy canonique du tour structuré/rendez-vous, et projection UI de cellule. Correctif minimal sûr proposé: verrouillage chatbox + badge busy pilotés par l’état busy canonique de l’agent, pas par la présence d’événements `progress/tools`; corriger ensuite le relay live des non-terminaux si nécessaire.
- Git: branche locale créée depuis `develop` = `fix/245-custom-cli-busy-progress-chatbox`.
- DevBackend: backend impliqué. Cause 1: `agent_send` (desktop) et `ws_send_chat` (web) appellent la session structurée directement (`send` / `send_with_tap`) sans passer par `InputMediator::enqueue_silent`; résultat: pas de `AgentBusyChanged`, `GetProjectWorkState` voit l’agent idle, et la cellule/chatbox ne peuvent pas s’aligner sur un busy canonique. Cause 2: côté web, `ws_send_chat` n’utilise pas `send_with_tap`, donc peut rater des progress/tools live non terminaux. Fix implémenté: ajout d’un `StructuredHumanTurnGuard` partagé sur le backend; `agent_send` et `ws_send_chat` démarrent désormais un tour humain médié, marquent alive sur activité, clearent idle sur terminal/erreur/drop, et le web passe aussi par `send_with_tap`. Tests backend/web ciblés ajoutés; commandes exécutées par DevBackend: `cargo fmt`, `cargo test -p web-server websocket_chat_send -- --nocapture`, `cargo check -p app-tauri --lib`.
- DevFrontend: source actuelle du verrouillage = `busy` local de `CustomAgentChatView`, remis à false seulement sur `final/error`; la cellule Layout lit déjà un busy canonique Work state mais ne le propage pas à la vue de chat. De plus, `progressIndex` vit à travers les tours et peut fusionner à tort des progress/tools legacy récurrents sur les tours suivants. Fix implémenté: `effectiveBusy = localBusy || canonicalBusy || requesterDelegation.active`; textarea/Joindre/Envoyer restent verrouillés tant que le tour canonique est ouvert; fallback de délégation `Main attend Architect`; `agentBusyChanged(false)` du même agent peut relâcher le busy local si le terminal stream n’est pas arrivé; namespace/index des progress legacy reset par tour via `progressScope`. Tests frontend ciblés ajoutés; commandes exécutées par DevFrontend: `npm run test -- src/features/agents/CustomAgentChatView.test.tsx`, `npm run typecheck`, `git diff --check`.
- Étape suivante: validation QA complète backend + frontend sur le scénario multi-demandes/busy/délégation.

View File

@ -0,0 +1,17 @@
---
id: "72acf1c8-d786-45ae-ba98-86fd7f106d80"
number: 245
title: "Corriger l’état busy/progress/tools/chatbox de la custom CLI après le premier appel"
status: "inProgress"
priority: "critical"
sprint: null
links: [{"target":"#241","kind":"relatesTo"},{"target":"#238","kind":"relatesTo"},{"target":"#236","kind":"relatesTo"}]
agentRefs: []
attachments: []
createdBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
createdAt: 1787483461710
updatedAt: 1787484765506
version: 7
---
Régression observée le 23 août 2026 dans la vue de conversation agent / CLI custom. Après le premier appel à l’agent, les appels suivants peuvent ne plus afficher correctement les progress ni l’utilisation des tools. La chatbox reste éditable alors qu’un tour agent est déjà en cours. L’agent sollicité par l’utilisateur (ex: Main) n’apparaît pas busy alors qu’un agent délégué ou un état de travail actif peut être visible dans Work state. La conversation doit rester pilotée par le tour ouvert de l’agent cible, avec chatbox disabled jusqu’au terminal, progress/tools réinitialisés par tour, et sous-état explicite lors des délégations.

View File

@ -1,3 +1,3 @@
{
"nextNumber": 244
"nextNumber": 246
}

View File

@ -3251,7 +3251,7 @@
"kind": "agent",
"agent_id": "a6c6ea12-bfc6-4bdc-8031-324102dfa34d"
},
"updatedAt": 1787473510001
"updatedAt": 1787483784669
},
{
"issueRef": "#242",
@ -3294,6 +3294,20 @@
"agent_id": "a6c6ea12-bfc6-4bdc-8031-324102dfa34d"
},
"updatedAt": 1787481685136
},
{
"issueRef": "#245",
"path": "245",
"title": "Corriger l’état busy/progress/tools/chatbox de la custom CLI après le premier appel",
"status": "inProgress",
"priority": "critical",
"sprint": null,
"assignedAgentIds": [],
"createdBy": {
"kind": "agent",
"agent_id": "a6c6ea12-bfc6-4bdc-8031-324102dfa34d"
},
"updatedAt": 1787484765506
}
]
}