--- issueRef: "#172" version: 6 updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"} updatedAt: 1786433962330 --- 2026-08-11 Main - Signal utilisateur: en CLI custom, changer de layout ou de projet vide la conversation affichée alors que la session headless n'a pas ete reset/clean. - Regle UX recue: la conversation visible doit rester synchronisee avec la session headless tant qu'elle existe; reset uniquement sur clean/reset explicite ou nouvelle session agent. - Cadrage Architect: source de verite = session headless + conversation_id persistant; l'etat UI de visualisation ne doit pas etre purge arbitrairement. Suspicion concrete sur `ProjectsView.tsx` avec reset de `viewerConversationId` lors des changements de projet/layout. - DevBackend: pas de backend requis pour #172; les contrats existants suffisent. - Premiere passe DevFrontend: conservation de `{projectId, conversationId}` et suppression du reset brutal au changement de projet. - QA (passe 1): tests/typecheck verts mais verdict ROUGE faute de preuve sur le changement de layout et la regle de reset explicite uniquement. Probe temporaire layout en echec car les `LayoutTabs` n'etaient plus rendus quand le viewer etait actif. - Reprise DevFrontend: correction du vrai ecart UI en rendant toujours les `LayoutTabs` du projet actif meme quand le viewer est ouvert; suppression aussi du reset du viewer lors du clic sur un toast de background task sans `conversationId`. Commandes relancees par DevFrontend: `npm --prefix frontend test -- ProjectsView.ls7.test.tsx` vert (9 tests) et `npm --prefix frontend run typecheck` vert. - Points a faire revalider par QA: persistance au changement de projet; persistance au changement de layout avec tabs actionnables; absence de reset implicite via toast sans conversation.