[object Object]

← back to Dw Yolo Loop

specs-reparse sizing (c32): the data exists but won't join — SKU-namespace mismatch

83eb6fab803d98419d063dcd8df3e7a9f4d1c44e · 2026-06-16 12:47:51 -0700 · Steve Abrams

Read-only sizing of council idea #1. Per-vendor *_catalog tables carry ~100%
width (+ vendor-varying material), but the live Shopify products were imported
via distributor channels (Cowtan F#/W#.CAC.0) while the catalog was scraped
vendor-direct (Clarke CCW####) — naive mfr_sku join matches ~0 (Clarke 0,
Coordonne 0, LeeJofa 1, Brunschwig 4; Gaston 55, Osborne 50). Width isn't
constant either (Coordonne bimodal 19.7in papers vs 157in murals). So the specs
gap is a SKU-crosswalk/channel-reconciliation problem, NOT a cheap DB push.

Files touched

Diff

commit 83eb6fab803d98419d063dcd8df3e7a9f4d1c44e
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Tue Jun 16 12:47:51 2026 -0700

    specs-reparse sizing (c32): the data exists but won't join — SKU-namespace mismatch
    
    Read-only sizing of council idea #1. Per-vendor *_catalog tables carry ~100%
    width (+ vendor-varying material), but the live Shopify products were imported
    via distributor channels (Cowtan F#/W#.CAC.0) while the catalog was scraped
    vendor-direct (Clarke CCW####) — naive mfr_sku join matches ~0 (Clarke 0,
    Coordonne 0, LeeJofa 1, Brunschwig 4; Gaston 55, Osborne 50). Width isn't
    constant either (Coordonne bimodal 19.7in papers vs 157in murals). So the specs
    gap is a SKU-crosswalk/channel-reconciliation problem, NOT a cheap DB push.
---
 scripts/specs-reparse-sizing/size-specs-reparse.sh | 25 ++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/scripts/specs-reparse-sizing/size-specs-reparse.sh b/scripts/specs-reparse-sizing/size-specs-reparse.sh
new file mode 100755
index 0000000..0aa1119
--- /dev/null
+++ b/scripts/specs-reparse-sizing/size-specs-reparse.sh
@@ -0,0 +1,25 @@
+#!/bin/sh
+# size-specs-reparse — cycle-32 READ-ONLY sizing of the council #1 idea
+# ("backfill specs from already-crawled data"). Answers: is the repped-vendor
+# specs gap a cheap DB->metafield push, or is it blocked? Verdict: BLOCKED by a
+# SKU-namespace mismatch — the per-vendor *_catalog tables (scraped vendor-direct,
+# e.g. Clarke CCW#### SKUs) carry ~100% width but DON'T join to the live Shopify
+# products (imported via distributor channels, e.g. Cowtan F#/W# .CAC.0 SKUs).
+# READ-ONLY. $0 (local PG mirror).
+PSQL=/opt/homebrew/opt/postgresql@14/bin/psql
+DB="postgresql:///dw_unified?host=/tmp"
+VENDORS="clarke_clarke_catalog gaston_daniela_catalog coordonne_catalog lee_jofa_catalog brunschwig_catalog osborne_catalog"
+echo "## catalog spec coverage + active-product join (mfr_sku)"
+for t in $VENDORS; do
+  $PSQL "$DB" -t -c "
+    select '$t' tbl,
+      count(*) cat_rows,
+      count(*) filter (where c.width_inches is not null) width_in_cat,
+      count(*) filter (where c.material is not null and c.material<>'') mat_in_cat,
+      count(*) filter (where s.id is not null) joins_active
+    from $t c
+    left join shopify_products s on upper(s.mfr_sku)=upper(c.mfr_sku) and s.status='ACTIVE';"
+done
+echo "## SKU namespace samples (mismatch proof)"
+echo "shopify Clarke:"; $PSQL "$DB" -t -c "select mfr_sku from shopify_products where vendor='Clarke And Clarke' and status='ACTIVE' and mfr_sku is not null limit 4;"
+echo "catalog Clarke:"; $PSQL "$DB" -t -c "select mfr_sku from clarke_clarke_catalog limit 4;"

← c79083c enrichment-board: local synthesis of c26/c28/c29/GMC into on  ·  back to Dw Yolo Loop  ·  specs pattern-crosswalk probe (c33): PARTIAL feasibility + s 150b6a1 →