feat(launch): forward PHASES_SPEC/backend to watchdog; mark plan Phase 4 as operator gate
The watchdog is spawned into the existing tmux server and didn't reliably inherit a custom PHASES_SPEC — it would fall back to the default 11-phase spec and mis-detect completion. Forward PHASES_SPEC/PHASE_IDX_FILE/ LOOP_BACKEND/LOOP_MODEL explicitly in the watchdog command so custom single-phase runs (like the mirror-enroll plan) work end-to-end. Also make the mirror-enroll plan's live-host-deploy step an explicit claim-and-wait operator gate for the loops. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
8007053d94
commit
d349656c3b
@@ -610,9 +610,16 @@ def start_watchdog():
|
||||
return
|
||||
log("starting watchdog")
|
||||
script = Path(__file__).resolve()
|
||||
# Forward the phase spec / idx file / backend explicitly. The watchdog tmux session is spawned
|
||||
# into the existing tmux server and would otherwise NOT inherit a custom PHASES_SPEC from the
|
||||
# caller's env — it would fall back to the default spec and mis-detect phase completion.
|
||||
env_prefix = (
|
||||
f"PHASES_SPEC='{PHASES_SPEC}' PHASE_IDX_FILE='{PHASE_IDX_FILE}' "
|
||||
f"LOOP_BACKEND='{BACKEND}' LOOP_MODEL='{LOOP_MODEL}' "
|
||||
)
|
||||
subprocess.run([
|
||||
"tmux", "new-session", "-d", "-s", WATCHDOG_SESSION, "-c", PLAN_DIR,
|
||||
f"exec >>'{LOG_DIR}/watchdog.log' 2>&1; python3 '{script}' watchdog"
|
||||
f"exec >>'{LOG_DIR}/watchdog.log' 2>&1; {env_prefix}python3 '{script}' watchdog"
|
||||
])
|
||||
|
||||
# ── preflight ─────────────────────────────────────────────────────────────────
|
||||
|
||||
Reference in New Issue
Block a user