--- issueRef: "#170" version: 6 updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"} updatedAt: 1786039145598 --- ## 2026-08-06 — Ouverture depuis retour utilisateur - Repro utilisateur: le basculement de la custom CLI vers la TUI native ne se fait pas proprement; l'app dit parfois que la TUI est déjà active ailleurs. - Attendu produit: aucun faux positif de disponibilité lors du hand-off entre surface custom CLI et TUI native; une seule surface humaine active à la fois si c'est la règle, mais avec cleanup/transition correcte. - Hypothèse de cadrage: hand-off incomplet ou registry de session/surface qui conserve un état occupé après le switch. - Périmètre pressenti: architecture + backend + frontend. ## 2026-08-06 — DevBackend - Côté backend, le même correctif que #169 couvre le hand-off custom CLI/chat -> TUI native: un lancement PTY explicite n'est plus refusé à cause d'une session structurée existante. - Non-régressions vertes: `structured_launch_new_in_other_cell_refuses_when_live_elsewhere` et `structured_relaunch_other_cell_with_conversation_id_rebinds`. ## 2026-08-06 — DevFrontend - Frontend livré: le passage custom CLI -> TUI native ferme d'abord la session custom par `closeAgentChat(sessionId)`, sans stop global par agent, puis bascule vers la TUI. - Test ajouté pour vérifier que `stopLiveAgent` n'est pas appelé sur ce chemin. - Campagne frontend verte (`46 passed` ciblés, `117 files` / `1130 tests passed` globale). ## 2026-08-06 — QA - QA a rejoué les validations ciblées frontend/backend et confirme le hand-off attendu. - Verdict: VERT. Preuve principale: le passage custom CLI -> TUI native ferme bien la session chat structurée par `sessionId` via `closeAgentChat(sessionId)` avant retour à la TUI, sans `stopLiveAgent`, et le backend ne refuse plus le lancement PTY explicite du fait d'une structured session vivante.