← back to Suedewallpaper
suedewallpaper: title-competitor guard — drop non-niche junk (pine/marble/screen-print/beadazzled) surfaced by Cody gate (cycle 2)
8c5f1378ad808fb6341222a7a43bab028d2c087b · 2026-08-12 10:29:52 -0700 · steve
Files touched
Diff
commit 8c5f1378ad808fb6341222a7a43bab028d2c087b
Author: steve <steve@designerwallcoverings.com>
Date: Wed Aug 12 10:29:52 2026 -0700
suedewallpaper: title-competitor guard — drop non-niche junk (pine/marble/screen-print/beadazzled) surfaced by Cody gate (cycle 2)
---
server.js | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/server.js b/server.js
index 4c6d7fa..fc14ff4 100644
--- a/server.js
+++ b/server.js
@@ -90,6 +90,11 @@ const NICHE_NEG = ["solid","blank","plain","grasscloth","grass cloth","sisal","s
function nicheFit(p) {
const blob = ((p.title || '') + ' ' + (p.tags || []).join(' ')).toLowerCase();
if (NICHE_NEG.some(n => blob.includes(n.toLowerCase()))) return false;
+ // Cycle-2 title-competitor guard (Cody gate 2026-08-12): drop products whose TITLE names a
+ // non-suede material unless the title also carries the niche signal. Title-only so a
+ // stray tag cannot over-drop legit product.
+ const __t = (p.title || '').toLowerCase();
+ if (["faux marble","marble","screen printed","beadazzled","glass bead"].some(m => __t.includes(m)) && !/suede|suedine|su\u00e9dine|velvet|leather|microfiber/.test(__t)) return false;
return NICHE_POS.length === 0 || NICHE_POS.some(k => blob.includes(k.toLowerCase()));
}
// Niche-filtered view of PRODUCTS — recomputed after the async catalog load.
← c3c1b3d suedewallpaper: tighten niche filter — exclude competing-fib
·
back to Suedewallpaper
·
chore: version bump v0.1.1 (session close — niche-filter fix 65dfa11 →