← back to Wolfgordon Crawl
Add Phase-2 resumable daily-push.sh driver + launchd plist (11:00 AM)
d88890b37715e12cf1f8c9919c5c97b5f5129adf · 2026-06-19 10:21:22 -0700 · Steve
Files touched
A com.steve.wolfgordon-daily-push.plistA daily-push.sh
Diff
commit d88890b37715e12cf1f8c9919c5c97b5f5129adf
Author: Steve <steve@designerwallcoverings.com>
Date: Fri Jun 19 10:21:22 2026 -0700
Add Phase-2 resumable daily-push.sh driver + launchd plist (11:00 AM)
---
com.steve.wolfgordon-daily-push.plist | 34 ++++++++++++++++++++++++++++++++++
daily-push.sh | 34 ++++++++++++++++++++++++++++++++++
2 files changed, 68 insertions(+)
diff --git a/com.steve.wolfgordon-daily-push.plist b/com.steve.wolfgordon-daily-push.plist
new file mode 100644
index 0000000..cf24e64
--- /dev/null
+++ b/com.steve.wolfgordon-daily-push.plist
@@ -0,0 +1,34 @@
+<?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.wolfgordon-daily-push</string>
+
+ <key>ProgramArguments</key>
+ <array>
+ <string>/bin/bash</string>
+ <string>/Users/stevestudio2/Projects/wolfgordon-crawl/daily-push.sh</string>
+ </array>
+
+ <!-- Run daily at 11:00 AM. -->
+ <key>StartCalendarInterval</key>
+ <dict>
+ <key>Hour</key>
+ <integer>11</integer>
+ <key>Minute</key>
+ <integer>0</integer>
+ </dict>
+
+ <key>WorkingDirectory</key>
+ <string>/Users/stevestudio2/Projects/wolfgordon-crawl</string>
+
+ <key>StandardOutPath</key>
+ <string>/Users/stevestudio2/Projects/wolfgordon-crawl/logs/launchd-daily-push.out.log</string>
+ <key>StandardErrorPath</key>
+ <string>/Users/stevestudio2/Projects/wolfgordon-crawl/logs/launchd-daily-push.err.log</string>
+
+ <key>RunAtLoad</key>
+ <false/>
+</dict>
+</plist>
diff --git a/daily-push.sh b/daily-push.sh
new file mode 100755
index 0000000..b779ea9
--- /dev/null
+++ b/daily-push.sh
@@ -0,0 +1,34 @@
+#!/usr/bin/env bash
+# ============================================================================
+# Wolf Gordon Phase-2 daily new-product driver (resumable, idempotent-by-SKU).
+#
+# Creates up to MAX net-new WG products/day (each = 2 variants: Yard + Sample)
+# staggered under Shopify's 1,000-variant/day cap. push-shopify.js is
+# idempotent-by-SKU + has a legacy-peer guard, so it ONLY ever creates rows
+# that aren't already on the store — safe to run every day until the catalog
+# is fully onboarded. The pusher defers gracefully on VARIANT_THROTTLE_EXCEEDED.
+#
+# Manual run: bash daily-push.sh
+# Launchd runs it ~11:00 AM daily (see com.steve.wolfgordon-daily-push.plist).
+# ============================================================================
+set -euo pipefail
+
+REPO="$HOME/Projects/wolfgordon-crawl"
+cd "$REPO"
+
+# 480 products = 960 variants/day, comfortably under the 1k cap.
+MAX="${WG_DAILY_MAX:-480}"
+LOG="$REPO/logs/daily-push-$(date +%Y%m%d-%H%M%S).log"
+mkdir -p "$REPO/logs"
+
+# Prefer Homebrew node (launchd PATH is minimal).
+export PATH="/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin:$PATH"
+
+{
+ echo "=== Wolf Gordon daily Phase-2 push — $(date) ==="
+ node push-shopify.js --new-only --max "$MAX" --apply
+ echo "=== done — $(date) ==="
+} >> "$LOG" 2>&1
+
+# Surface the tail so a foreground run still shows the result.
+tail -n 20 "$LOG"
← 4be3ecc Add --phase1 (variant-free update+archive) + --new-only/--ma
·
back to Wolfgordon Crawl
·
Fix image extraction: capture both CDN paths (/production/im 79044e4 →