4.5 KiB
4.5 KiB
issueRef, version, updatedBy, updatedAt
| issueRef | version | updatedBy | updatedAt | ||||
|---|---|---|---|---|---|---|---|
| #231 | 13 |
|
1787337990284 |
2026-08-20 Main
- Ticket créé suite au signalement utilisateur sur la version web de la custom CLI.
- Recherche code: occurrences de
chat.sendcôté frontend et docs; le serveur web possède un rejet génériqueunknown websocket frame kind. - Architect: cause immédiate backend
crates/web-server; le frontend consomme déjà correctement le contratchat.*. - Git: branche de travail
fix/231-web-custom-cli-chat-sendcréée depuisdevelop. - DevBackend a livré le support WS structured chat côté
crates/web-serveravec tests ciblés verts. - QA indépendant:
cargo fmt --package web-server --checkOK;cargo check -p web-serverOK;cargo test -p web-server websocket_chat -- --nocaptureOK;cargo test -p web-server websocket -- --test-threads=1OK. - QA:
cargo test -p web-serverROUGE avecToo many open files (os error 24); en mono-thread il reste 7 échecs PTY/WebSocket terminal historiques, hors preuve d’un défaut du ticketchat.*. - Conclusion QA: périmètre utilisateur structured chat websocket VALIDÉ, suite complète crate non verte dans cet environnement.
2026-08-21 Main
- Ticket réouvert et redéfini pour l’erreur de fin de tour
Le modèle n'a renvoyé aucune réponse. - UX: le message actuel est un faux diagnostic; recommandation par défaut plus neutre
La réponse n’a pas pu être affichée.tant que la cause n’est pas classée. - Architect: la cause historique
mauvais Final Codex choisin’est plus l’hypothèse prioritaire; distinction clé = vérifier s’il existe unReplyChunk::Finaldans le scrollback de la session fautive. - Lecture code:
crates/app-tauri/src/commands.rssynthétise ce message uniquement si le drain se termine sans chunk terminal visible (Final/Error) et sans texte streamé. - DevBackend: cause la plus plausible aujourd’hui = un adapter provider ferme le flux sans émettre
ReplyEvent::Final; unFinalvide produirait un autre message (Réponse vide du modèle.), et une perte bridge/UI est jugée moins probable. - QA: les tests couvrent déjà bien
pas de Finalcôté bridge et la purge d’un stale no-response au replay, mais pas un scénario live instrumenté qui prouveFinal reçu par l’UI puis perdu à l’affichage. - Architect (fix concret): priorité backend = rendre impossible un succès structured sans
Final, ou au minimum remonter une erreur typée explicite plutôt que laisser le bridge synthétiser un faux diagnostic; fallback UX neutre recommandé:La réponse du modèle n'a pas pu être finalisée./Le tour du modèle s'est terminé sans réponse finale exploitable. - Git: plan validé = parquer le WIP #117 en commit local sur sa branche, créer une branche dédiée
fix/231-modele-aucune-reponsedepuisdevelop@c1d7f6d, livrer #231 isolément, puis revenir mergerdevelopdans #117. - Git a créé le commit WIP local
06c4c16surfeature/117-ask-agent-sync-background-taskset la branche dédiéefix/231-modele-aucune-reponsedepuisdevelop@c1d7f6d. - DevBackend a livré le correctif minimal sur
fix/231-modele-aucune-reponse: suppression du faux diagnosticLe modèle n'a renvoyé aucune réponse.; EOF structured sansFinaldevient une erreur expliciteLa réponse du modèle n'a pas pu être finalisée.; le casFinalvide conserveRéponse vide du modèle.. - Fichiers touchés:
crates/app-tauri/src/chat.rs,crates/app-tauri/src/commands.rs,crates/app-tauri/tests/chat_bridge.rs,crates/app-tauri/tests/dto.rs. - DevBackend a exécuté:
cargo fmt;cargo test -p app-tauri --test chat_bridge;cargo test -p app-tauri --test dto error_dto_preserves_structured_no_final_code;cargo test -p application --test orchestrator_service ask_structured_ -- --nocapture;cargo check -p app-tauri -p application;rg "Le modèle n'a renvoyé aucune réponse" ...=> plus aucune occurrence dans le périmètre ciblé. - QA indépendant: VERT sur le périmètre #231. Commandes exécutées:
cargo test -p app-tauri --test chat_bridge -- --nocapture=> 31/31 verts;cargo test -p app-tauri --test chat_bridge pump_with_heartbeat_then_eof_emits_visible_error -- --nocapture=> OK;cargo test -p app-tauri --test dto_chat -- --nocapture=> 24/24 verts. - Réserve QA hors périmètre: une suite plus large
app-tauritombe sur des erreurs de compilation existantes danstests/dto_agents.rs(runtime_state/node_idmanquants), sans remettre en cause la validation ciblée du ticket.