This commit is contained in:
@ -1,11 +1,44 @@
|
||||
---
|
||||
issueRef: "#157"
|
||||
version: 16
|
||||
version: 17
|
||||
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
||||
updatedAt: 1786346556578
|
||||
updatedAt: 1786378849914
|
||||
---
|
||||
# Journal d'itération (le plus récent en haut)
|
||||
|
||||
## Itération 3 — 2026-08-10 — Régression CLI custom: doublons tool/MCP + progress potentiellement manquants avant le premier MCP
|
||||
|
||||
**Remontée user (capture live AppImage, 2026-08-10)** : sur la CLI custom, l'usage de `idea_ask_agent` affiche les événements tool/MCP en double (deux cartes `Delegation idea_ask_agent` et deux cartes `Provider tool: idea_ask_agent`) alors que l'attendu produit est de ne conserver qu'une première carte `start` et une première carte `done`. En parallèle, l'utilisateur suspecte que tous les messages de progression/intention ne sont pas surfacés, notamment possiblement avant le premier appel MCP (ex. "Je vais d'abord regarder la liste de tools MCP...").
|
||||
|
||||
### Arbitrage Main + Architect
|
||||
|
||||
- **#157 reste le ticket principal du rendu CLI custom** pour la hiérarchie visuelle et le dédoublonnage des cartes tool/MCP/delegation.
|
||||
- **#171 porte la pipeline d'observabilité live** (`ReplyEvent::Progress -> UI`) pour les progress/messages d'intention qui ne doivent pas dépendre du `Final`.
|
||||
- **#167 reste fermé** : le bug historique traité sur l'ordre `events after Final` n'est pas rouvert à ce stade ; si DevBackend démontre un nouveau défaut d'émission/ordering backend, il faudra alors créer un delta dédié ou rouvrir en second temps.
|
||||
|
||||
### Hypothèse de travail pour ce cycle
|
||||
|
||||
- Le backend expose déjà une part significative des progress live via la fondation #156 et le correctif OpenCode de l'itération 2.
|
||||
- Le symptôme utilisateur courant est **probablement** un split :
|
||||
1. problème frontend de réconciliation/rendu (dédoublonnage des cartes `start/done`), et/ou
|
||||
2. défaut de projection live UI de certains `ReplyChunk::Progress` en amont du premier appel MCP.
|
||||
|
||||
### Cycle relancé
|
||||
|
||||
- Architect consulté pour arbitrage ports/contrats/tickets.
|
||||
- Décision Git préparatoire récupérée : branche de cycle existante `fix/171-conversation-observability-pipeline` à privilégier, sauf preuve backend contraire.
|
||||
- DevBackend mandaté pour vérifier si les progress pré-MCP existent bien dans le flux backend actuel et si les doublons tool/MCP naissent avant ou après transport UI.
|
||||
- DevFrontend mandaté pour inspecter la logique de rendu/réconciliation des cartes progress/tool/MCP/delegation dans la custom CLI, corriger si nécessaire et préparer les tests.
|
||||
- QA passera après implémentation réelle avec preuve de commandes/tests.
|
||||
|
||||
### Attendus de validation pour clôture
|
||||
|
||||
- Pour un appel `idea_ask_agent`, la CLI custom n'affiche qu'une carte `start` et une carte `done` pertinentes, sans doublons parasites.
|
||||
- Les messages de progression/intention disponibles dans le flux sont visibles **avant** le premier MCP quand ils existent réellement côté provider/IdeA.
|
||||
- Aucun faux streaming n'est simulé pour les profils qui n'exposent pas ce niveau de granularité.
|
||||
|
||||
---
|
||||
|
||||
## Itération 2 — 2026-08-09 — Régression profil OpenCode/GLM (pas de progress, pas de bulle MCP)
|
||||
|
||||
**Remontée user** : sur la CLI custom avec un profil OpenCode/GLM, aucun message de progress pendant le traitement de l'agent, et aucune bulle d'appel de tool MCP quand l'agent invoque un outil.
|
||||
@ -23,7 +56,7 @@ Les deux vraies causes :
|
||||
Branche `fix/ticket157-opencode-progress-mcp-surfacing`, commit `836137a3` (base `develop` `a3d94d4d`). Fichier unique : `crates/infrastructure/src/session/opencode.rs` (+408/−69).
|
||||
|
||||
- **`send_with_tap` override** (pattern codex.rs/claude.rs) : lecture stdout ligne par ligne, projection live au tap des events non-terminaux (Progress/TextDelta/ToolActivity/Heartbeat), Final assemblé à la fin (jamais envoyé au tap). `send()` sans tap reste batch (inchangé).
|
||||
- **Tagging MCP** : `tool_use` préfixé `idea_` → `ReplyProgress{source:IdeaLocal, kind:Mcp, stage:Completed, tool_name}` (remplace la Progress Tool provider-native, pas de double card). Les autres outils restent `ProviderNative/Tool`.
|
||||
- **Tagging MCP** : `tool_use` préfixé `idea_` → `ReplyProgress{source:IdeaLocal, kind:Mcp, stage:Completed, tool_name}` (remplace la Progress Tool provider-native, pas de double card).
|
||||
- **Protection replay** : sur session continuée (`--session`), le premier messageID est tamponné puis supprimé si un nouveau messageID arrive (évite de projeter l'historique rejoué).
|
||||
|
||||
### Tests & QA
|
||||
|
||||
@ -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: 1785965383914
|
||||
updatedAt: 1786346556578
|
||||
version: 16
|
||||
updatedAt: 1786378849914
|
||||
version: 17
|
||||
---
|
||||
Régression/remontée utilisateur (profil OpenCode/GLM) sur la CLI custom : aucun message de progress ne s'affiche pendant le traitement de l'agent, et aucune bulle/carte d'appel de tool MCP n'apparaît quand l'agent invoque un outil MCP. Périmètre initial (surfacer progress + activité MCP + délégations inter-agent) à valider à nouveau sur le profil OpenCode.
|
||||
@ -1,6 +1,34 @@
|
||||
---
|
||||
issueRef: "#171"
|
||||
version: 1
|
||||
version: 3
|
||||
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
||||
updatedAt: 1786371966186
|
||||
updatedAt: 1786378881038
|
||||
---
|
||||
# Journal d'itération (le plus récent en haut)
|
||||
|
||||
## Itération 1 — 2026-08-10 — Ouverture du cycle live progress depuis régression AppImage CLI custom
|
||||
|
||||
**Signal utilisateur (capture live du 2026-08-10)** : sur la custom CLI, tous les messages d'intention/progression de l'agent ne semblent pas remonter pendant le tour. Suspicion forte d'un trou avant le premier appel MCP (`idea_ask_agent`), alors que l'agent a vraisemblablement déjà émis des progress du type "Je vais d'abord regarder la liste de tools MCP...". En parallèle, des cartes tool/MCP apparaissent en double ; ce point de rendu est traité en articulation avec #157.
|
||||
|
||||
### Rôle de #171 dans le cycle
|
||||
|
||||
Ce ticket porte **la pipeline d'observabilité conversationnelle live** entre le backend (`ReplyEvent::Progress`, `ReplyChunk::Progress`, événements de tool/delegation observables localement) et la surface UI/CLI. Il ne porte pas la cosmétique visuelle elle-même, mais la garantie que l'UI reçoive effectivement les événements non terminaux en temps réel, sans attendre `Final`.
|
||||
|
||||
### Arbitrage de cycle
|
||||
|
||||
- **#157** : rendu/dédoublonnage/hierarchie visuelle de la custom CLI pour les cartes tool/MCP/delegation.
|
||||
- **#171** : vérifier et, si nécessaire, corriger la chaîne backend -> transport -> store UI pour les progress/messages d'intention qui devraient apparaître avant le premier appel MCP.
|
||||
- **#167** : reste fermé tant qu'aucune preuve ne montre un nouveau défaut backend d'ordering/post-Final distinct du bug déjà corrigé.
|
||||
|
||||
### Mandats actifs
|
||||
|
||||
- **DevBackend** : vérifier si les progress pré-MCP existent déjà dans le flux backend live pour le profil et la surface testés, et identifier tout buffer/relais/filtrage qui empêcherait leur projection temps réel.
|
||||
- **DevFrontend** : vérifier si les `ReplyChunk::Progress` précoces arrivent mais sont ignorés, écrasés, réordonnés ou non rendus dans la custom CLI/store courant.
|
||||
- **QA** : à venir après implémentation, avec scénario réel ciblant l'apparition d'un progress avant le premier MCP et l'absence de dépendance au `Final` pour l'affichage.
|
||||
|
||||
### Critères d'acceptation de #171 pour ce cycle
|
||||
|
||||
- Un progress/message d'intention disponible dans le flux source apparaît dans l'UI/CLI **avant** le premier événement MCP, sans attendre la fin de tour.
|
||||
- Aucun `ReplyChunk::Progress` légitime n'est perdu entre émission backend, transport et affichage.
|
||||
- La limite provider est traitée honnêtement : si un provider n'émet rien avant le premier MCP, l'UI n'invente pas de faux message.
|
||||
- Les preuves QA permettent de distinguer clairement un manque d'émission backend d'un simple problème de rendu frontend.
|
||||
|
||||
@ -2,16 +2,16 @@
|
||||
id: "dcd6a2c9-c819-43b0-acf2-5d7dd9ada284"
|
||||
number: 171
|
||||
title: "[OBS] Pipeline d'observabilité conversationnelle — ReplyEvent progress -> UI en temps réel"
|
||||
status: "open"
|
||||
status: "inProgress"
|
||||
priority: "high"
|
||||
sprint: null
|
||||
links: [{"target":"#58","kind":"relatesTo"},{"target":"#93","kind":"relatesTo"}]
|
||||
agentRefs: []
|
||||
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":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
||||
createdAt: 1786371966186
|
||||
updatedAt: 1786371966186
|
||||
version: 1
|
||||
updatedAt: 1786378881038
|
||||
version: 3
|
||||
---
|
||||
Dérivé de la régression CLI/UI signalée le 2026-08-10: les messages process ne s'affichent pas pendant le tour et les usages d'outils MCP (ex. idea_ask_agent) n'apparaissent qu'après terminaison du tool / Final cible. Ticket transverse pour établir un pipeline live des événements conversationnels (progress/tool activity/process) du backend vers l'UI/CLI, sans dépendre du Final.
|
||||
@ -2068,7 +2068,7 @@
|
||||
"kind": "agent",
|
||||
"agent_id": "a6c6ea12-bfc6-4bdc-8031-324102dfa34d"
|
||||
},
|
||||
"updatedAt": 1786346556578
|
||||
"updatedAt": 1786378849914
|
||||
},
|
||||
{
|
||||
"issueRef": "#158",
|
||||
@ -2282,15 +2282,18 @@
|
||||
"issueRef": "#171",
|
||||
"path": "171",
|
||||
"title": "[OBS] Pipeline d'observabilité conversationnelle — ReplyEvent progress -> UI en temps réel",
|
||||
"status": "open",
|
||||
"status": "inProgress",
|
||||
"priority": "high",
|
||||
"sprint": null,
|
||||
"assignedAgentIds": [],
|
||||
"assignedAgentIds": [
|
||||
"fe887179-933f-47d4-960f-c3b06827f86c",
|
||||
"8f7da528-58df-4315-97e9-0562230ecc19"
|
||||
],
|
||||
"createdBy": {
|
||||
"kind": "agent",
|
||||
"agent_id": "a6c6ea12-bfc6-4bdc-8031-324102dfa34d"
|
||||
},
|
||||
"updatedAt": 1786371966186
|
||||
"updatedAt": 1786378881038
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user