[object Object]

← back to Designer Wallcoverings

auto-save: 2026-06-30T15:41:34 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-06-30.json shopify/scripts/cadence/data/upload-restore-2026-06-30.jsonl shopify/scripts/cadence/run-cadence-hourly.sh

859470c82efda1b00860e041ca9cb44f334124b8 · 2026-06-30 15:41:41 -0700 · Steve Abrams

Files touched

Diff

commit 859470c82efda1b00860e041ca9cb44f334124b8
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Tue Jun 30 15:41:41 2026 -0700

    auto-save: 2026-06-30T15:41:34 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-06-30.json shopify/scripts/cadence/data/upload-restore-2026-06-30.jsonl shopify/scripts/cadence/run-cadence-hourly.sh
---
 shopify/scripts/cadence/data/cadence-cursor.json   |   2 +-
 .../cadence/data/cadence-plan-pm-2026-06-30.json   | 228 ++++++++++-----------
 .../cadence/data/upload-restore-2026-06-30.jsonl   |  15 ++
 shopify/scripts/cadence/run-cadence-hourly.sh      |  22 ++
 4 files changed, 152 insertions(+), 115 deletions(-)

diff --git a/shopify/scripts/cadence/data/cadence-cursor.json b/shopify/scripts/cadence/data/cadence-cursor.json
index c66e800d..41f4d1a4 100644
--- a/shopify/scripts/cadence/data/cadence-cursor.json
+++ b/shopify/scripts/cadence/data/cadence-cursor.json
@@ -1,5 +1,5 @@
 {
- "idx": 8,
+ "idx": 1,
  "lastSlot": "pm",
  "lastRun": "2026-06-30"
 }
