[object Object]

← back to Mylarwallpaper

mylarwallpaper: title-competitor guard — drop non-niche junk (pine/marble/screen-print/beadazzled) surfaced by Cody gate (cycle 2)

3a2fa45bbf4a5955200c87786015069b44c28b3d · 2026-08-12 10:29:37 -0700 · steve

Files touched

Diff

commit 3a2fa45bbf4a5955200c87786015069b44c28b3d
Author: steve <steve@designerwallcoverings.com>
Date:   Wed Aug 12 10:29:37 2026 -0700

    mylarwallpaper: 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 0dfaf2b..0546f24 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-mylar 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 (["pine","wood veneer","faux marble","marble","bamboo"].some(m => __t.includes(m)) && !/mylar|foil|metallic|reflective|holographic/.test(__t)) return false;
   return NICHE_POS.length === 0 || NICHE_POS.some(k => blob.includes(k.toLowerCase()));
 }
 // Niche-filtered slice — recomputed inside the async startup IIFE.

← 11288a7 mylarwallpaper: tighten niche filter — exclude competing-fib  ·  back to Mylarwallpaper  ·  chore: version bump v0.1.1 (session close — niche-filter fix 0ee41f7 →