← 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 →