[object Object]

← back to Raffiawallcoverings

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

9cef77e516ff7567ce0114d7a1c60227ac555fa6 · 2026-08-12 10:29:45 -0700 · steve

Files touched

Diff

commit 9cef77e516ff7567ce0114d7a1c60227ac555fa6
Author: steve <steve@designerwallcoverings.com>
Date:   Wed Aug 12 10:29:45 2026 -0700

    raffiawallcoverings: 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 0876ea0..59f8a90 100644
--- a/server.js
+++ b/server.js
@@ -91,6 +91,11 @@ const NICHE_NEG = ["solid","blank","plain","silk","mica","mylar","cork","linen",
 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-raffia 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 (["beadazzled","glass bead","faux marble","marble"].some(m => __t.includes(m)) && !/raffia|palm|madagascar|grass|weave|woven|loom|tropical|natural/.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.

← 567628b raffiawallcoverings: tighten niche filter — exclude competin  ·  back to Raffiawallcoverings  ·  chore: version bump v0.1.1 (session close — niche-filter fix b18457a →