Commit 77e18677fe9f071be0649ca7b1ceee972f301d40
1 parent
58a28650
feat(p3b): 给 retrain-watchdog 加关闭开关,供真跑规程使用
LEMONBOSS_DISABLE_WATCHDOG=1 时不启动。 第三次真跑记录:Master 智能巡检带 full 工具权限、会在工作树里改源码,还会自主 下任务单;而图执行的边界守卫用整仓 git status 差集判归属,于是并行 Master 的写 被算到「当时正在跑的 work 节点」头上,把一个只是超时的节点额外署成 boundary_escape。 守卫做不到区分是谁写的(W3「拦不住」第 5 条),所以真跑期间工作树里不能有第二个 agent 在活动 —— 这是规程问题,不该指望守卫变聪明。此前没有任何关闭开关。
Showing
1 changed file
with
10 additions
and
0 deletions
server/services/retrain-watchdog.js
| ... | ... | @@ -32,6 +32,16 @@ class RetrainWatchdog { |
| 32 | 32 | * @param {Function} [getMasterSession] - 可选,提供 MasterSession 进行智能巡检 |
| 33 | 33 | */ |
| 34 | 34 | start(jobManager, getInnovator, getMasterSession = null) { |
| 35 | + // 真跑规程需要的关闭开关(27-P3B 第三次真跑):Master 智能巡检带 full 工具权限、 | |
| 36 | + // 会在工作树里改源码,还会自主下任务单。图执行的边界守卫用整仓 git status 差集判归属, | |
| 37 | + // 于是并行 Master 的写会被算到「当时正在跑的 work 节点」头上,把成功节点误判 boundary_escape。 | |
| 38 | + // 守卫做不到区分是谁写的(W3「拦不住」第 5 条),所以真跑期间工作树里不能有第二个 agent | |
| 39 | + // 在活动 —— 这是规程问题,不该指望守卫变聪明。 | |
| 40 | + if (process.env.LEMONBOSS_DISABLE_WATCHDOG === '1') { | |
| 41 | + console.log('[Watchdog] ⏸️ 已由 LEMONBOSS_DISABLE_WATCHDOG=1 关闭(真跑期间避免并行 agent 污染工作树)'); | |
| 42 | + return; | |
| 43 | + } | |
| 44 | + | |
| 35 | 45 | this._jobManager = jobManager; |
| 36 | 46 | this._getInnovator = getInnovator; |
| 37 | 47 | this._getMasterSession = getMasterSession; | ... | ... |