[object Object]

← back to Ticket System

Verify YOLO recovery before ticket updates

36de9af95a1e89d0531310d1162963911b108cc6 · 2026-08-31 00:59:54 -0700 · Steve Abrams

Files touched

Diff

commit 36de9af95a1e89d0531310d1162963911b108cc6
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Mon Aug 31 00:59:54 2026 -0700

    Verify YOLO recovery before ticket updates
---
 scripts/yolo-ticket-sync.mjs | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/scripts/yolo-ticket-sync.mjs b/scripts/yolo-ticket-sync.mjs
index c6f34ced..adee4c83 100644
--- a/scripts/yolo-ticket-sync.mjs
+++ b/scripts/yolo-ticket-sync.mjs
@@ -39,14 +39,20 @@ function saveState(state) {
 const state = loadState();
 
 try {
-  const status = JSON.parse(ssh(REMOTE_STATUS));
-  const result = status.lastResult || null;
+  let status = JSON.parse(ssh(REMOTE_STATUS));
 
   if (status.running === false) {
     const response = JSON.parse(ssh(REMOTE_START));
-    tk('challenge', `YOLO loop was stopped; monitor issued the existing /api/start recovery (${response.msg || 'started'}). No email; $0 spend.`);
+    status = JSON.parse(ssh(REMOTE_STATUS));
+    if (status.running === false) {
+      tk('challenge', `YOLO loop remained stopped after monitor called the existing /api/start endpoint (${response.msg || 'no response'}). No email; $0 spend.`);
+    } else if (!/already running/i.test(response.msg || '')) {
+      tk('note', `YOLO loop was stopped and recovered through the existing /api/start endpoint (${response.msg || 'started'}). No email; $0 spend.`);
+    }
   }
 
+  const result = status.lastResult || null;
+
   const lastRunMs = Date.parse(status.lastRunAt || result?.completedAt || '');
   const cooldownMs = Math.max(5, Number(status.cooldownSec) || 600) * 1000;
   const staleAfterMs = Math.max(30 * 60_000, cooldownMs * 2 + 5 * 60_000);

← 7f5e98ea Recover stale YOLO cooldown loops  ·  back to Ticket System  ·  Show ticket runtime beside ticket number 7992a04f →