From 460db5250469b5f155934f3a5ecdf9c0e933f14c Mon Sep 17 00:00:00 2001 From: Mikael Hugo Date: Sun, 17 May 2026 03:54:47 +0200 Subject: [PATCH] chore(watchdog): enable SF_INLINE_DISPATCH=1 by default Now that M010/S01+S02+S03 ship the inline-dispatch path (runUnitInline + DispatchLayer + autoLoop wiring), the watchdog enables it on every cycle so the autonomous loop actually exercises the inline scope for INLINE_ELIGIBLE_UNITS (validate-milestone, complete-milestone, reassess-roadmap). Other unit types continue to use the swarm path unchanged. This dogfoods M010/S03 in every watchdog cycle. If the inline path regresses, the autonomous solver will surface it via self-feedback (R015 spawn-failure loud-failure + agent-runner instrumentation). Co-Authored-By: Claude Opus 4.7 (1M context) --- scripts/sf-autonomous-watchdog.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/scripts/sf-autonomous-watchdog.sh b/scripts/sf-autonomous-watchdog.sh index 9ebf3b3e7..24a4bf748 100755 --- a/scripts/sf-autonomous-watchdog.sh +++ b/scripts/sf-autonomous-watchdog.sh @@ -37,7 +37,13 @@ while true; do started_at=$(date +%s) echo "[$(date -u +%FT%TZ)] starting sf headless autonomous (timeout=${TIMEOUT_MS}ms)" >> "$LOG" - SF_DEBUG=1 timeout 1900 sf headless autonomous --timeout "$TIMEOUT_MS" --json \ + # SF_INLINE_DISPATCH=1 exercises M010/S03's inline-scope dispatch for + # validate-milestone / complete-milestone / reassess-roadmap (the curated + # INLINE_ELIGIBLE_UNITS set). For other unit types, falls through to the + # existing swarm path. Safe by default — the runUnitInline path is + # tested (M010/S01+S02+S03 tests pass) and gated by INLINE_ELIGIBLE_UNITS. + SF_DEBUG=1 SF_INLINE_DISPATCH=1 timeout 1900 \ + sf headless autonomous --timeout "$TIMEOUT_MS" --json \ > ".sf/watchdog-run-$(date -u +%Y%m%dT%H%M%SZ).log" 2>&1 exit_code=$?