用途:lifeguard-in-lanes 是配合 /loop 使用的看护技能,用于监视由 /tickets-to-lanes 开启的多个并行工作通道(lanes)。它只负责观察和提醒,不写代码、不建分支、不提 PR。
主要能力:每轮执行一次 tick,读取 lanes 所在 issue 的正文与评论(CHECK-IN、CANDIDATE、HANDOFF、STUCK、DONE、LIFEGUARD),用 ListAgents 匹配各通道的会话与 ref,并用 gh pr view 检查已 DONE 通道的 PR 状态。它只做三件事:向通道发消息(SendMessage)、在 issue 上写 LIFEGUARD 评论、向人类推送通知(PushNotification)。
判断逻辑:通道在忙碌、等待未到达的交接、已发 DONE 或长时间沉默时视为正常;未签到、离线、空闲且无待办、发 STUCK、或 HANDOFF 的 SHA 不在分支上时视为停滞。首次发现停滞先发消息,下一轮仍停滞才通知人类并评论,恢复后评论恢复证据。
使用方式:由人类通过 /loop 启动,例如 /loop 15m /lifeguard-in-lanes #<issue> in repo <owner/name>。每轮输出一行、表格或里程碑详细摘要;所有通道 DONE 后按合并顺序评论 PR 并通知人类,全部 PR 合并或关闭后输出最终摘要并停止循环(固定间隔用 CronList 与 CronDelete,自定节奏用 ScheduleWakeup 停止)。
适用场景:多通道并行开发时的进度看护与异常提醒。限制:仅在被 /loop 或人类调用时运行;不代替通道自身或人类解决问题;若无人要求看护则应停止。