[object Object]

← back to Dw Marketing Reels

TK-11086: kill novasuede auto-posting to DW network — exclude Novasuede from nightly new-arrivals reel feed + disarm novasuede-color-post wrapper

58acd0e3e7092e31e84c383e59277708f638d13c · 2026-09-01 17:11:51 -0700 · Steve Abrams

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

Files touched

Diff

commit 58acd0e3e7092e31e84c383e59277708f638d13c
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Tue Sep 1 17:11:51 2026 -0700

    TK-11086: kill novasuede auto-posting to DW network — exclude Novasuede from nightly new-arrivals reel feed + disarm novasuede-color-post wrapper
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---
 scripts/fetch-new-arrivals.mjs |  7 ++++++-
 scripts/novasuede-cron-run.sh  | 10 +++++++++-
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/scripts/fetch-new-arrivals.mjs b/scripts/fetch-new-arrivals.mjs
index a75fcd7..cb99ef3 100644
--- a/scripts/fetch-new-arrivals.mjs
+++ b/scripts/fetch-new-arrivals.mjs
@@ -83,7 +83,12 @@ async function main() {
     })
     .filter(x => x.image)                                  // a reel frame needs an image
     .filter(x => !NON_PRODUCT.test(x.title))               // no swatch/sample books
-    .filter(x => !LEAK_DENY.test(x.vendor) && !LEAK_DENY.test(x.title)); // no private-label upstream leaks
+    .filter(x => !LEAK_DENY.test(x.vendor) && !LEAK_DENY.test(x.title)) // no private-label upstream leaks
+    // TK-11086 (Steve 2026-09-01): NO Novasuede in the nightly DW/new-arrivals reel+post feed.
+    // "kill any posts of novasuede to designerwallcoverings websites. no overnight reels etc."
+    // Excludes any Novasuede (DWNS-*) item so it can never enter the auto-posted reel that captions
+    // "shop the collection at designerwallcoverings.com". Reversible: delete this one filter line.
+    .filter(x => !/novasuede/i.test(x.title) && !/novasuede/i.test(x.vendor) && !/^DWNS-/i.test((x.sku || '')));
 
   if (VENDOR) items = items.filter(x => (x.vendor || '').toLowerCase() === VENDOR.toLowerCase());
   if (TITLE_MATCH) items = items.filter(x => TITLE_MATCH.test(x.title));
diff --git a/scripts/novasuede-cron-run.sh b/scripts/novasuede-cron-run.sh
index 03db29a..a4a2548 100644
--- a/scripts/novasuede-cron-run.sh
+++ b/scripts/novasuede-cron-run.sh
@@ -10,8 +10,16 @@ mkdir -p "$HOME/.claude/logs"
 LOG="$HOME/.claude/logs/novasuede-cron.log"
 echo "[$(date -u +%FT%TZ)] novasuede drop START" >> "$LOG"
 
+# TK-11086 (Steve 2026-09-01): DISARMED. Steve killed novasuede auto-posting to the DW network
+# ("kill any posts of novasuede to designerwallcoverings websites. no overnight reels etc.").
+# This wrapper is now a no-op posting-wise: NS_POST=0 = build-only, never live-posts. It also
+# hard-exits before doing anything so a re-loaded launchd job cannot resurrect the drop.
+echo "[$(date -u +%FT%TZ)] novasuede drop DISABLED by TK-11086 — no posting. exiting." >> "$LOG"
+exit 0
+# --- original armed line kept for one-line reversal (Steve re-arms by removing the exit 0 above
+#     and restoring NS_POST=1) ---
 # ARMED fan-post (novasuede skips until its creds land). NS_POST=1 = live.
-NS_POST=1 node scripts/novasuede-run-all.mjs >> "$LOG" 2>&1 || { echo "[$(date -u +%FT%TZ)] run FAILED" >> "$LOG"; exit 1; }
+NS_POST=0 node scripts/novasuede-run-all.mjs >> "$LOG" 2>&1 || { echo "[$(date -u +%FT%TZ)] run FAILED" >> "$LOG"; exit 1; }
 
 # publish-result gate: fail loud (visible in launchd) if NO account posted this drop.
 node -e '

← 5b23029 auto-data-snapshot: 2026-09-01T07:13:20 (3 data files) — dat  ·  back to Dw Marketing Reels  ·  auto-data-snapshot: 2026-09-02T07:10:19 (3 data files) — dat aca98b5 →