[object Object]

← back to Dw Pairs Well

auto-save: 2026-06-26T11:15:12 (1 files) — server.js

e22b966e50eb4a4c2dbb1ceb0df55b6d48ee0f88 · 2026-06-26 11:15:19 -0700 · Steve Abrams

Files touched

Diff

commit e22b966e50eb4a4c2dbb1ceb0df55b6d48ee0f88
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Fri Jun 26 11:15:19 2026 -0700

    auto-save: 2026-06-26T11:15:12 (1 files) — server.js
---
 server.js | 25 ++++++++++++++++++++++++-
 1 file changed, 24 insertions(+), 1 deletion(-)

diff --git a/server.js b/server.js
index 2f19c17..860de3a 100644
--- a/server.js
+++ b/server.js
@@ -458,8 +458,31 @@ function patternIdFromMetafields(metafields) {
   }
   return null;
 }
-// THE canonical grouping key for a product row. Prod pattern_id first, else interim.
+// AUTHORITATIVE pattern_id map (dw_sku -> pid), generated by tools/pattern-id-backfill.js
+// WITH the junk-root guard applied (demotes over-merges like ::mfr::CORK / ::mfr::YORK,
+// where one pure-alpha mfr root spans 8+ distinct designs). This is the SAME key written
+// to Shopify custom.pattern_id, so the live grid/pattern-page group EXACTLY as the
+// backfilled metafield does — eliminating the backfill-vs-live divergence that surfaced
+// /pages/pattern?pattern_id=…::mfr::CORK as 16 unrelated cork designs under one tile.
+// Falls back to the interim derivation for any dw_sku not present in the map.
+const AUTH_PID = (() => {
+  try {
+    const raw = require('./tools/pattern-id-by-dwsku.json');
+    const m = new Map();
+    for (const k in raw) { const v = raw[k]; if (v && v.pid) m.set(k, v.pid); }
+    console.log(`[pattern_id] loaded ${m.size} authoritative grouping keys`);
+    return m;
+  } catch (e) {
+    console.warn('[pattern_id] authoritative map unavailable, using interim derivation:', e.message);
+    return new Map();
+  }
+})();
+
+// THE canonical grouping key for a product row. Authoritative backfilled key first
+// (junk-root-guarded), then prod metafield, else interim derivation.
 function groupKeyForRow(row) {
+  const auth = row.dw_sku && AUTH_PID.get(row.dw_sku);
+  if (auth) return auth;
   const prod = patternIdFromMetafields(row.metafields);
   if (prod) return prod;
   const vslug = gVendorSlug(row.vendor);

← fc5135e collection-grouped feed: emit color/style facets (only popul  ·  back to Dw Pairs Well  ·  auto-save: 2026-06-26T11:45:25 (1 files) — tools/pattern-id- 84cafc2 →