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) <noreply@anthropic.com>
This commit is contained in:
Mikael Hugo 2026-05-17 03:54:47 +02:00
parent 7a273262f1
commit 460db52504

View file

@ -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=$?