\ No newline at end of file
diff --git a/shopify/scripts/cadence/data/cadence-plan-pm-2026-06-30.json b/shopify/scripts/cadence/data/cadence-plan-pm-2026-06-30.json
index 44cb3d09..724271bd 100644
--- a/shopify/scripts/cadence/data/cadence-plan-pm-2026-06-30.json
+++ b/shopify/scripts/cadence/data/cadence-plan-pm-2026-06-30.json
@@ -1,182 +1,182 @@
 [
  {
-  "vendor": "Designtex",
-  "dw_sku": "DWDX-220465",
-  "cost": 26,
-  "retail": 47.06,
+  "vendor": "Quadrille",
+  "dw_sku": "DWQC-600147",
+  "cost": 0,
+  "retail": 0,
   "sample": "4.25",
-  "sampleOnly": false,
-  "title": "Nico, Seaglass Wallcoverings | Designtex",
-  "willActivate": false
+  "sampleOnly": true,
+  "title": "Les Indiennes Multi Color, Multi Blue Salmon Red Wallcoverings | Quadrille",
+  "willActivate": true
  },
  {
-  "vendor": "Designtex",
-  "dw_sku": "DWDX-220466",
-  "cost": 26,
-  "retail": 47.06,
+  "vendor": "Quadrille",
+  "dw_sku": "DWQC-600148",
+  "cost": 0,
+  "retail": 0,
   "sample": "4.25",
-  "sampleOnly": false,
-  "title": "Nico, Ravine Wallcoverings | Designtex",
-  "willActivate": false
+  "sampleOnly": true,
+  "title": "Les Indiennes Multi Color, Multi Lilac Plum Green Wallcoverings | Quadrille",
+  "willActivate": true
  },
  {
-  "vendor": "Designtex",
-  "dw_sku": "DWDX-220467",
-  "cost": 26,
-  "retail": 47.06,
+  "vendor": "Quadrille",
+  "dw_sku": "DWQC-600149",
+  "cost": 0,
+  "retail": 0,
   "sample": "4.25",
-  "sampleOnly": false,
-  "title": "Nico, Pond Wallcoverings | Designtex",
-  "willActivate": false
+  "sampleOnly": true,
+  "title": "Les Indiennes Multi Color, Multi Brown Taupe Lilac Wallcoverings | Quadrille",
+  "willActivate": true
  },
  {
-  "vendor": "Newwall",
-  "dw_sku": "DWXW-1005261",
-  "cost": 297.6,
-  "retail": 538.64,
+  "vendor": "Alan Campbell",
+  "dw_sku": "DWAK-700148",
+  "cost": 0,
+  "retail": 0,
   "sample": "4.25",
-  "sampleOnly": false,
-  "title": "Rome Deco Charcoal, Charcoal Wallcoverings | Newwall",
+  "sampleOnly": true,
+  "title": "Navy on Tint Wallcoverings | Alan Campbell",
   "willActivate": true
  },
  {
-  "vendor": "Newwall",
-  "dw_sku": "DWXW-1005262",
-  "cost": 297.6,
-  "retail": 538.64,
+  "vendor": "Alan Campbell",
+  "dw_sku": "DWAK-700149",
+  "cost": 0,
+  "retail": 0,
   "sample": "4.25",
-  "sampleOnly": false,
-  "title": "Spiral Chaos Peach, Peach Wallcoverings | Newwall",
+  "sampleOnly": true,
+  "title": "Bali Blue on White Wallcoverings | Alan Campbell",
   "willActivate": true
  },
  {
-  "vendor": "Newwall",
-  "dw_sku": "DWXW-1005263",
-  "cost": 297.6,
-  "retail": 538.64,
+  "vendor": "Alan Campbell",
+  "dw_sku": "DWAK-700150",
+  "cost": 0,
+  "retail": 0,
   "sample": "4.25",
-  "sampleOnly": false,
-  "title": "Spiral Chaos Blue, Blue Wallcoverings | Newwall",
+  "sampleOnly": true,
+  "title": "Camel II on Tint Wallcoverings | Alan Campbell",
   "willActivate": true
  },
  {
-  "vendor": "Brewster & York",
-  "dw_sku": "DWBR-170822",
-  "cost": 90,
-  "retail": 162.9,
+  "vendor": "Home Couture",
+  "dw_sku": "DWHJ-900146",
+  "cost": 0,
+  "retail": 0,
   "sample": "4.25",
-  "sampleOnly": false,
-  "title": "Tate, Pink Wallcoverings | Malibu Wallcovering",
+  "sampleOnly": true,
+  "title": "Melon Camel on Cream Wallcoverings | Home Couture",
   "willActivate": true
  },
  {
-  "vendor": "Brewster & York",
-  "dw_sku": "DWBR-170823",
-  "cost": 90,
-  "retail": 162.9,
+  "vendor": "Home Couture",
+  "dw_sku": "DWHJ-900147",
+  "cost": 0,
+  "retail": 0,
   "sample": "4.25",
-  "sampleOnly": false,
-  "title": "Tate, Blue Wallcoverings | Malibu Wallcovering",
+  "sampleOnly": true,
+  "title": "Custom Blue on Off White Wallcoverings | Home Couture",
   "willActivate": true
  },
  {
-  "vendor": "Brewster & York",
-  "dw_sku": "DWBR-170824",
-  "cost": 90,
-  "retail": 162.9,
+  "vendor": "Home Couture",
+  "dw_sku": "DWHJ-900148",
+  "cost": 0,
+  "retail": 0,
   "sample": "4.25",
-  "sampleOnly": false,
-  "title": "Tate, Grey Wallcoverings | Malibu Wallcovering",
+  "sampleOnly": true,
+  "title": "Celadon on Off White Wallcoverings | Home Couture",
   "willActivate": true
  },
  {
-  "vendor": "Kravet",
-  "dw_sku": "DWKK-102862",
-  "cost": 60.45,
-  "retail": 90.67,
+  "vendor": "Suncloth",
+  "dw_sku": "DWUX-800149",
+  "cost": 0,
+  "retail": 0,
   "sample": "4.25",
-  "sampleOnly": false,
-  "title": "Kravet Smart, Beige Wallcoverings | Kravet",
-  "willActivate": true
+  "sampleOnly": true,
+  "title": "Watermelon on White Wallcoverings | Suncloth",
+  "willActivate": false
  },
  {
-  "vendor": "Kravet",
-  "dw_sku": "DWKK-102863",
-  "cost": 60.45,
-  "retail": 90.67,
+  "vendor": "Suncloth",
+  "dw_sku": "DWUX-800150",
+  "cost": 0,
+  "retail": 0,
   "sample": "4.25",
-  "sampleOnly": false,
-  "title": "Kravet Smart, Beige Wallcoverings | Kravet",
-  "willActivate": true
+  "sampleOnly": true,
+  "title": "Navy on White Wallcoverings | Suncloth",
+  "willActivate": false
  },
  {
-  "vendor": "Kravet",
-  "dw_sku": "DWKK-102864",
-  "cost": 60.45,
-  "retail": 90.67,
+  "vendor": "Suncloth",
+  "dw_sku": "DWUX-800151",
+  "cost": 0,
+  "retail": 0,
   "sample": "4.25",
-  "sampleOnly": false,
-  "title": "Kravet Smart, Off-White Wallcoverings | Kravet",
-  "willActivate": true
+  "sampleOnly": true,
+  "title": "Camel on White Wallcoverings | Suncloth",
+  "willActivate": false
  },
  {
-  "vendor": "Schumacher",
-  "dw_sku": "DWLK-806670",
-  "cost": 178,
-  "retail": 322.17,
+  "vendor": "Plains",
+  "dw_sku": "DWYP-1000146",
+  "cost": 0,
+  "retail": 0,
   "sample": "4.25",
-  "sampleOnly": false,
-  "title": "Ziz Embroidered Sisal, Neutral Wallcoverings | Schumacher",
-  "willActivate": true
+  "sampleOnly": true,
+  "title": "Turquoise Wallcoverings | Plains",
+  "willActivate": false
  },
  {
-  "vendor": "Schumacher",
-  "dw_sku": "DWLK-806680",
-  "cost": 178,
-  "retail": 322.17,
+  "vendor": "Plains",
+  "dw_sku": "DWYP-1000147",
+  "cost": 0,
+  "retail": 0,
   "sample": "4.25",
-  "sampleOnly": false,
-  "title": "Ziz Embroidered Sisal, Mineral Wallcoverings | Schumacher",
-  "willActivate": true
+  "sampleOnly": true,
+  "title": "Chartreuse Wallcoverings | Plains",
+  "willActivate": false
  },
  {
-  "vendor": "Schumacher",
-  "dw_sku": "DWLK-806690",
-  "cost": 68,
-  "retail": 123.08,
+  "vendor": "Plains",
+  "dw_sku": "DWYP-1000148",
+  "cost": 0,
+  "retail": 0,
   "sample": "4.25",
-  "sampleOnly": false,
-  "title": "Toile Tropique, Gold Wallcoverings | Schumacher",
-  "willActivate": true
+  "sampleOnly": true,
+  "title": "Siena Wallcoverings | Plains",
+  "willActivate": false
  },
  {
-  "vendor": "Anna French",
-  "dw_sku": "DWAT-65131",
-  "cost": 31.56,
-  "retail": 57.12,
+  "vendor": "Romo",
+  "dw_sku": "DWRM-240167",
+  "cost": 1364,
+  "retail": 2468.78,
   "sample": "4.25",
   "sampleOnly": false,
-  "title": "Cloud 9, Gold on Pearl Wallcoverings | Anna French",
+  "title": "Bakbak, Indigo Wallcoverings | Romo",
   "willActivate": true
  },
  {
-  "vendor": "Anna French",
-  "dw_sku": "DWAT-65132",
-  "cost": 30.73,
-  "retail": 55.62,
+  "vendor": "Romo",
+  "dw_sku": "DWRM-240187",
+  "cost": 490.6,
+  "retail": 887.96,
   "sample": "4.25",
   "sampleOnly": false,
-  "title": "Cloud 9, Flax on Pearl Wallcoverings | Anna French",
+  "title": "Suru, Typhoon Wallcoverings | Romo",
   "willActivate": true
  },
  {
-  "vendor": "Anna French",
-  "dw_sku": "DWAT-65133",
-  "cost": 30.82,
-  "retail": 55.78,
+  "vendor": "Romo",
+  "dw_sku": "DWRM-240194",
+  "cost": 451,
+  "retail": 816.29,
   "sample": "4.25",
   "sampleOnly": false,
-  "title": "Cloud 9, Blue on Pearl Wallcoverings | Anna French",
+  "title": "Palm, Harvest Wallcoverings | Romo",
   "willActivate": true
  }
 ]
