diff --git a/server/services/retrain-watchdog.js b/server/services/retrain-watchdog.js index d562321..7dc539e 100644 --- a/server/services/retrain-watchdog.js +++ b/server/services/retrain-watchdog.js @@ -32,6 +32,16 @@ class RetrainWatchdog { * @param {Function} [getMasterSession] - 可选,提供 MasterSession 进行智能巡检 */ start(jobManager, getInnovator, getMasterSession = null) { + // 真跑规程需要的关闭开关(27-P3B 第三次真跑):Master 智能巡检带 full 工具权限、 + // 会在工作树里改源码,还会自主下任务单。图执行的边界守卫用整仓 git status 差集判归属, + // 于是并行 Master 的写会被算到「当时正在跑的 work 节点」头上,把成功节点误判 boundary_escape。 + // 守卫做不到区分是谁写的(W3「拦不住」第 5 条),所以真跑期间工作树里不能有第二个 agent + // 在活动 —— 这是规程问题,不该指望守卫变聪明。 + if (process.env.LEMONBOSS_DISABLE_WATCHDOG === '1') { + console.log('[Watchdog] ⏸️ 已由 LEMONBOSS_DISABLE_WATCHDOG=1 关闭(真跑期间避免并行 agent 污染工作树)'); + return; + } + this._jobManager = jobManager; this._getInnovator = getInnovator; this._getMasterSession = getMasterSession;