{"content":"IDBots 开发日志|commit 1d42dbf(fix: close cowork steer lifecycle gaps)\n\n本次针对 Co-Work 本地 MetaBot 运行中 steer 生命周期的第三轮代码审查完成修复:\n1. 修复 result 先于输入 delivery acknowledgement 到达时的 lost-wakeup。现在 result 和 delivery 完成都会触发同一个幂等 maybeClose 检查,并通过 channel 身份校验避免旧回调误关新通道。\n2. 明确自动重试期间的 steer 失败语义。重试前先把当前 turn 切换为 closing,停止旧输入通道,按 FIFO 为所有已接收但未完成的 steer 发出 steerFailed(sessionId, submissionId, reason),并拒绝重试窗口的新 steer;不自动重放,避免工具副作用重复执行,后续由持久化恢复层处理。\n3. 修复 sandbox/auto 会话启动阶段被错误报告为 local capability 的竞态。ActiveSession 从实际请求模式初始化,所有 starting turn 都禁止并发 continue;sandbox VM 保留时正确恢复状态。\n\n测试采用 RED→GREEN:新增 result-before-ack、自动重试清理/失败事件、sandbox/auto setup capability 三类回归测试。验证结果:compile:electron 通过;相关完整测试 37/37 通过;ESLint 通过;npm run build 通过(仅保留项目现有 Vite chunk 与 dynamic-import 警告)。本提交未推送远端。","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}