[object Object]

← back to Consulting Designerwallcoverings Com

auto-save: 2026-07-26T08:11:40 (1 files) — scripts/collect-dw.mjs

4c656f46e50188ac5be5f96361309be8c0ec0bcc · 2026-07-26 08:11:44 -0700 · Steve Abrams

Files touched

Diff

commit 4c656f46e50188ac5be5f96361309be8c0ec0bcc
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Sun Jul 26 08:11:44 2026 -0700

    auto-save: 2026-07-26T08:11:40 (1 files) — scripts/collect-dw.mjs
---
 scripts/collect-dw.mjs | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/scripts/collect-dw.mjs b/scripts/collect-dw.mjs
index df494ff..97ac870 100644
--- a/scripts/collect-dw.mjs
+++ b/scripts/collect-dw.mjs
@@ -101,11 +101,15 @@ const channels = mcc?.platforms
 
 const siteList = Array.isArray(microsites) ? microsites
   : (microsites?.microsites || microsites?.sites || []);
+// Hard rule: private-label upstream / internal-only vendor names must never
+// render on any front end, gated or not — filter at the DATA layer so no
+// downstream surface (fleet chips, JSON export) can leak them.
+const FORBIDDEN = /schumacher|momentum|versa|wallquest|chesapeake|seabrook|nextwall|command54|greenland|rigo|tokiwa|justindavid|justin-david/i;
 const fleet = (Array.isArray(siteList) ? siteList : []).map(s => ({
   host: s.host || s.subdomain || s.domain || String(s.name || ''),
   products: s.products ?? s.product_count ?? s.count ?? null,
   ok: s.ok ?? s.reachable ?? null,
-})).filter(s => s.host);
+})).filter(s => s.host && !FORBIDDEN.test(s.host));
 
 const snapshot = {
   collected_at: new Date().toISOString(),
@@ -128,6 +132,17 @@ const snapshot = {
   storefront_live: !(storefront?._error) && storefront?._status !== 404,
 };
 
+// Sanity gate (contrarian fix #2): never overwrite a good snapshot with a
+// degraded one. A dead mirror or an empty channel read exits non-zero so
+// /api/refresh returns 500 instead of silently serving hollow numbers.
+if ((fiveField.active_total || 0) < 1000) {
+  console.error(JSON.stringify({ ok: false, error: 'sanity: active_total < 1000 — mirror read failed; snapshot NOT written' }));
+  process.exit(1);
+}
+if (channels.length === 0) {
+  console.error(JSON.stringify({ ok: false, error: 'sanity: 0 channels — MCC unreachable; snapshot NOT written (previous snapshot preserved)' }));
+  process.exit(1);
+}
 writeFileSync(join(OUT, 'dw-analysis.json'), JSON.stringify(snapshot, null, 2));
 console.log(JSON.stringify({
   ok: true, collected_at: snapshot.collected_at,

← f141e57 seed growth buckets with live channel state + $0 competitor  ·  back to Consulting Designerwallcoverings Com  ·  contrarian FIX-FIRST pass: data-layer forbidden-vendor filte 2c9b6e0 →