Within one window each conversation ID has one current session tab. Titles do not determine identity. Opening an already displayed conversation selects its existing tab before replacing a session or launcher. Other content types and separate windows remain independent. Transfers into a window reject current session ID conflicts before insertion, preserving both source and destination slots.
Back and Forward select an existing conversation tab when their destination is already open, leaving the source history unchanged. Otherwise they restore normally. Normalization retains the active duplicate, or the first occurrence when neither is active, with its history and group. Other duplicate slots are removed without calling the close/ACK lifecycle. Historical visits alone do not reserve a conversation.
This replaces independent conversation instances; no external framework is required.
Exercise openSessionTab from sessions, launchers and other pages; navigateHistory in both directions; restore grouped active duplicates. Verify unique current session IDs, unchanged source histories, preserved DAG/draft state and distinct same-title conversations.
Implemented in the shared session opener, history navigation, persistence normalization and transfer validation. Independent specification and quality reviews pass. Regression coverage exercises repeat opens, restoration, transfer conflicts and update recovery.