← back to Wallco Ai
Fix overnight loop DTD gate: capture only dtd_decide's final line (logl wrote vote-tally to stdout, polluting VERDICT so it never equaled PAUSE → pause branch was dead, loop ignored DTD)
f591bcd3b0cc74671eee836c7dfa9f985ebd9455 · 2026-06-11 20:08:26 -0700 · Steve Abrams
Files touched
M scripts/overnight-seam-loop.sh
Diff
commit f591bcd3b0cc74671eee836c7dfa9f985ebd9455
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Thu Jun 11 20:08:26 2026 -0700
Fix overnight loop DTD gate: capture only dtd_decide's final line (logl wrote vote-tally to stdout, polluting VERDICT so it never equaled PAUSE → pause branch was dead, loop ignored DTD)
---
scripts/overnight-seam-loop.sh | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/scripts/overnight-seam-loop.sh b/scripts/overnight-seam-loop.sh
index 32f627a..03b42e0 100755
--- a/scripts/overnight-seam-loop.sh
+++ b/scripts/overnight-seam-loop.sh
@@ -281,7 +281,10 @@ EOF
# ── 3. DTD decider — CONTINUE or PAUSE ──
MINS_LEFT=$(( (STOP_EPOCH - NOW) / 60 ))
- VERDICT="$(dtd_decide "$WAVE_COUNT" "$PASSRATE" "$PASSES" "$ATTEMPTED" "$REMAINING_AFTER" "$MINS_LEFT")"
+ # dtd_decide logs its vote tally to stdout via logl, then echoes the verdict LAST.
+ # Capture only the final line + strip whitespace, else VERDICT carries the log noise
+ # and never equals "PAUSE" (which silently disables the pause branch).
+ VERDICT="$(dtd_decide "$WAVE_COUNT" "$PASSRATE" "$PASSES" "$ATTEMPTED" "$REMAINING_AFTER" "$MINS_LEFT" | tail -n1 | tr -d '[:space:]')"
logl "WAVE $WAVE_COUNT DTD verdict: $VERDICT"
if [ "$VERDICT" = "PAUSE" ]; then
← dd74023 Fix overnight seam loop: (1) generator exits 0 on completed
·
back to Wallco Ai
·
Throttle overnight seam loop: max-retries default 8→4 (load a0a8321 →