# 任务会话名称 任务相关会话使用任务数据生成名称,不依赖模型为启动提示或交接材料取标题。受管任务创建或复用处理会话、关联已有会话、关联来源 Issue,以及创建接续后继时都会更新名称。首次任务材料投递前已写入后继名称。 ## 格式与编号 | 示例 | 含义 | | --- | --- | | `#211 · 会话 1 · 修复会话名称` | 来源 Issue #211 的第一条处理会话 | | `#200/#211 · 会话 2 · 修复会话名称` | 上级任务 #200 下的任务 #211,第二条接续处理会话 | | `T:d08d669f · 会话 1 · 修复会话名称` | 暂无来源编号时,以真实 Task ID 的唯一前缀定位任务 | | `#211@d08d669f · 会话 1 · 修复会话名称` | 当前记录中存在重复 Issue 编号时,用 Task ID 前缀消歧 | | `#211 · 评审 2 · 修复会话名称` | 同一任务中第二条明确关联的评审会话 | | `#211 · 关联 1 · 修复会话名称` | 同一任务中第一条普通关联会话 | `/` 左边为已记录的直接上级任务,右边为当前任务。会话代次取自保存的 execution epoch;它表示交接顺序,不表示业务阶段或模型轮数。评审和普通关联的编号分别取各自关系的持久化顺序;重复绑定、恢复或交接重试不会递增。 Task ID 前缀去掉 UUID 中的连字符,从八位开始;存在碰撞时延长到可以区分当前任务记录的位置。它是已有身份的缩写,不是模型生成的新编号。来源编号优先使用任务已有的 Issue 关联;完整来源链接仍在关联任务详情中。 共享会话优先显示它当前负责的任务,其次是历史处理任务,否则显示最早的关联任务。其他关联以 `+N任务` 表示,完整关系仍在任务详情中。关联数量不表示任务完成率或协调资格。 ## 长度与兜底 完整名称最多80个 UTF-8 字节,与现行宿主默认限制一致。先为任务编号、会话序列和额外关联计数留空间,再按 Unicode 字符边界缩短任务标题。上级标识过长、会挤占短标题空间时省略上级前缀;当前任务身份与会话序列保留。 标题按“任务标题 → 任务目标 → 任务会话”取首个可读值,并去掉换行、终端控制序列和不可见控制字符。自动标题模型缺失、失败、返回空字符串或无关文字都不影响此规则。宿主使用固定标题事件,后续普通输入不会重新触发自动命名覆盖。 ## 既有名称与恢复 后台恢复会修复明确属于 Task、当前执行、接续历史或关联会话的名称,包含空名称和旧的无关名称。这些名称由任务关系管理,因此用户在关联会话中另起的标题也会在恢复时重新对齐任务;无关会话不受影响。 改名只追加公开的标题事件。冷会话通过单写者持久化句柄修改,不恢复 Agent,也不启动模型;活跃会话使用宿主标题服务,并在刷盘成功后完成写入。恢复在标题未变化时不重复追加事件。活跃标题缓存按具体会话实例和标题事件维护,冷缓存只认可仍持有写租约时观察过的版本;外部改名后可继续修复。 标题写入暂时失败时记录 warning,并在下一次恢复或重复绑定时重试。此改动覆盖受管 Task 的创建、绑定与接续;旧版独立 `/handoff take` 登记路径按本次确认范围保持原有行为,交接文档文件名保持原有规则。 ## 已运行宿主的在线接入 已有宿主仍持有旧工作服务实例时,可额外挂载 `@a2d2/dsh-a2d2/session-title-live`。它检查现有工作宿主的命名能力:已有原生命名能力时直接退出;缺少该能力时复用现有执行宿主,在正式 `ensure` 返回前写入名称,在成功绑定后修复名称,并维护已有会话标题。 该入口只增加标题元数据,不替换执行宿主、不重新注册授权回调,也不改变 owner、epoch、权限或已经接收的人工轮次。停止入口时撤回自身包装和定时器;之后完整新工作服务启动时,能力检查会避免重复接入。在线部署必须同时核对实际服务能力和会话标题投影,不能仅凭插件列表中的新模块路径判断成功。