← back to Dwha Harlequin Onboard
auto-data-snapshot: 2026-08-31T11:17:15 (3 data files) — .gitignore PENDING-APPROVAL-launchd.md launchd/com.steve.dwha-onboard-daily.plist
9e7a440e1392b3d0c7153d2faf87f1bc3d27633a · 2026-08-31 11:19:36 -0700 · auto-commit-fleet
Files touched
M .gitignoreM PENDING-APPROVAL-launchd.mdM launchd/com.steve.dwha-onboard-daily.plist
Diff
commit 9e7a440e1392b3d0c7153d2faf87f1bc3d27633a
Author: auto-commit-fleet <steve@designerwallcoverings.com>
Date: Mon Aug 31 11:19:36 2026 -0700
auto-data-snapshot: 2026-08-31T11:17:15 (3 data files) — .gitignore PENDING-APPROVAL-launchd.md launchd/com.steve.dwha-onboard-daily.plist
---
.gitignore | 1 +
PENDING-APPROVAL-launchd.md | 49 ++++++++++++++++++++++++++----
launchd/com.steve.dwha-onboard-daily.plist | 4 +--
3 files changed, 46 insertions(+), 8 deletions(-)
diff --git a/.gitignore b/.gitignore
index 7d23f33..985cb5d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,6 +5,7 @@ tmp/
.DS_Store
dist/
build/
+.next/
images/
restore-maps/
data/cadence-counter.json
diff --git a/PENDING-APPROVAL-launchd.md b/PENDING-APPROVAL-launchd.md
index f941432..5d21462 100644
--- a/PENDING-APPROVAL-launchd.md
+++ b/PENDING-APPROVAL-launchd.md
@@ -1,8 +1,40 @@
-# PENDING APPROVAL: Install DWHA Harlequin Daily Onboard LaunchAgent
-**TK-10882** | Agent: vp-dw-commerce | Created: 2026-08-28 04:08 AM
+# PENDING APPROVAL: DWHA one-product canary, then daily LaunchAgent
+**TK-10882** | Agent: codex-run-10882 | Updated: 2026-08-31 11:18 AM PT
-## Action
-Install launchd plist for DWHA Harlequin 25/day onboard cadence (05:00 AM daily).
+## Gate order
+Do not install the schedule until the one-product canary creates a complete
+Shopify **DRAFT**, attaches its image, updates the local catalog row, and writes
+a restore-map. The script now fails closed on live-SKU lookup errors, skips an
+exact live SKU match, and compensating-deletes a new draft when image attach
+fails.
+
+## Step 1 — APPROVE one-product Shopify + canonical DB canary
+
+```sh
+cd ~/Projects/dwha-harlequin-onboard
+node scripts/onboard-batch.mjs --limit 1
+```
+
+Expected first candidate from the verified read-only preflight: `DWHA-570086`.
+The exact SKU was absent from Shopify on 2026-08-31. The run may choose a later
+candidate if live state changes or an earlier exact SKU already exists.
+
+Verify immediately:
+
+```sh
+npm run check
+ls -lt restore-maps | head
+tail -1 data/onboard-ledger.jsonl
+```
+
+Rollback the created canary if any verification fails:
+
+```sh
+node scripts/rollback.mjs DWHA-XXXXXX
+```
+
+## Step 2 — APPROVE schedule install only after Step 1 passes
+Install the DWHA Harlequin 25/day onboard cadence (05:00 AM daily).
```sh
cp ~/Projects/dwha-harlequin-onboard/launchd/com.steve.dwha-onboard-daily.plist \
@@ -14,7 +46,7 @@ launchctl bootstrap gui/$(id -u) \
## What it does
- Fires daily at 05:00 AM: `node scripts/onboard-batch.mjs`
-- Reads harlequin_catalog for viable rows not yet on Shopify
+- Reads viable `DWHA-*` catalog rows and checks each exact SKU live on Shopify
- Downloads images from harlequin.design CDN to local disk (cached)
- Creates 25 Shopify DRAFT products per day — never ACTIVE
- Saves restore-map per product; marks on_shopify=true in DB
@@ -34,5 +66,10 @@ $0 — local HTTP downloads + Shopify REST (no per-call cost under plan)
node ~/Projects/dwha-harlequin-onboard/scripts/rollback.mjs DWHA-XXXXXX
node ~/Projects/dwha-harlequin-onboard/scripts/rollback.mjs --all
-## APPROVE: run the cp + launchctl commands above
+Fresh read-only verification on 2026-08-31 still reports 631 READY,
+29 settlement-flagged, and 602 clean. The broader Harlequin prefix remediation
+already completed under TK-11002: mirror now has 0 ACTIVE Harlequin `DWHQ-*`
+and 39 ACTIVE `DWHF-335*`; this cadence is additionally scoped to `DWHA-*` only.
+
+## APPROVE: run Step 1; if and only if it passes, run Step 2
## BLOCK: ignore this file
diff --git a/launchd/com.steve.dwha-onboard-daily.plist b/launchd/com.steve.dwha-onboard-daily.plist
index 0508a09..a3bb165 100644
--- a/launchd/com.steve.dwha-onboard-daily.plist
+++ b/launchd/com.steve.dwha-onboard-daily.plist
@@ -7,7 +7,7 @@
<key>ProgramArguments</key>
<array>
- <string>/usr/local/bin/node</string>
+ <string>/opt/homebrew/bin/node</string>
<string>/Users/macstudio3/Projects/dwha-harlequin-onboard/scripts/onboard-batch.mjs</string>
</array>
@@ -26,7 +26,7 @@
<key>HOME</key>
<string>/Users/macstudio3</string>
<key>PATH</key>
- <string>/usr/local/bin:/usr/bin:/bin</string>
+ <string>/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin</string>
</dict>
<key>WorkingDirectory</key>
← 9d75a2e DWHA Harlequin onboard infrastructure — TK-10882
·
back to Dwha Harlequin Onboard
·
Harden DWHA onboarding before gated canary a4262a4 →