← back to Designerwallcoverings
TK-11046 WS-C: GMC price resolver must not read a tombstone row
a4b3584bbe979678780a74fe2a1048de86175f20 · 2026-09-03 12:40:30 -0700 · Steve
The mirror-fallback price lookup now excludes DELETED_FROM_SHOPIFY so a GMC price
is never resolved off a deleted product.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BbqKZLbd8emwVkNrxwtG2X
Files touched
M shopify/scripts/gmc-fixA-reprice-scan.mjs
Diff
commit a4b3584bbe979678780a74fe2a1048de86175f20
Author: Steve <steve@designerwallcoverings.com>
Date: Thu Sep 3 12:40:30 2026 -0700
TK-11046 WS-C: GMC price resolver must not read a tombstone row
The mirror-fallback price lookup now excludes DELETED_FROM_SHOPIFY so a GMC price
is never resolved off a deleted product.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BbqKZLbd8emwVkNrxwtG2X
---
shopify/scripts/gmc-fixA-reprice-scan.mjs | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/shopify/scripts/gmc-fixA-reprice-scan.mjs b/shopify/scripts/gmc-fixA-reprice-scan.mjs
index 88a1fc7..ae5fdaa 100644
--- a/shopify/scripts/gmc-fixA-reprice-scan.mjs
+++ b/shopify/scripts/gmc-fixA-reprice-scan.mjs
@@ -101,7 +101,8 @@ function resolvePrice(vendor, sku, dwSku, mfrSku) {
}
// shopify_products mirror fallback
for (const s of skus) {
- const v = parseFloat(q1(`select coalesce(retail_price,price) from shopify_products where (variant_sku='${esc(s)}' or sku='${esc(s)}' or dw_sku='${esc(s)}' or mfr_sku='${esc(s)}') and coalesce(retail_price,price) > 4.25 order by coalesce(retail_price,price) desc limit 1`));
+ // TK-11046: never resolve a GMC price off a DELETED_FROM_SHOPIFY tombstone row.
+ const v = parseFloat(q1(`select coalesce(retail_price,price) from shopify_products where (variant_sku='${esc(s)}' or sku='${esc(s)}' or dw_sku='${esc(s)}' or mfr_sku='${esc(s)}') and status is distinct from 'DELETED_FROM_SHOPIFY' and coalesce(retail_price,price) > 4.25 order by coalesce(retail_price,price) desc limit 1`));
if (isFinite(v) && v > 4.25) return { price: +v.toFixed(2), source: 'mirror.retail_price' };
}
return { price: null, reason: 'no confident price_retail > 4.25 found in catalog/mirror' };
← f84dd8b auto-data-snapshot: 2026-09-03T12:32:21 (10 data files) — sc
·
back to Designerwallcoverings
·
google-feed A2: showroom-scoped unpublish generator + hard - 4b3a65e →