会话标签身份

同一窗口内,每个会话 ID 只对应一个当前会话标签。标题不决定身份。打开已经显示的会话时,先选中已有标签,再考虑替换会话或启动页。其他内容类型和不同窗口相互独立。向窗口转移标签时,在插入之前拒绝当前会话 ID 冲突,同时保留源窗口和目标窗口的位置。

后退和前进的目标会话已打开时,选中现有标签,保持源标签的历史不变;否则正常恢复。规范化时保留当前激活的重复项;如果重复项都未激活,则保留第一次出现的标签及其历史和分组。其余重复位置被移除,不调用关闭或 ACK 生命周期。仅出现在历史记录中的会话不占用当前会话身份。

此设计替代同一会话的独立多实例,不依赖外部框架。

验收

从会话、启动页和其他页面调用 openSessionTab,双向执行 navigateHistory,并恢复分组中已激活的重复标签。验证当前会话 ID 唯一、源历史不变、DAG 与草稿状态保留,同名但不同 ID 的会话仍相互独立。

实现状态

已在共享会话打开入口、历史导航、持久化规范化及转移校验中实现。独立规格审查与质量审查通过。回归覆盖重复打开、恢复、转移冲突和更新恢复。