--- issueRef: "#238" version: 7 updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"} updatedAt: 1787391077910 --- 2026-08-22 - Signalement utilisateur avec capture: Work state montre Architect Busy/intention active alors que la conversation visible est vide. - Cadrage UX: distinguer vide réel vs agent actif sans message visible vs activité sur un autre fil vs retard de synchronisation vs erreur de chargement. - Cadrage Architecture: hypothèse principale = désalignement entre identité canonique de conversation, projection live-state, binding session, et sélection UI. - Git: branche locale `fix/238-workstate-busy-conversation-vide` créée depuis `develop` @ `963b51a`. - DevBackend: cause racine confirmée sur le lancement structuré à froid; `conversation_id` canonique résolu par `ask_agent` n'était pas propagé à `ensure_structured_session`, ce qui pouvait lancer la cible sur `User↔target` au lieu du fil `requester↔target`. Fix backend implémenté + tests ciblés verts. - DevFrontend: états vides diagnostiques + CTA `Ouvrir le fil actif` + fallback desktop/web implémentés. Tests ciblés composant verts. - Limitation sandbox devs: staging git impossible (`.git/index.lock: Read-only file system`), aucun commit effectué. - QA 2026-08-22: backend vert (`cargo test -p application --test orchestrator_service`), frontend composant vert (`ConversationViewer.test.tsx`, `typecheck`), mais intégration desktop large rouge sur `frontend/src/features/projects/ProjectsView.ls7.test.tsx`. - Symptôme QA exact: 4 tests rouges avec `Unable to find role="button" and name "open conversation conversation-open-me"` aux lignes 153, 189, 248 et 407. - Correctif DevFrontend suite QA: dans `ProjectWorkStatePanel.tsx`, le résumé du ticket actif est maintenant cliquable depuis la ligne compacte de l’agent, pas seulement dans les détails dépliés. Re-tests frontend verts (`ProjectsView.ls7.test.tsx`, `ConversationViewer.test.tsx`, `typecheck`). - Étape courante: revalidation QA complète.