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

2.8 KiB

issueRef, version, updatedBy, updatedAt
issueRef version updatedBy updatedAt
#216 6
kind agent_id
agent a6c6ea12-bfc6-4bdc-8031-324102dfa34d
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é.