← back to Maya Width Fix
TK-11029 phase2: recover 17 multi-width Maya widths (verified vendor multi-width strings); 2 cozy 404s left needs-rep; reversible restore-map
939743363e53596c928c855c186ce4c0dcf5fcca · 2026-08-31 11:04:45 -0700 · Steve Abrams
Files touched
A backfill-multiwidth.pyA restore-map-multiwidth-2026-08-31T11-04-03.257729.jsonA restore-map-multiwidth-2026-08-31T11-04-09.472171.json
Diff
commit 939743363e53596c928c855c186ce4c0dcf5fcca
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Mon Aug 31 11:04:45 2026 -0700
TK-11029 phase2: recover 17 multi-width Maya widths (verified vendor multi-width strings); 2 cozy 404s left needs-rep; reversible restore-map
---
backfill-multiwidth.py | 92 ++++++++
...-map-multiwidth-2026-08-31T11-04-03.257729.json | 257 +++++++++++++++++++++
...-map-multiwidth-2026-08-31T11-04-09.472171.json | 257 +++++++++++++++++++++
3 files changed, 606 insertions(+)
diff --git a/backfill-multiwidth.py b/backfill-multiwidth.py
new file mode 100644
index 0000000..044ab85
--- /dev/null
+++ b/backfill-multiwidth.py
@@ -0,0 +1,92 @@
+#!/usr/bin/env python3
+"""
+TK-11029 phase 2: recover the 16 multi-width Maya rows still polluted with the
+'=device-width...' placeholder. Verified $0 fetch of the vendor collection pages
+shows each of these patterns is genuinely offered in TWO roll widths and EVERY
+colorway is available in BOTH — width is a pattern-level attribute, not per-SKU.
+So we store the vendor's REAL verified full multi-width string (accurate, not a
+guess). The 2 x 404 collections (cozy-nestle, cozy-bed-fellow) are truly gone
+from Maya's site -> left polluted-flagged, needs rep/PDF (Steve's rule: no guess).
+
+Reversible: writes a restore-map (old value per dw_sku) BEFORE any UPDATE.
+"""
+import json, subprocess, re, datetime, sys, os
+
+PSQL = ["psql", "-h", "/tmp", "-d", "dw_unified", "-At", "-F", "\t"]
+HERE = os.path.dirname(os.path.abspath(__file__))
+
+# Vendor's REAL verified width text, captured from the live collection pages
+# (curl $0, HTTP 200, specs-table "Width" row) 2026-08-31.
+COLLECTION_WIDTH = {
+ "entwine-inlet-linen": '27" Width Approx. 27 in untrimmed (68.6 cm); 54" Width Approx. 54 in untrimmed (137.2 cm)',
+ "entwine-serene-silk": '27" Width Approx. 27 in untrimmed (68.6 cm); 54" Width Approx. 54 in untrimmed (137.2 cm)',
+ "wisping-weaves-montauk": '27" untrimmed (68.6 cm), 6.75 sq ft/yd (0.63 sq m/yd); 54" untrimmed (137.2 cm), 13.5 sq ft/yd (1.25 sq m/yd)',
+ "ajiro-sunburst": '15" Width Approx. 30 in untrimmed (76.2 cm); 18" Width Approx. 36 in untrimmed (91.4 cm)',
+}
+# These stay polluted (truly discontinued, 404, no web width):
+STILL_UNKNOWN_SLUGS = {"cozy-nestle", "cozy-bed-fellow"}
+
+def q(sql):
+ r = subprocess.run(PSQL + ["-c", sql], capture_output=True, text=True)
+ if r.returncode != 0:
+ print("SQL ERR:", r.stderr); sys.exit(1)
+ return [line.split("\t") for line in r.stdout.strip().split("\n") if line]
+
+def esc(s): return s.replace("'", "''")
+
+APPLY = "--apply" in sys.argv
+
+rows = q("""SELECT dw_sku, mfr_sku, width, coalesce(width_inches::text,''),
+ split_part(product_url,'/collections/',2)
+ FROM maya_catalog WHERE width LIKE '%device-width%' ORDER BY dw_sku""")
+
+restore, updates, unknown = [], [], []
+for dw_sku, mfr_sku, old_w, old_wi, slug in rows:
+ if slug in COLLECTION_WIDTH:
+ new_w = COLLECTION_WIDTH[slug]
+ # multi-width => no single width_inches; leave NULL (ambiguous by design)
+ restore.append({"dw_sku": dw_sku, "mfr_sku": mfr_sku, "slug": slug,
+ "old_width": old_w, "old_width_inches": old_wi})
+ updates.append({"dw_sku": dw_sku, "slug": slug, "new_width": new_w,
+ "new_width_inches": None})
+ else:
+ unknown.append({"dw_sku": dw_sku, "mfr_sku": mfr_sku, "slug": slug,
+ "reason": "collection 404 / discontinued on mayaromanoff.com; needs Maya rep/PDF"})
+
+ts = datetime.datetime.now().isoformat()
+rm = {"ts": ts, "ticket": "TK-11029", "phase": "2-multiwidth",
+ "table": "maya_catalog", "column": "width,width_inches",
+ "polluted_string": '=device-width, initial-scale=1">',
+ "total_polluted_before": len(rows), "to_fix": len(updates),
+ "still_unknown": len(unknown),
+ "restore_map": restore, "updates_planned": updates,
+ "still_unknown_rows": unknown,
+ "collection_widths": COLLECTION_WIDTH,
+ "note": "multi-width patterns: each colorway offered in BOTH widths; storing the "
+ "vendor's real verified multi-width string (accurate, not a guess). "
+ "width_inches left NULL (no single width). cozy-nestle/cozy-bed-fellow "
+ "404 on vendor site -> left polluted, needs rep."}
+path = os.path.join(HERE, f"restore-map-multiwidth-{ts.replace(':','-')}.json")
+json.dump(rm, open(path, "w"), indent=2)
+print("RESTORE-MAP:", path)
+print(f"total_polluted={len(rows)} to_fix={len(updates)} still_unknown={len(unknown)}")
+
+if not APPLY:
+ print("\nDRY-RUN (no --apply). Planned updates:")
+ for u in updates:
+ print(f" {u['dw_sku']:12s} [{u['slug']}] -> {u['new_width'][:60]}...")
+ print("\nStill-unknown (left polluted):")
+ for u in unknown:
+ print(f" {u['dw_sku']:12s} {u['mfr_sku']:12s} [{u['slug']}]")
+ sys.exit(0)
+
+n = 0
+for u in updates:
+ sql = (f"UPDATE maya_catalog SET width='{esc(u['new_width'])}', "
+ f"width_inches=NULL, updated_at=now() "
+ f"WHERE dw_sku='{esc(u['dw_sku'])}' AND width LIKE '%device-width%';")
+ r = subprocess.run(PSQL + ["-c", sql], capture_output=True, text=True)
+ if r.returncode != 0:
+ print("UPDATE ERR", u['dw_sku'], r.stderr); sys.exit(1)
+ n += 1
+print(f"APPLIED {n} row updates")
diff --git a/restore-map-multiwidth-2026-08-31T11-04-03.257729.json b/restore-map-multiwidth-2026-08-31T11-04-03.257729.json
new file mode 100644
index 0000000..4e2a560
--- /dev/null
+++ b/restore-map-multiwidth-2026-08-31T11-04-03.257729.json
@@ -0,0 +1,257 @@
+{
+ "ts": "2026-08-31T11:04:03.257729",
+ "ticket": "TK-11029",
+ "phase": "2-multiwidth",
+ "table": "maya_catalog",
+ "column": "width,width_inches",
+ "polluted_string": "=device-width, initial-scale=1\">",
+ "total_polluted_before": 19,
+ "to_fix": 17,
+ "still_unknown": 2,
+ "restore_map": [
+ {
+ "dw_sku": "DWMR-80016",
+ "mfr_sku": "MR-AS-3055-S",
+ "slug": "ajiro-sunburst",
+ "old_width": "=device-width, initial-scale=1\">",
+ "old_width_inches": "1"
+ },
+ {
+ "dw_sku": "DWMR-80099",
+ "mfr_sku": "MR-FV-38407",
+ "slug": "entwine-inlet-linen",
+ "old_width": "=device-width, initial-scale=1\">",
+ "old_width_inches": "1"
+ },
+ {
+ "dw_sku": "DWMR-80100",
+ "mfr_sku": "MR-FV-38508",
+ "slug": "entwine-inlet-linen",
+ "old_width": "=device-width, initial-scale=1\">",
+ "old_width_inches": "1"
+ },
+ {
+ "dw_sku": "DWMR-80101",
+ "mfr_sku": "MR-FV-38510",
+ "slug": "entwine-inlet-linen",
+ "old_width": "=device-width, initial-scale=1\">",
+ "old_width_inches": "1"
+ },
+ {
+ "dw_sku": "DWMR-80102",
+ "mfr_sku": "MR-FV-38603",
+ "slug": "entwine-inlet-linen",
+ "old_width": "=device-width, initial-scale=1\">",
+ "old_width_inches": "1"
+ },
+ {
+ "dw_sku": "DWMR-80103",
+ "mfr_sku": "MR-FV-38604",
+ "slug": "entwine-inlet-linen",
+ "old_width": "=device-width, initial-scale=1\">",
+ "old_width_inches": "1"
+ },
+ {
+ "dw_sku": "DWMR-80104",
+ "mfr_sku": "MR-FV-38605",
+ "slug": "entwine-inlet-linen",
+ "old_width": "=device-width, initial-scale=1\">",
+ "old_width_inches": "1"
+ },
+ {
+ "dw_sku": "DWMR-80105",
+ "mfr_sku": "MR-FV-38606",
+ "slug": "entwine-inlet-linen",
+ "old_width": "=device-width, initial-scale=1\">",
+ "old_width_inches": "1"
+ },
+ {
+ "dw_sku": "DWMR-80106",
+ "mfr_sku": "MR-FV-38608",
+ "slug": "entwine-inlet-linen",
+ "old_width": "=device-width, initial-scale=1\">",
+ "old_width_inches": "1"
+ },
+ {
+ "dw_sku": "DWMR-80107",
+ "mfr_sku": "MR-FV-38667",
+ "slug": "entwine-inlet-linen",
+ "old_width": "=device-width, initial-scale=1\">",
+ "old_width_inches": "1"
+ },
+ {
+ "dw_sku": "DWMR-80108",
+ "mfr_sku": "MR-FV-40507",
+ "slug": "entwine-serene-silk",
+ "old_width": "=device-width, initial-scale=1\">",
+ "old_width_inches": "1"
+ },
+ {
+ "dw_sku": "DWMR-80109",
+ "mfr_sku": "MR-FV-40508",
+ "slug": "entwine-serene-silk",
+ "old_width": "=device-width, initial-scale=1\">",
+ "old_width_inches": "1"
+ },
+ {
+ "dw_sku": "DWMR-80110",
+ "mfr_sku": "MR-FV-40667",
+ "slug": "entwine-serene-silk",
+ "old_width": "=device-width, initial-scale=1\">",
+ "old_width_inches": "1"
+ },
+ {
+ "dw_sku": "DWMR-80111",
+ "mfr_sku": "MR-FV-40670",
+ "slug": "entwine-serene-silk",
+ "old_width": "=device-width, initial-scale=1\">",
+ "old_width_inches": "1"
+ },
+ {
+ "dw_sku": "DWMR-80221",
+ "mfr_sku": "MR-FV-31510",
+ "slug": "wisping-weaves-montauk",
+ "old_width": "=device-width, initial-scale=1\">",
+ "old_width_inches": "1"
+ },
+ {
+ "dw_sku": "DWMR-80222",
+ "mfr_sku": "MR-FV-31511",
+ "slug": "wisping-weaves-montauk",
+ "old_width": "=device-width, initial-scale=1\">",
+ "old_width_inches": "1"
+ },
+ {
+ "dw_sku": "DWMR-80223",
+ "mfr_sku": "MR-FV-31603",
+ "slug": "wisping-weaves-montauk",
+ "old_width": "=device-width, initial-scale=1\">",
+ "old_width_inches": "1"
+ }
+ ],
+ "updates_planned": [
+ {
+ "dw_sku": "DWMR-80016",
+ "slug": "ajiro-sunburst",
+ "new_width": "15\" Width Approx. 30 in untrimmed (76.2 cm); 18\" Width Approx. 36 in untrimmed (91.4 cm)",
+ "new_width_inches": null
+ },
+ {
+ "dw_sku": "DWMR-80099",
+ "slug": "entwine-inlet-linen",
+ "new_width": "27\" Width Approx. 27 in untrimmed (68.6 cm); 54\" Width Approx. 54 in untrimmed (137.2 cm)",
+ "new_width_inches": null
+ },
+ {
+ "dw_sku": "DWMR-80100",
+ "slug": "entwine-inlet-linen",
+ "new_width": "27\" Width Approx. 27 in untrimmed (68.6 cm); 54\" Width Approx. 54 in untrimmed (137.2 cm)",
+ "new_width_inches": null
+ },
+ {
+ "dw_sku": "DWMR-80101",
+ "slug": "entwine-inlet-linen",
+ "new_width": "27\" Width Approx. 27 in untrimmed (68.6 cm); 54\" Width Approx. 54 in untrimmed (137.2 cm)",
+ "new_width_inches": null
+ },
+ {
+ "dw_sku": "DWMR-80102",
+ "slug": "entwine-inlet-linen",
+ "new_width": "27\" Width Approx. 27 in untrimmed (68.6 cm); 54\" Width Approx. 54 in untrimmed (137.2 cm)",
+ "new_width_inches": null
+ },
+ {
+ "dw_sku": "DWMR-80103",
+ "slug": "entwine-inlet-linen",
+ "new_width": "27\" Width Approx. 27 in untrimmed (68.6 cm); 54\" Width Approx. 54 in untrimmed (137.2 cm)",
+ "new_width_inches": null
+ },
+ {
+ "dw_sku": "DWMR-80104",
+ "slug": "entwine-inlet-linen",
+ "new_width": "27\" Width Approx. 27 in untrimmed (68.6 cm); 54\" Width Approx. 54 in untrimmed (137.2 cm)",
+ "new_width_inches": null
+ },
+ {
+ "dw_sku": "DWMR-80105",
+ "slug": "entwine-inlet-linen",
+ "new_width": "27\" Width Approx. 27 in untrimmed (68.6 cm); 54\" Width Approx. 54 in untrimmed (137.2 cm)",
+ "new_width_inches": null
+ },
+ {
+ "dw_sku": "DWMR-80106",
+ "slug": "entwine-inlet-linen",
+ "new_width": "27\" Width Approx. 27 in untrimmed (68.6 cm); 54\" Width Approx. 54 in untrimmed (137.2 cm)",
+ "new_width_inches": null
+ },
+ {
+ "dw_sku": "DWMR-80107",
+ "slug": "entwine-inlet-linen",
+ "new_width": "27\" Width Approx. 27 in untrimmed (68.6 cm); 54\" Width Approx. 54 in untrimmed (137.2 cm)",
+ "new_width_inches": null
+ },
+ {
+ "dw_sku": "DWMR-80108",
+ "slug": "entwine-serene-silk",
+ "new_width": "27\" Width Approx. 27 in untrimmed (68.6 cm); 54\" Width Approx. 54 in untrimmed (137.2 cm)",
+ "new_width_inches": null
+ },
+ {
+ "dw_sku": "DWMR-80109",
+ "slug": "entwine-serene-silk",
+ "new_width": "27\" Width Approx. 27 in untrimmed (68.6 cm); 54\" Width Approx. 54 in untrimmed (137.2 cm)",
+ "new_width_inches": null
+ },
+ {
+ "dw_sku": "DWMR-80110",
+ "slug": "entwine-serene-silk",
+ "new_width": "27\" Width Approx. 27 in untrimmed (68.6 cm); 54\" Width Approx. 54 in untrimmed (137.2 cm)",
+ "new_width_inches": null
+ },
+ {
+ "dw_sku": "DWMR-80111",
+ "slug": "entwine-serene-silk",
+ "new_width": "27\" Width Approx. 27 in untrimmed (68.6 cm); 54\" Width Approx. 54 in untrimmed (137.2 cm)",
+ "new_width_inches": null
+ },
+ {
+ "dw_sku": "DWMR-80221",
+ "slug": "wisping-weaves-montauk",
+ "new_width": "27\" untrimmed (68.6 cm), 6.75 sq ft/yd (0.63 sq m/yd); 54\" untrimmed (137.2 cm), 13.5 sq ft/yd (1.25 sq m/yd)",
+ "new_width_inches": null
+ },
+ {
+ "dw_sku": "DWMR-80222",
+ "slug": "wisping-weaves-montauk",
+ "new_width": "27\" untrimmed (68.6 cm), 6.75 sq ft/yd (0.63 sq m/yd); 54\" untrimmed (137.2 cm), 13.5 sq ft/yd (1.25 sq m/yd)",
+ "new_width_inches": null
+ },
+ {
+ "dw_sku": "DWMR-80223",
+ "slug": "wisping-weaves-montauk",
+ "new_width": "27\" untrimmed (68.6 cm), 6.75 sq ft/yd (0.63 sq m/yd); 54\" untrimmed (137.2 cm), 13.5 sq ft/yd (1.25 sq m/yd)",
+ "new_width_inches": null
+ }
+ ],
+ "still_unknown_rows": [
+ {
+ "dw_sku": "DWMR-80026",
+ "mfr_sku": "MR-CC-1506-H",
+ "slug": "cozy-bed-fellow",
+ "reason": "collection 404 / discontinued on mayaromanoff.com; needs Maya rep/PDF"
+ },
+ {
+ "dw_sku": "DWMR-80211",
+ "mfr_sku": "MR-CZ-2511",
+ "slug": "cozy-nestle",
+ "reason": "collection 404 / discontinued on mayaromanoff.com; needs Maya rep/PDF"
+ }
+ ],
+ "collection_widths": {
+ "entwine-inlet-linen": "27\" Width Approx. 27 in untrimmed (68.6 cm); 54\" Width Approx. 54 in untrimmed (137.2 cm)",
+ "entwine-serene-silk": "27\" Width Approx. 27 in untrimmed (68.6 cm); 54\" Width Approx. 54 in untrimmed (137.2 cm)",
+ "wisping-weaves-montauk": "27\" untrimmed (68.6 cm), 6.75 sq ft/yd (0.63 sq m/yd); 54\" untrimmed (137.2 cm), 13.5 sq ft/yd (1.25 sq m/yd)",
+ "ajiro-sunburst": "15\" Width Approx. 30 in untrimmed (76.2 cm); 18\" Width Approx. 36 in untrimmed (91.4 cm)"
+ },
+ "note": "multi-width patterns: each colorway offered in BOTH widths; storing the vendor's real verified multi-width string (accurate, not a guess). width_inches left NULL (no single width). cozy-nestle/cozy-bed-fellow 404 on vendor site -> left polluted, needs rep."
+}
\ No newline at end of file
diff --git a/restore-map-multiwidth-2026-08-31T11-04-09.472171.json b/restore-map-multiwidth-2026-08-31T11-04-09.472171.json
new file mode 100644
index 0000000..643e697
--- /dev/null
+++ b/restore-map-multiwidth-2026-08-31T11-04-09.472171.json
@@ -0,0 +1,257 @@
+{
+ "ts": "2026-08-31T11:04:09.472171",
+ "ticket": "TK-11029",
+ "phase": "2-multiwidth",
+ "table": "maya_catalog",
+ "column": "width,width_inches",
+ "polluted_string": "=device-width, initial-scale=1\">",
+ "total_polluted_before": 19,
+ "to_fix": 17,
+ "still_unknown": 2,
+ "restore_map": [
+ {
+ "dw_sku": "DWMR-80016",
+ "mfr_sku": "MR-AS-3055-S",
+ "slug": "ajiro-sunburst",
+ "old_width": "=device-width, initial-scale=1\">",
+ "old_width_inches": "1"
+ },
+ {
+ "dw_sku": "DWMR-80099",
+ "mfr_sku": "MR-FV-38407",
+ "slug": "entwine-inlet-linen",
+ "old_width": "=device-width, initial-scale=1\">",
+ "old_width_inches": "1"
+ },
+ {
+ "dw_sku": "DWMR-80100",
+ "mfr_sku": "MR-FV-38508",
+ "slug": "entwine-inlet-linen",
+ "old_width": "=device-width, initial-scale=1\">",
+ "old_width_inches": "1"
+ },
+ {
+ "dw_sku": "DWMR-80101",
+ "mfr_sku": "MR-FV-38510",
+ "slug": "entwine-inlet-linen",
+ "old_width": "=device-width, initial-scale=1\">",
+ "old_width_inches": "1"
+ },
+ {
+ "dw_sku": "DWMR-80102",
+ "mfr_sku": "MR-FV-38603",
+ "slug": "entwine-inlet-linen",
+ "old_width": "=device-width, initial-scale=1\">",
+ "old_width_inches": "1"
+ },
+ {
+ "dw_sku": "DWMR-80103",
+ "mfr_sku": "MR-FV-38604",
+ "slug": "entwine-inlet-linen",
+ "old_width": "=device-width, initial-scale=1\">",
+ "old_width_inches": "1"
+ },
+ {
+ "dw_sku": "DWMR-80104",
+ "mfr_sku": "MR-FV-38605",
+ "slug": "entwine-inlet-linen",
+ "old_width": "=device-width, initial-scale=1\">",
+ "old_width_inches": "1"
+ },
+ {
+ "dw_sku": "DWMR-80105",
+ "mfr_sku": "MR-FV-38606",
+ "slug": "entwine-inlet-linen",
+ "old_width": "=device-width, initial-scale=1\">",
+ "old_width_inches": "1"
+ },
+ {
+ "dw_sku": "DWMR-80106",
+ "mfr_sku": "MR-FV-38608",
+ "slug": "entwine-inlet-linen",
+ "old_width": "=device-width, initial-scale=1\">",
+ "old_width_inches": "1"
+ },
+ {
+ "dw_sku": "DWMR-80107",
+ "mfr_sku": "MR-FV-38667",
+ "slug": "entwine-inlet-linen",
+ "old_width": "=device-width, initial-scale=1\">",
+ "old_width_inches": "1"
+ },
+ {
+ "dw_sku": "DWMR-80108",
+ "mfr_sku": "MR-FV-40507",
+ "slug": "entwine-serene-silk",
+ "old_width": "=device-width, initial-scale=1\">",
+ "old_width_inches": "1"
+ },
+ {
+ "dw_sku": "DWMR-80109",
+ "mfr_sku": "MR-FV-40508",
+ "slug": "entwine-serene-silk",
+ "old_width": "=device-width, initial-scale=1\">",
+ "old_width_inches": "1"
+ },
+ {
+ "dw_sku": "DWMR-80110",
+ "mfr_sku": "MR-FV-40667",
+ "slug": "entwine-serene-silk",
+ "old_width": "=device-width, initial-scale=1\">",
+ "old_width_inches": "1"
+ },
+ {
+ "dw_sku": "DWMR-80111",
+ "mfr_sku": "MR-FV-40670",
+ "slug": "entwine-serene-silk",
+ "old_width": "=device-width, initial-scale=1\">",
+ "old_width_inches": "1"
+ },
+ {
+ "dw_sku": "DWMR-80221",
+ "mfr_sku": "MR-FV-31510",
+ "slug": "wisping-weaves-montauk",
+ "old_width": "=device-width, initial-scale=1\">",
+ "old_width_inches": "1"
+ },
+ {
+ "dw_sku": "DWMR-80222",
+ "mfr_sku": "MR-FV-31511",
+ "slug": "wisping-weaves-montauk",
+ "old_width": "=device-width, initial-scale=1\">",
+ "old_width_inches": "1"
+ },
+ {
+ "dw_sku": "DWMR-80223",
+ "mfr_sku": "MR-FV-31603",
+ "slug": "wisping-weaves-montauk",
+ "old_width": "=device-width, initial-scale=1\">",
+ "old_width_inches": "1"
+ }
+ ],
+ "updates_planned": [
+ {
+ "dw_sku": "DWMR-80016",
+ "slug": "ajiro-sunburst",
+ "new_width": "15\" Width Approx. 30 in untrimmed (76.2 cm); 18\" Width Approx. 36 in untrimmed (91.4 cm)",
+ "new_width_inches": null
+ },
+ {
+ "dw_sku": "DWMR-80099",
+ "slug": "entwine-inlet-linen",
+ "new_width": "27\" Width Approx. 27 in untrimmed (68.6 cm); 54\" Width Approx. 54 in untrimmed (137.2 cm)",
+ "new_width_inches": null
+ },
+ {
+ "dw_sku": "DWMR-80100",
+ "slug": "entwine-inlet-linen",
+ "new_width": "27\" Width Approx. 27 in untrimmed (68.6 cm); 54\" Width Approx. 54 in untrimmed (137.2 cm)",
+ "new_width_inches": null
+ },
+ {
+ "dw_sku": "DWMR-80101",
+ "slug": "entwine-inlet-linen",
+ "new_width": "27\" Width Approx. 27 in untrimmed (68.6 cm); 54\" Width Approx. 54 in untrimmed (137.2 cm)",
+ "new_width_inches": null
+ },
+ {
+ "dw_sku": "DWMR-80102",
+ "slug": "entwine-inlet-linen",
+ "new_width": "27\" Width Approx. 27 in untrimmed (68.6 cm); 54\" Width Approx. 54 in untrimmed (137.2 cm)",
+ "new_width_inches": null
+ },
+ {
+ "dw_sku": "DWMR-80103",
+ "slug": "entwine-inlet-linen",
+ "new_width": "27\" Width Approx. 27 in untrimmed (68.6 cm); 54\" Width Approx. 54 in untrimmed (137.2 cm)",
+ "new_width_inches": null
+ },
+ {
+ "dw_sku": "DWMR-80104",
+ "slug": "entwine-inlet-linen",
+ "new_width": "27\" Width Approx. 27 in untrimmed (68.6 cm); 54\" Width Approx. 54 in untrimmed (137.2 cm)",
+ "new_width_inches": null
+ },
+ {
+ "dw_sku": "DWMR-80105",
+ "slug": "entwine-inlet-linen",
+ "new_width": "27\" Width Approx. 27 in untrimmed (68.6 cm); 54\" Width Approx. 54 in untrimmed (137.2 cm)",
+ "new_width_inches": null
+ },
+ {
+ "dw_sku": "DWMR-80106",
+ "slug": "entwine-inlet-linen",
+ "new_width": "27\" Width Approx. 27 in untrimmed (68.6 cm); 54\" Width Approx. 54 in untrimmed (137.2 cm)",
+ "new_width_inches": null
+ },
+ {
+ "dw_sku": "DWMR-80107",
+ "slug": "entwine-inlet-linen",
+ "new_width": "27\" Width Approx. 27 in untrimmed (68.6 cm); 54\" Width Approx. 54 in untrimmed (137.2 cm)",
+ "new_width_inches": null
+ },
+ {
+ "dw_sku": "DWMR-80108",
+ "slug": "entwine-serene-silk",
+ "new_width": "27\" Width Approx. 27 in untrimmed (68.6 cm); 54\" Width Approx. 54 in untrimmed (137.2 cm)",
+ "new_width_inches": null
+ },
+ {
+ "dw_sku": "DWMR-80109",
+ "slug": "entwine-serene-silk",
+ "new_width": "27\" Width Approx. 27 in untrimmed (68.6 cm); 54\" Width Approx. 54 in untrimmed (137.2 cm)",
+ "new_width_inches": null
+ },
+ {
+ "dw_sku": "DWMR-80110",
+ "slug": "entwine-serene-silk",
+ "new_width": "27\" Width Approx. 27 in untrimmed (68.6 cm); 54\" Width Approx. 54 in untrimmed (137.2 cm)",
+ "new_width_inches": null
+ },
+ {
+ "dw_sku": "DWMR-80111",
+ "slug": "entwine-serene-silk",
+ "new_width": "27\" Width Approx. 27 in untrimmed (68.6 cm); 54\" Width Approx. 54 in untrimmed (137.2 cm)",
+ "new_width_inches": null
+ },
+ {
+ "dw_sku": "DWMR-80221",
+ "slug": "wisping-weaves-montauk",
+ "new_width": "27\" untrimmed (68.6 cm), 6.75 sq ft/yd (0.63 sq m/yd); 54\" untrimmed (137.2 cm), 13.5 sq ft/yd (1.25 sq m/yd)",
+ "new_width_inches": null
+ },
+ {
+ "dw_sku": "DWMR-80222",
+ "slug": "wisping-weaves-montauk",
+ "new_width": "27\" untrimmed (68.6 cm), 6.75 sq ft/yd (0.63 sq m/yd); 54\" untrimmed (137.2 cm), 13.5 sq ft/yd (1.25 sq m/yd)",
+ "new_width_inches": null
+ },
+ {
+ "dw_sku": "DWMR-80223",
+ "slug": "wisping-weaves-montauk",
+ "new_width": "27\" untrimmed (68.6 cm), 6.75 sq ft/yd (0.63 sq m/yd); 54\" untrimmed (137.2 cm), 13.5 sq ft/yd (1.25 sq m/yd)",
+ "new_width_inches": null
+ }
+ ],
+ "still_unknown_rows": [
+ {
+ "dw_sku": "DWMR-80026",
+ "mfr_sku": "MR-CC-1506-H",
+ "slug": "cozy-bed-fellow",
+ "reason": "collection 404 / discontinued on mayaromanoff.com; needs Maya rep/PDF"
+ },
+ {
+ "dw_sku": "DWMR-80211",
+ "mfr_sku": "MR-CZ-2511",
+ "slug": "cozy-nestle",
+ "reason": "collection 404 / discontinued on mayaromanoff.com; needs Maya rep/PDF"
+ }
+ ],
+ "collection_widths": {
+ "entwine-inlet-linen": "27\" Width Approx. 27 in untrimmed (68.6 cm); 54\" Width Approx. 54 in untrimmed (137.2 cm)",
+ "entwine-serene-silk": "27\" Width Approx. 27 in untrimmed (68.6 cm); 54\" Width Approx. 54 in untrimmed (137.2 cm)",
+ "wisping-weaves-montauk": "27\" untrimmed (68.6 cm), 6.75 sq ft/yd (0.63 sq m/yd); 54\" untrimmed (137.2 cm), 13.5 sq ft/yd (1.25 sq m/yd)",
+ "ajiro-sunburst": "15\" Width Approx. 30 in untrimmed (76.2 cm); 18\" Width Approx. 36 in untrimmed (91.4 cm)"
+ },
+ "note": "multi-width patterns: each colorway offered in BOTH widths; storing the vendor's real verified multi-width string (accurate, not a guess). width_inches left NULL (no single width). cozy-nestle/cozy-bed-fellow 404 on vendor site -> left polluted, needs rep."
+}
\ No newline at end of file
← 64817d4 TK-11029: fix polluted maya_catalog.width via specsTable re-
·
back to Maya Width Fix
·
TK-11029: read-only diagnosis + deterministic dry-run correc 3b407f5 →