Skip to content

Commit 15b6873

Browse files
committed
docs(skills): pm-dispatch 探活规程三条扩为五条 —— 定时器先挂 + 批量在飞期 ≤45 分钟巡检
维护者 2026-08-06 授权的制度性补丁,来自当日两波 worker 重启灭批(4+4)的实测教训: 一次巡检中断导致重挂丢失,四连灭批静默 ~100 分钟(设计门槛 ≤45 分钟)。 - 定时器重挂改为巡检第一动作:先挂后查,守夜链对中断免疫; - 批量在飞期主巡检间隔 ≤45 分钟:间隔超过探活门槛会让门槛失效, 静默窗口退化为巡检间隔本身;待命期可放宽,灭批频发期压到 20-30 分钟。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018fxLGQdatPbBUvCgiVxg6D
1 parent e2bfa6c commit 15b6873

1 file changed

Lines changed: 12 additions & 1 deletion

File tree

.claude/skills/pm-dispatch/SKILL.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1111,7 +1111,7 @@ attached.
11111111
下面的停摆纠偏处理「带任务中状态的通知到了」;这一条处理更隐蔽的另一半:
11121112
**通知根本不来**。宿主进程重启会把运行中的 subagent 连同其完成通知一起
11131113
静默杀掉 —— 2026-08-05 实测,五个「在飞」dev 里三个(#5050/#5515/#5483)
1114-
已死数小时,批次视图仍显示 5/5,实际吞吐 2/5,零信号。规程三条:
1114+
已死数小时,批次视图仍显示 5/5,实际吞吐 2/5,零信号。规程五条:
11151115

11161116
- 每次巡检(定时器唤醒、轮间隙)对**每个已派发且尚无远程分支/PR**
11171117
dev 发一次状态询问(SendMessage,措辞「回一段简报后继续干活」,不改变
@@ -1122,6 +1122,17 @@ attached.
11221122
优先用它;resume 不可用时才走接手协议。
11231123
- 判据永远取正向证据(远程分支、PR、报告、探活回包),⛔ 绝不把「还没
11241124
收到失败通知」读作「还在跑」。
1125+
- **定时器重挂是每次巡检的第一动作,不是最后一个**(维护者 2026-08-06
1126+
授权)。巡检执行到一半被打断(穿插提问、事件风暴、会话中断)时,排在
1127+
末尾的重挂会整个丢失,守夜链就此断裂 —— 2026-08-06 实测:一次漏挂让
1128+
四连灭批静默了 ~100 分钟而不是探活门槛设计的 ≤45 分钟。先挂后查,链条
1129+
对中断免疫;挂错了间隔可以在本轮末尾用 delete_trigger + 重挂修正,但
1130+
「没挂」无法被本轮以外的任何机制补救。
1131+
- **批量在飞期间,主巡检间隔不得长于 45 分钟**(同一授权)。探活门槛是
1132+
45 分钟,巡检间隔一旦超过它,门槛就成了写在纸上的数字 —— 最坏情形下
1133+
一个派发后即死的 agent 要等到下一轮巡检才被发现,静默窗口 = 巡检间隔,
1134+
而非门槛值。在飞清零的待命期可放宽到 60-70 分钟;有任何 dev 在飞即收紧
1135+
回 ≤45,灭批频发期(如宿主重启风暴)进一步压到 20-30 分钟。
11251136

11261137
**A stalled subagent is this half's most common failure, and it never
11271138
self-heals.** When a dev stops mid-task reasoning that "a background watcher will

0 commit comments

Comments
 (0)