\ No newline at end of file
diff --git a/shopify/scripts/cadence/data/upload-restore-2026-06-30.jsonl b/shopify/scripts/cadence/data/upload-restore-2026-06-30.jsonl
index cdbd3009..3a0c15e2 100644
--- a/shopify/scripts/cadence/data/upload-restore-2026-06-30.jsonl
+++ b/shopify/scripts/cadence/data/upload-restore-2026-06-30.jsonl
@@ -344,3 +344,18 @@
 {"table":"anna_french_catalog","mfr_sku":"AT16160","dw_sku":"DWAT-65131","shopify_product_id":"7871873581107","action":"created","activated":true,"published":true,"sampleOnly":false,"status":"ACTIVE","batch_id":"upload-pm-2026-06-30T21-40-00-281Z","ts":"2026-06-30T21:41:00.360Z"}
 {"table":"anna_french_catalog","mfr_sku":"AT16161","dw_sku":"DWAT-65132","shopify_product_id":"7871873613875","action":"created","activated":true,"published":true,"sampleOnly":false,"status":"ACTIVE","batch_id":"upload-pm-2026-06-30T21-40-00-281Z","ts":"2026-06-30T21:41:04.177Z"}
 {"table":"anna_french_catalog","mfr_sku":"AT16162","dw_sku":"DWAT-65133","shopify_product_id":"7871873646643","action":"created","activated":true,"published":true,"sampleOnly":false,"status":"ACTIVE","batch_id":"upload-pm-2026-06-30T21-40-00-281Z","ts":"2026-06-30T21:41:07.838Z"}
