[object Object]

← back to Dw Yolo Loop

stage live-price-canary as install-ready launchd package (c45, install Steve-gated)

463cd18c98407af450faefea5be2cf95ada23537 · 2026-06-16 16:36:03 -0700 · Steve Abrams

Files touched

Diff

commit 463cd18c98407af450faefea5be2cf95ada23537
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Tue Jun 16 16:36:03 2026 -0700

    stage live-price-canary as install-ready launchd package (c45, install Steve-gated)
---
 scripts/staged-launchd/live-price-canary/INSTALL.txt           |  4 ++++
 .../live-price-canary/com.steve.live-price-canary.plist        | 10 ++++++++++
 scripts/staged-launchd/live-price-canary/manifest-row.json     |  9 +++++++++
 .../staged-launchd/live-price-canary/run-live-price-canary.sh  |  7 +++++++
 4 files changed, 30 insertions(+)

diff --git a/scripts/staged-launchd/live-price-canary/INSTALL.txt b/scripts/staged-launchd/live-price-canary/INSTALL.txt
new file mode 100644
index 0000000..35069e1
--- /dev/null
+++ b/scripts/staged-launchd/live-price-canary/INSTALL.txt
@@ -0,0 +1,4 @@
+# Steve-gated install for com.steve.live-price-canary:
+cp "/Users/stevestudio2/Projects/designerwallcoverings/scripts/staged-launchd/live-price-canary/com.steve.live-price-canary.plist" ~/Library/LaunchAgents/
+launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/com.steve.live-price-canary.plist
+# then add manifest-row.json into ~/Projects/dw-canary-watchdog/manifest.json (canaries[])
diff --git a/scripts/staged-launchd/live-price-canary/com.steve.live-price-canary.plist b/scripts/staged-launchd/live-price-canary/com.steve.live-price-canary.plist
new file mode 100644
index 0000000..6770391
--- /dev/null
+++ b/scripts/staged-launchd/live-price-canary/com.steve.live-price-canary.plist
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0"><dict>
+  <key>Label</key><string>com.steve.live-price-canary</string>
+  <key>ProgramArguments</key><array><string>/bin/sh</string><string>/Users/stevestudio2/Projects/designerwallcoverings/scripts/staged-launchd/live-price-canary/run-live-price-canary.sh</string></array>
+  <key>StartInterval</key><integer>86400</integer>
+  <key>RunAtLoad</key><false/>
+  <key>StandardOutPath</key><string>/tmp/live-price-canary.log</string>
+  <key>StandardErrorPath</key><string>/tmp/live-price-canary.log</string>
+</dict></plist>
diff --git a/scripts/staged-launchd/live-price-canary/manifest-row.json b/scripts/staged-launchd/live-price-canary/manifest-row.json
new file mode 100644
index 0000000..7a45cfb
--- /dev/null
+++ b/scripts/staged-launchd/live-price-canary/manifest-row.json
@@ -0,0 +1,9 @@
+{
+  "label": "live-price-canary",
+  "cadence": "every 86400s (StartInterval)",
+  "stamp": "~/.claude/heartbeats/live-price-canary.stamp",
+  "artifact": "~/.claude/heartbeats/live-price-canary.stamp",
+  "launchd_log": "/tmp/live-price-canary.log",
+  "warn_after": 100000,
+  "fail_after": 130000
+}
diff --git a/scripts/staged-launchd/live-price-canary/run-live-price-canary.sh b/scripts/staged-launchd/live-price-canary/run-live-price-canary.sh
new file mode 100755
index 0000000..2f06eac
--- /dev/null
+++ b/scripts/staged-launchd/live-price-canary/run-live-price-canary.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+# auto-generated by promote-canary.sh — runs live-price-canary then writes its heartbeat stamp
+mkdir -p "$HOME/.claude/heartbeats"
+"/usr/local/bin/node" "/Users/stevestudio2/Projects/designerwallcoverings/scripts/live-price-canary/live-price-canary.mjs"; rc=$?
+# rc 0=PASS, 2=FAIL-verdict — both mean the canary actually executed → stamp it
+if [ $rc -eq 0 ] || [ $rc -eq 2 ]; then date -u +%Y-%m-%dT%H:%M:%SZ > "$HOME/.claude/heartbeats/live-price-canary.stamp"; fi
+exit $rc

← 5d9d562 live-price canary HARDENED (c45): retry/backoff + N=250 → UN  ·  back to Dw Yolo Loop  ·  dup-title scan (c46): 18,577 ACTIVE products share non-uniqu 074660a →