← back to Designerwallcoverings
sanderson daily-batch: fix NODE unbound under set -u so the post-golive guard + self-terminate actually run
e860e142b0b3478f160b52df5355031bac44a497 · 2026-09-02 08:55:07 -0700 · Steve Abrams
Under launchd NODE is unset; with set -u the old "$NODE" reference aborted the script (exit 1, runs=2) AFTER create+golive but BEFORE guard.mjs and the self-terminate check — the DTD-verdict-C anomaly guard had never executed. ${NODE:-node} falls back correctly (verified: guard ran, 58 fresh publishes sane, .guard-seen 244->302).
BLAST-RADIUS NOTE: guard.mjs, when it trips (foreign image / misprice / >160 per night), writes ~/.dw-fixer-stop — the SHARED kill-switch that froze ~30 onboarders for 13 days in Aug. Fixing this line arms that guard for real. .guard-seen verified current (302 = golive-done) before this commit.
TK-11098 (approval-agent). Undo: git revert this sha.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0112gwsN3XLDuDNAMBu3KYCm
Files touched
M scripts/sanderson-onboard/daily-batch.sh
Diff
commit e860e142b0b3478f160b52df5355031bac44a497
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Wed Sep 2 08:55:07 2026 -0700
sanderson daily-batch: fix NODE unbound under set -u so the post-golive guard + self-terminate actually run
Under launchd NODE is unset; with set -u the old "$NODE" reference aborted the script (exit 1, runs=2) AFTER create+golive but BEFORE guard.mjs and the self-terminate check — the DTD-verdict-C anomaly guard had never executed. ${NODE:-node} falls back correctly (verified: guard ran, 58 fresh publishes sane, .guard-seen 244->302).
BLAST-RADIUS NOTE: guard.mjs, when it trips (foreign image / misprice / >160 per night), writes ~/.dw-fixer-stop — the SHARED kill-switch that froze ~30 onboarders for 13 days in Aug. Fixing this line arms that guard for real. .guard-seen verified current (302 = golive-done) before this commit.
TK-11098 (approval-agent). Undo: git revert this sha.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0112gwsN3XLDuDNAMBu3KYCm
---
scripts/sanderson-onboard/daily-batch.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/sanderson-onboard/daily-batch.sh b/scripts/sanderson-onboard/daily-batch.sh
index 54eadd2..0a68512 100755
--- a/scripts/sanderson-onboard/daily-batch.sh
+++ b/scripts/sanderson-onboard/daily-batch.sh
@@ -11,7 +11,7 @@ bash run.sh create --payloads=payloads-imgfixed.jsonl --apply
# 2. GOLIVE every CLEAR+valid draft not yet live (idempotent; settlement + 5-field gated)
bash run.sh golive --apply
# 2b. GUARD (DTD verdict C): halt via kill-switch if anything published looks wrong
-"$NODE" guard.mjs 2>&1 || node guard.mjs 2>&1 || true
+"${NODE:-node}" guard.mjs 2>&1 || true # NODE unset under launchd; with set -u the old "$NODE" aborted the script BEFORE the guard + self-terminate ran (TK-11098)
# 3. self-terminate: when created >= 506 AND golive-done >= CLEAR, bootout the job
CREATED=$(wc -l < out/created.jsonl | tr -d ' ')
← 3e5254b auto-data-snapshot: 2026-09-02T08:25:36 (2 data files) — scr
·
back to Designerwallcoverings
·
colorway-retag: add --only=h1,h2 handle filter so a pilot is 2d4faa3 →