+{"table":"quadrille_house_catalog","mfr_sku":"302654F","dw_sku":"DWQC-600147","shopify_product_id":"7871917031475","action":"created","activated":true,"published":true,"sampleOnly":true,"status":"ACTIVE","batch_id":"upload-pm-2026-06-30T22-40-02-239Z","ts":"2026-06-30T22:40:07.911Z"}
+{"table":"quadrille_house_catalog","mfr_sku":"302652F","dw_sku":"DWQC-600148","shopify_product_id":"7871917097011","action":"created","activated":true,"published":true,"sampleOnly":true,"status":"ACTIVE","batch_id":"upload-pm-2026-06-30T22-40-02-239Z","ts":"2026-06-30T22:40:11.768Z"}
+{"table":"quadrille_house_catalog","mfr_sku":"302653F","dw_sku":"DWQC-600149","shopify_product_id":"7871917129779","action":"created","activated":true,"published":true,"sampleOnly":true,"status":"ACTIVE","batch_id":"upload-pm-2026-06-30T22-40-02-239Z","ts":"2026-06-30T22:40:15.097Z"}
+{"table":"quadrille_house_catalog","mfr_sku":"AC104-40","dw_sku":"DWAK-700148","shopify_product_id":"7871917195315","action":"created","activated":true,"published":true,"sampleOnly":true,"status":"ACTIVE","batch_id":"upload-pm-2026-06-30T22-40-02-239Z","ts":"2026-06-30T22:40:19.177Z"}
+{"table":"quadrille_house_catalog","mfr_sku":"AC104-41","dw_sku":"DWAK-700149","shopify_product_id":"7871917260851","action":"created","activated":true,"published":true,"sampleOnly":true,"status":"ACTIVE","batch_id":"upload-pm-2026-06-30T22-40-02-239Z","ts":"2026-06-30T22:40:22.598Z"}
+{"table":"quadrille_house_catalog","mfr_sku":"AC104-35","dw_sku":"DWAK-700150","shopify_product_id":"7871917424691","action":"created","activated":true,"published":true,"sampleOnly":true,"status":"ACTIVE","batch_id":"upload-pm-2026-06-30T22-40-02-239Z","ts":"2026-06-30T22:40:25.971Z"}
+{"table":"quadrille_house_catalog","mfr_sku":"HC1700C-03","dw_sku":"DWHJ-900146","shopify_product_id":"7871917686835","action":"created","activated":true,"published":true,"sampleOnly":true,"status":"ACTIVE","batch_id":"upload-pm-2026-06-30T22-40-02-239Z","ts":"2026-06-30T22:40:29.566Z"}
+{"table":"quadrille_house_catalog","mfr_sku":"HC1236W","dw_sku":"DWHJ-900147","shopify_product_id":"7871917948979","action":"created","activated":true,"published":true,"sampleOnly":true,"status":"ACTIVE","batch_id":"upload-pm-2026-06-30T22-40-02-239Z","ts":"2026-06-30T22:40:33.404Z"}
+{"table":"quadrille_house_catalog","mfr_sku":"HC1230W-10","dw_sku":"DWHJ-900148","shopify_product_id":"7871918211123","action":"created","activated":true,"published":true,"sampleOnly":true,"status":"ACTIVE","batch_id":"upload-pm-2026-06-30T22-40-02-239Z","ts":"2026-06-30T22:40:37.248Z"}
+{"table":"quadrille_house_catalog","mfr_sku":"6460-08SUN","dw_sku":"DWUX-800149","shopify_product_id":"7871918243891","action":"created","activated":false,"published":false,"sampleOnly":true,"status":"DRAFT","batch_id":"upload-pm-2026-06-30T22-40-02-239Z","ts":"2026-06-30T22:40:39.283Z"}
+{"table":"quadrille_house_catalog","mfr_sku":"6460SU-109","dw_sku":"DWUX-800150","shopify_product_id":"7871918309427","action":"created","activated":false,"published":false,"sampleOnly":true,"status":"DRAFT","batch_id":"upload-pm-2026-06-30T22-40-02-239Z","ts":"2026-06-30T22:40:41.277Z"}
+{"table":"quadrille_house_catalog","mfr_sku":"6460SU-107","dw_sku":"DWUX-800151","shopify_product_id":"7871918342195","action":"created","activated":false,"published":false,"sampleOnly":true,"status":"DRAFT","batch_id":"upload-pm-2026-06-30T22-40-02-239Z","ts":"2026-06-30T22:40:43.169Z"}
+{"table":"quadrille_house_catalog","mfr_sku":"6200-06","dw_sku":"DWYP-1000146","shopify_product_id":"7871918374963","action":"created","activated":false,"published":false,"sampleOnly":true,"status":"DRAFT","batch_id":"upload-pm-2026-06-30T22-40-02-239Z","ts":"2026-06-30T22:40:45.173Z"}
+{"table":"quadrille_house_catalog","mfr_sku":"6200-09","dw_sku":"DWYP-1000147","shopify_product_id":"7871918473267","action":"created","activated":false,"published":false,"sampleOnly":true,"status":"DRAFT","batch_id":"upload-pm-2026-06-30T22-40-02-239Z","ts":"2026-06-30T22:40:47.093Z"}
+{"table":"quadrille_house_catalog","mfr_sku":"6200-16","dw_sku":"DWYP-1000148","shopify_product_id":"7871918538803","action":"created","activated":false,"published":false,"sampleOnly":true,"status":"DRAFT","batch_id":"upload-pm-2026-06-30T22-40-02-239Z","ts":"2026-06-30T22:40:49.026Z"}
diff --git a/shopify/scripts/cadence/run-cadence-hourly.sh b/shopify/scripts/cadence/run-cadence-hourly.sh
index c9629ebf..eabb3858 100755
--- a/shopify/scripts/cadence/run-cadence-hourly.sh
+++ b/shopify/scripts/cadence/run-cadence-hourly.sh
@@ -103,6 +103,28 @@ if [ "${CREATED:-0}" -gt 0 ]; then
   bash "$(dirname "$0")/slack-notify.sh" "📦 DW all-day uploader · slot ${SLOT} $(date '+%a %H:%M') — ${SUMMARY}" || true
 fi
 
