[object Object]

← 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

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 →