← 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
M scripts/fetch-new-arrivals.mjsM scripts/novasuede-cron-run.sh
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 →