+# ── once-daily extras (Steve 2026-06-30: "5 new RW SKUs/day focusing on murals + 10/day for Osborne") ──
+# Runs once per local day even though this script fires hourly (per-component date-stamped markers).
+# Both are budget-coordinated and non-fatal — a failure never aborts the hourly uploader. Reversible:
+# delete this block. RW is 100% murals (per-m² pipeline); Osborne is a normal cost vendor (--only).
+RW_MARK="/tmp/dw-rw-daily-$(date +%Y%m%d).done"
+OZ_MARK="/tmp/dw-osborne-daily-$(date +%Y%m%d).done"
+if [ ! -f "$RW_MARK" ]; then
+  echo "── once-daily: Rebel Walls 5 murals ──"
+  bash "$HOME/Projects/rebel-walls-push/scripts/cadence-daily-step.sh" --commit && touch "$RW_MARK" || echo "RW daily step failed (non-fatal)"
+fi
+if [ ! -f "$OZ_MARK" ]; then
+  echo "── once-daily: Osborne 10 ──"
+  # 10 products × 2 variants; take is leftover-aware so it returns 0 when the cap is exhausted.
+  OZG=$(node "$BUDGET" take upload 20 2>/dev/null || echo 20); OZP=$(( OZG / 2 )); [ "$OZP" -gt 10 ] && OZP=10
+  if [ "$OZP" -ge 1 ]; then
+    OZOUT=$(node scripts/cadence/cadence-import.js --only Osborne --vendors 1 --skus "$OZP" --max "$OZP" --activate --commit 2>&1); echo "$OZOUT"
+    OZC=$(printf '%s' "$OZOUT" | grep -oE 'CREATED [0-9]+' | grep -oE '[0-9]+' | tail -1)
+    OZREF=$(( OZG - ${OZC:-0} * 2 )); [ "$OZREF" -gt 0 ] && node "$BUDGET" refund upload "$OZREF" >/dev/null 2>&1
+    touch "$OZ_MARK"
+  else echo "no budget for Osborne daily this slot — retry next slot"; fi
+fi
+
 # ── post-cadence inventory sweep (Steve 2026-06-20: "schedule it to run after each cadence run") ──
 # Safety-net the new-products-inventory-2026 rule: ensure the newest 1000 products have BOTH
 # variants tracked + on_hand=2026. cadence-import --activate already does this for products it

← 73d6e54b auto-save: 2026-06-30T14:41:08 (5 files) — pending-approval/  ·  back to Designer Wallcoverings  ·  Wire Phillip Jeffries into cadence as gated 10/day DRAFT-onl 289f3d9a →