Files
IdeA/.ideai/tickets/236/carnet.md

3.1 KiB

issueRef, version, updatedBy, updatedAt
issueRef version updatedBy updatedAt
#236 12
kind agent_id
agent a6c6ea12-bfc6-4bdc-8031-324102dfa34d
1787385711767

2026-08-21 Main

  • Bug signalé: dans la custom CLI, la conversation s'affiche bien au début puis les progress, messages MCP et assimilés cessent de s'afficher au bout d'un moment.
  • Architect: suspect prioritaire frontend, dans frontend/src/features/agents/CustomAgentChatView.tsx, autour de receive, foldChunk, appendProgress, progressUpsertKey, progressEntityKey.
  • Hypothèse principale confirmée par DevFrontend: collisions de clé / upsert trop agressif sur progress tool/mcp sans progressId, causant des remplacements au lieu d'un enrichissement correct de l'historique visible.
  • DevFrontend a corrigé la logique legacy: cycles successifs sans progressId restent visibles; completed finalise puis libère la clé active; doublons provider/IdeA d'une même complétion restent dédupliqués.
  • Fichiers modifiés: frontend/src/features/agents/CustomAgentChatView.tsx, frontend/src/features/agents/CustomAgentChatView.test.tsx.
  • QA: VERT. Commandes exécutées: npm test -- src/features/agents/CustomAgentChatView.test.tsx => 55/55 verts; npm test -- src/features/agents => 151/151 verts; npm run typecheck => OK.
  • Git a commité le correctif: aaf628f fix(cli): préserve l'affichage des progress legacy sans progressId via clés d'occurrence dédiées — #236.
  • Git a mergé localement le fix dans develop via --no-ff: 2c8c71c merge(cli): les messages progress/MCP ne disparaissent plus après un certain temps — #236 (QA verte).
  • Aucun push effectué. Ticket clôturé.

2026-08-22 Main

  • Réouverture du ticket pour un cas résiduel distinct observé utilisateur: un agent est en cours de travail mais le message MCP / l'annonce inter-agent attendu n'apparaît pas sur la surface des messages.
  • UX: comportement attendu = preview côté demandeur + overlay côté cible visibles pendant le travail, puis purge à idle; après changement de projet, aucune fuite visuelle inter-projet, et réhydratation correcte dans le projet courant.
  • Architect: diagnostic le plus probable = store/provider d'annonces non scopé par projectId; l'état app-global survit au switch, seedBusy n'hydrate que si absent, et un tour déjà en cours peut donc ne jamais remonter visuellement dans le nouveau projet.
  • Correctif minimal demandé au frontend: reset + filter + rehydrate à chaque changement de projectId, idéalement avec un store project-scoped.
  • Git: branche locale retenue fix/236-annonces-store-par-projectid depuis develop @ 85f659c.
  • DevFrontend: diagnostic confirmé = provider app-global non borné par projet; correctif implémenté = provider explicitement borné par projectId, reset de index + busy au changement de projet, filtrage des agentAnnouncement par event.projectId, tests ciblés verts et npm run typecheck vert.
  • Risque résiduel signalé par DevFrontend: agentBusyChanged ne porte pas encore projectId, donc le lifecycle live busy ne peut pas être filtré aussi strictement que les annonces; le bug visé est néanmoins corrigé par reset + réhydratation au switch.