← back to Dw Yolo Loop
Google feed twin: hard-exclude showroom-only vendors via isShowroomVendor (TK-11186)
ea0eaeeebd90e668d622ff1f4e7ac9b79b2397f9 · 2026-09-03 11:21:05 -0700 · Steve Abrams
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BgCcr9t5zNGdb43pS4f1ks
Files touched
M scripts/google-feed/feed-eligibility.mjs
Diff
commit ea0eaeeebd90e668d622ff1f4e7ac9b79b2397f9
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Thu Sep 3 11:21:05 2026 -0700
Google feed twin: hard-exclude showroom-only vendors via isShowroomVendor (TK-11186)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BgCcr9t5zNGdb43pS4f1ks
---
scripts/google-feed/feed-eligibility.mjs | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/scripts/google-feed/feed-eligibility.mjs b/scripts/google-feed/feed-eligibility.mjs
index 22cc9be..55565d1 100644
--- a/scripts/google-feed/feed-eligibility.mjs
+++ b/scripts/google-feed/feed-eligibility.mjs
@@ -21,6 +21,11 @@
*/
import fs from 'node:fs';
import path from 'node:path';
+import { createRequire } from 'node:module';
+// Canonical showroom-vendor primitive (list + logic live in fix-live-board/config).
+// Never hardcode a vendor name here — edit showroom-vendors.json to change the set. TK-11186.
+const require = createRequire(import.meta.url);
+const { isShowroomVendor } = require(process.env.HOME + '/Projects/fix-live-board/config/showroom-vendor.cjs');
const SHOP = 'designer-laboratory-sandbox.myshopify.com';
const VER = '2024-10';
@@ -127,6 +132,11 @@ function evaluate(p) {
const width = (p.widthGlobal?.value || p.widthCustom?.value || p.widthDwc?.value || '').trim();
// ---- hard gates (exclude) ----
+ // Showroom-only vendors (e.g. Phillip Jeffries) are addressable-but-not-discoverable —
+ // hard-exclude them from the Google feed regardless of price. PJ is sample-only ($4.25)
+ // today so it's excluded incidentally, but a future >$5 / roll-priced PJ variant would
+ // otherwise leak into the feed. Keyed off showroom-vendors.json via the shared primitive. TK-11186.
+ if (isShowroomVendor(p.vendor)) reasons.push('showroom_only_addressable_not_discoverable');
if (!hasImg) reasons.push('no_image');
if (rollPrice == null) reasons.push('no_roll_variant_price');
else if (rollPrice < FLOOR) reasons.push(`roll_price_below_floor_${rollPrice}`);
← 69ecd60 refresh GMC leak guard heartbeat
·
back to Dw Yolo Loop
·
TK-11186: trending-tag-sync twin — guard showroom-only vendo 20ab7b0 →