48 lines
2.8 KiB
Markdown
48 lines
2.8 KiB
Markdown
---
|
|
issueRef: "#216"
|
|
version: 6
|
|
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
|
updatedAt: 1786813140292
|
|
---
|
|
## Triage 2026-08-15
|
|
- Symptôme rapporté: dans la CLI custom, impression qu'après le premier `Final`, il n'y a plus de progress remontés.
|
|
- Références durables relues: `ticket156-reply-progress-foundation`, `opencode-streaming-progress-mcp-surfacing-157`.
|
|
- Cadrage UX: si `Final` clôt strictement le tour, il faut garder des signaux persistants de session/activité; sinon la surface paraît morte.
|
|
- Cadrage Architect: distinguer 1) progress réellement reçus après `Final` mais masqués par la vue, 2) événements post-tour passant par un autre canal, 3) rupture réelle du flux adapter/backend.
|
|
- Périmètre d'investigation initial: `frontend/src/features/agents/CustomAgentChatView.tsx`, `crates/app-tauri/src/commands.rs`, `crates/app-tauri/src/chat.rs`, puis adaptateurs provider si nécessaire.
|
|
- Branche locale créée par Git: `fix/216-custom-cli-progress-after-final` depuis `develop` @ `a369993` (`v0.13.0`).
|
|
|
|
## Diagnostic DevFrontend
|
|
- Bug confirmé côté frontend.
|
|
- `CustomAgentChatView.tsx` ignorait tout chunk reçu après `final/error`, hors prompt utilisateur.
|
|
- Correctif appliqué: les `progress` tardifs restent affichés comme activité séparée sans rouvrir le tour ni repasser le bouton en `Stop`.
|
|
- Fichiers modifiés:
|
|
- `frontend/src/features/agents/CustomAgentChatView.tsx`
|
|
- `frontend/src/features/agents/CustomAgentChatView.test.tsx`
|
|
- Tests DevFrontend:
|
|
- `npm test -- CustomAgentChatView.test.tsx` => OK (49 tests)
|
|
- `npm run typecheck` => OK
|
|
|
|
## Diagnostic DevBackend
|
|
- Pas de bug backend/transport confirmé.
|
|
- Le contrat `Final` terminal reste cohérent: tap live/drain/settling n'émettent pas de `Progress` après `Final` comme flux de tour autoritaire.
|
|
- Tests DevBackend:
|
|
- `cargo test -p app-tauri --test chat_bridge` => OK (31)
|
|
- `cargo test -p infrastructure send_with_tap` => OK (3)
|
|
- `cargo test -p infrastructure normal_completion_returns_exactly_one_terminal_final` => OK (1)
|
|
- Conclusion: si l'UI montre ou masque une activité après `Final`, le correctif doit rester côté frontend, pas en backend.
|
|
|
|
## Verdict QA
|
|
- Verdict: VERT.
|
|
- QA a ajouté une assertion explicite: un `progress` après `Final` s'affiche, le tour ne se rouvre pas, `Stop` reste absent, `Envoyer` reste disponible.
|
|
- Tests QA:
|
|
- `npm test -- CustomAgentChatView.test.tsx` => OK
|
|
- `npm run typecheck` => OK
|
|
|
|
## Git
|
|
- Commit fix: `3582b25` — `fix(cli): affiche les progress reçus après Final sans rouvrir le tour — #216`
|
|
- Commit bookkeeping: `7fd47b3` — `chore(idea): bookkeeping #216 QA verte + clôtures #214/#215`
|
|
- Merge local: `02715a0` — `merge(cli): progress après Final dans la CLI custom — #216 (QA verte)`
|
|
- Branche finale active: `develop`
|
|
- Aucun push effectué.
|