[object Object]

← back to Designer Wallcoverings

DW vendor-collection routing + grey-header contrast fix (candidates, staged)

a2606953c501f5bcac0d0e3ff37ddd3faa46aff7 · 2026-06-23 11:57:49 -0700 · Steve Abrams

FIX 1 (DTD verdict A): route PDP vendor links to real /collections/<vendor>
- new snippet dw-vendor-collection-url.liquid resolves collections[handleize(vendor)]
  (+ -wallcoverings/-1 suffix fallbacks) else falls back to url_for_vendor (no 404)
- product-form-content.liquid line 195 now uses the resolver instead of raw url_for_vendor
FIX 2: collection .page-title + .collection-description default to transparent+dark text;
  re-assert dark overlay only under .collection-image--true (real hero). Mirrors breadcrumb fix.
Coverage audit + DTD verdict JSON under shopify/audit/.

Files touched

Diff

commit a2606953c501f5bcac0d0e3ff37ddd3faa46aff7
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Tue Jun 23 11:57:49 2026 -0700

    DW vendor-collection routing + grey-header contrast fix (candidates, staged)
    
    FIX 1 (DTD verdict A): route PDP vendor links to real /collections/<vendor>
    - new snippet dw-vendor-collection-url.liquid resolves collections[handleize(vendor)]
      (+ -wallcoverings/-1 suffix fallbacks) else falls back to url_for_vendor (no 404)
    - product-form-content.liquid line 195 now uses the resolver instead of raw url_for_vendor
    FIX 2: collection .page-title + .collection-description default to transparent+dark text;
      re-assert dark overlay only under .collection-image--true (real hero). Mirrors breadcrumb fix.
    Coverage audit + DTD verdict JSON under shopify/audit/.
---
 shopify/_cwGRID/assets/theme.css.liquid            |   31 +-
 .../snippets/dw-vendor-collection-url.liquid       |   35 +
 .../_cwGRID/snippets/product-form-content.liquid   |    3 +-
 shopify/audit/dtd-vendor-routing-verdict.json      |   13 +
 shopify/audit/vendor-collection-coverage.json      | 1331 ++++++++++++++++++++
 shopify/audit/vendor-collection-gap-refined.json   |  386 ++++++
 6 files changed, 1797 insertions(+), 2 deletions(-)

diff --git a/shopify/_cwGRID/assets/theme.css.liquid b/shopify/_cwGRID/assets/theme.css.liquid
index d9a2c7b7..f187cc74 100644
--- a/shopify/_cwGRID/assets/theme.css.liquid
+++ b/shopify/_cwGRID/assets/theme.css.liquid
@@ -12392,4 +12392,33 @@ https://apps.shopify.com/coin
 }
 .age-gate__select-wrapper .select-wrapper {
   max-width: none;
-}
\ No newline at end of file
+}
+/* DW FIX 2026-06-23: collection HEADER title + description contrast.
+   The base rules above give `.page-title` and `.collection-description` a
+   translucent-black overlay (rgba(0,0,0,.5)) + white text. That treatment is
+   only legible OVER a collection hero image. On the vast majority of vendor
+   collections there is NO hero image (e.g. /collections/tres-tintas), so the
+   block rendered as WHITE TEXT ON A MEDIUM-GREY BOX floating on a white page —
+   unreadable. Strip the overlay + use readable dark text by default, then
+   RE-ASSERT the dark overlay only when the collection actually has a hero
+   image (theme adds `.collection-image--true` to the .collection wrapper).
+   Same family as the .breadcrumbs hero-overlay fix above. */
+.page-title,
+.collection-description {
+  background-color: transparent;
+  color: #1a1a1a;
+}
+.collection-description,
+.collection-description * {
+  color: #333333;
+}
+/* Preserve the hero-overlay treatment where there IS a banner image. */
+.collection-image--true .page-title,
+.collection-image--true .collection-description {
+  background-color: rgba(0, 0, 0, 0.5);
+  color: #ffffff;
+}
+.collection-image--true .collection-description,
+.collection-image--true .collection-description * {
+  color: #ffffff;
+}
diff --git a/shopify/_cwGRID/snippets/dw-vendor-collection-url.liquid b/shopify/_cwGRID/snippets/dw-vendor-collection-url.liquid
new file mode 100644
index 00000000..58a6c5b8
--- /dev/null
+++ b/shopify/_cwGRID/snippets/dw-vendor-collection-url.liquid
@@ -0,0 +1,35 @@
+{% comment %}
+  DW 2026-06-23 — Resolve the best customer-facing URL for a product vendor.
+
+  Routes a vendor to its REAL collection page (full nav header + title +
+  About description + proper grid + sort) instead of Shopify's generic
+  /collections/vendors?q=<Vendor> search URL (no header, fragile stacked
+  grids, inconsistent sort) emitted by the raw `url_for_vendor` filter.
+
+  Resolution order (degrades gracefully — never 404s):
+    1. collections[handleize(vendor)]                  (exact handle)
+    2. collections[handleize(vendor)-wallcoverings]     (common DW suffix)
+    3. collections[handleize(vendor)-1]                 (Shopify dup suffix)
+    4. product.vendor | url_for_vendor                  (original search URL)
+
+  Usage:
+    {% render 'dw-vendor-collection-url', vendor: product.vendor %}
+  Returns the URL as inline output (assign-and-capture at the call site).
+{% endcomment %}
+{%- liquid
+  assign _vh = vendor | handleize
+  assign _col = collections[_vh]
+  if _col == empty or _col.url == blank
+    assign _vh2 = _vh | append: '-wallcoverings'
+    assign _col = collections[_vh2]
+  endif
+  if _col == empty or _col.url == blank
+    assign _vh3 = _vh | append: '-1'
+    assign _col = collections[_vh3]
+  endif
+  if _col != empty and _col.url != blank
+    echo _col.url
+  else
+    echo vendor | url_for_vendor
+  endif
+-%}
diff --git a/shopify/_cwGRID/snippets/product-form-content.liquid b/shopify/_cwGRID/snippets/product-form-content.liquid
index c0019d66..48b2c24e 100644
--- a/shopify/_cwGRID/snippets/product-form-content.liquid
+++ b/shopify/_cwGRID/snippets/product-form-content.liquid
@@ -192,7 +192,8 @@
 {% for block in section.blocks %}
   {% case block.type %}
     {% when 'vendor' %}
-      <a class="product-vendor" href="{{ product.vendor | url_for_vendor }}" {{ block.shopify_attributes }}>{{ product.vendor }}</a>
+      {%- capture dw_vendor_url -%}{%- render 'dw-vendor-collection-url', vendor: product.vendor -%}{%- endcapture -%}
+      <a class="product-vendor" href="{{ dw_vendor_url | strip }}" {{ block.shopify_attributes }}>{{ product.vendor }}</a>
 
     {% when 'title' %}
       <h1 class="product-title" {{ block.shopify_attributes }}>
diff --git a/shopify/audit/dtd-vendor-routing-verdict.json b/shopify/audit/dtd-vendor-routing-verdict.json
new file mode 100644
index 00000000..cd447cc2
--- /dev/null
+++ b/shopify/audit/dtd-vendor-routing-verdict.json
@@ -0,0 +1,13 @@
+{
+  "decision": "How to route per-vendor browsing to each vendor's real collection page",
+  "date": "2026-06-23",
+  "verdict": "A",
+  "tally": {"A": 2, "C": 1, "B": 0},
+  "votes": {
+    "claude": "A — pure Liquid link rewrite at source; reversible, no-404, fixes root cause",
+    "qwen": "A — explicitly rejects B (query-string redirects unreliable) and C (overhead)",
+    "codex": "C — A now + B selectively later for high-traffic legacy/external URLs (dissent)"
+  },
+  "winner_rationale": "Rewrite the PDP vendor link to resolve collections[handleize(vendor)] (+ -wallcoverings/-1 suffix fallbacks) and fall back to url_for_vendor when no collection exists. B (Shopify URL redirects on query strings) deferred — unreliable + one-row-per-vendor overhead.",
+  "dissent": "Codex would add B selectively later for cached/external /collections/vendors?q= links; not required for this fix."
+}
diff --git a/shopify/audit/vendor-collection-coverage.json b/shopify/audit/vendor-collection-coverage.json
new file mode 100644
index 00000000..57e2c7ed
--- /dev/null
+++ b/shopify/audit/vendor-collection-coverage.json
@@ -0,0 +1,1331 @@
+{
+ "matched": [
+  [
+   "1838 Wallcoverings",
+   "1838-wallcoverings",
+   "1838-wallcoverings",
+   481,
+   "exact-handle"
+  ],
+  [
+   "Andrew Martin",
+   "andrew-martin",
+   "andrew-martin-wallcoverings",
+   129,
+   "title-match"
+  ],
+  [
+   "Anna French",
+   "anna-french",
+   "anna-french-1",
+   1140,
+   "title-match"
+  ],
+  [
+   "Apartment Wallpaper",
+   "apartment-wallpaper",
+   "apartment-wallpaper",
+   98,
+   "exact-handle"
+  ],
+  [
+   "Architectural Fabrics",
+   "architectural-fabrics",
+   "architectural-fabrics",
+   483,
+   "exact-handle"
+  ],
+  [
+   "Architectural Wallcoverings",
+   "architectural-wallcoverings",
+   "architectural-wallcoverings",
+   9,
+   "exact-handle"
+  ],
+  [
+   "Armani Casa",
+   "armani-casa",
+   "armani-casa-wallcoverings",
+   243,
+   "title-match"
+  ],
+  [
+   "Armani/Casa",
+   "armani-casa",
+   "armani-casa-wallcoverings",
+   243,
+   "title-match"
+  ],
+  [
+   "Arte",
+   "arte",
+   "arte",
+   631,
+   "exact-handle"
+  ],
+  [
+   "Arte International",
+   "arte-international",
+   "arte-international",
+   631,
+   "exact-handle"
+  ],
+  [
+   "Artmura",
+   "artmura",
+   "artmura",
+   161,
+   "exact-handle"
+  ],
+  [
+   "AS Creation",
+   "as-creation",
+   "as-creation-wallcoverings",
+   505,
+   "prefix-match"
+  ],
+  [
+   "Backdrop",
+   "backdrop",
+   "backdrop",
+   9,
+   "exact-handle"
+  ],
+  [
+   "Baker Lifestyle",
+   "baker-lifestyle",
+   "baker-lifestyle",
+   441,
+   "exact-handle"
+  ],
+  [
+   "Bespoke",
+   "bespoke",
+   "bespoke",
+   1801,
+   "exact-handle"
+  ],
+  [
+   "Bor\u00e5stapeter",
+   "borastapeter",
+   "borastapeter",
+   100,
+   "exact-handle"
+  ],
+  [
+   "Brand McKenzie",
+   "brand-mckenzie",
+   "brand-mckenzie-wallpaper-collection",
+   165,
+   "prefix-match"
+  ],
+  [
+   "British Walls",
+   "british-walls",
+   "british-walls",
+   590,
+   "exact-handle"
+  ],
+  [
+   "Brunschwig & Fils",
+   "brunschwig-fils",
+   "brunschwig-fils",
+   3402,
+   "exact-handle"
+  ],
+  [
+   "China Seas",
+   "china-seas",
+   "china-seas",
+   1810,
+   "exact-handle"
+  ],
+  [
+   "China Seas Fabrics",
+   "china-seas-fabrics",
+   "china-seas-fabrics",
+   2,
+   "exact-handle"
+  ],
+  [
+   "Christian Lacroix Europe",
+   "christian-lacroix-europe",
+   "christian-lacroix-europe",
+   175,
+   "exact-handle"
+  ],
+  [
+   "Clarke And Clarke",
+   "clarke-and-clarke",
+   "clarke-and-clarke-1",
+   3927,
+   "title-match"
+  ],
+  [
+   "Clarke and Clarke",
+   "clarke-and-clarke",
+   "clarke-and-clarke-1",
+   3927,
+   "title-match"
+  ],
+  [
+   "Cole & Son",
+   "cole-son",
+   "cole-son",
+   1276,
+   "exact-handle"
+  ],
+  [
+   "Colefax and Fowler",
+   "colefax-and-fowler",
+   "colefax-and-fowler",
+   361,
+   "exact-handle"
+  ],
+  [
+   "Coordonn\u00e9",
+   "coordonne",
+   "coordonne",
+   1360,
+   "exact-handle"
+  ],
+  [
+   "Daisy Bennett",
+   "daisy-bennett",
+   "daisy-bennett-wallcoverings",
+   70,
+   "prefix-match"
+  ],
+  [
+   "Dedar",
+   "dedar",
+   "dedar",
+   1,
+   "exact-handle"
+  ],
+  [
+   "Designers Guild",
+   "designers-guild",
+   "designers-guild-wallpaper",
+   879,
+   "prefix-match"
+  ],
+  [
+   "Dolce & Gabbana",
+   "dolce-gabbana",
+   "dolce-gabbana-casa-wallcoverings",
+   36,
+   "prefix-match"
+  ],
+  [
+   "Donghia",
+   "donghia",
+   "donghia-wallcoverings",
+   161,
+   "title-match"
+  ],
+  [
+   "DW Bespoke Studio",
+   "dw-bespoke-studio",
+   "dw-bespoke-studio-wallpaper-collection",
+   1144,
+   "prefix-match"
+  ],
+  [
+   "DW Home",
+   "dw-home",
+   "dw-home",
+   77,
+   "exact-handle"
+  ],
+  [
+   "Elitis",
+   "elitis",
+   "elitis-wallcoverings",
+   244,
+   "title-match"
+  ],
+  [
+   "Emiliana Parati",
+   "emiliana-parati",
+   "emiliana-parati-wallcoverings",
+   15,
+   "prefix-match"
+  ],
+  [
+   "Et Cie Wall Panels",
+   "et-cie-wall-panels",
+   "et-cie-wall-panels",
+   6301,
+   "exact-handle"
+  ],
+  [
+   "Fabricut",
+   "fabricut",
+   "fabricut-fabrics",
+   46,
+   "prefix-match"
+  ],
+  [
+   "FallingStar Studio",
+   "fallingstar-studio",
+   "fallingstar",
+   42,
+   "title-match"
+  ],
+  [
+   "Farrow & Ball",
+   "farrow-ball",
+   "farrow-ball-wallcoverings",
+   2,
+   "title-match"
+  ],
+  [
+   "Fentucci",
+   "fentucci",
+   "fentucci",
+   738,
+   "exact-handle"
+  ],
+  [
+   "Fentucci Fabrics",
+   "fentucci-fabrics",
+   "fentucci-fabrics",
+   379,
+   "exact-handle"
+  ],
+  [
+   "Fentucci Murals",
+   "fentucci-murals",
+   "fentucci-murals",
+   40,
+   "exact-handle"
+  ],
+  [
+   "Fentucci Naturals",
+   "fentucci-naturals",
+   "fentucci-naturals",
+   21,
+   "exact-handle"
+  ],
+  [
+   "Fentucci Wallpaper",
+   "fentucci-wallpaper",
+   "fentucci-wallpaper",
+   738,
+   "exact-handle"
+  ],
+  [
+   "Franquemont London",
+   "franquemont-london",
+   "franquemont-london",
+   26,
+   "exact-handle"
+  ],
+  [
+   "Gaston Y Daniela",
+   "gaston-y-daniela",
+   "gaston-y-daniela",
+   2298,
+   "exact-handle"
+  ],
+  [
+   "Glambeads by DW",
+   "glambeads-by-dw",
+   "glambeads-by-dw",
+   59,
+   "exact-handle"
+  ],
+  [
+   "Glass Beaded",
+   "glass-beaded",
+   "glass-beaded",
+   78,
+   "exact-handle"
+  ],
+  [
+   "Glitter Walls",
+   "glitter-walls",
+   "glitter-walls",
+   238,
+   "exact-handle"
+  ],
+  [
+   "GP & J Baker",
+   "gp-j-baker",
+   "gp-j-baker",
+   1887,
+   "exact-handle"
+  ],
+  [
+   "Graham & Brown",
+   "graham-brown",
+   "graham-brown",
+   1678,
+   "exact-handle"
+  ],
+  [
+   "Grasscloth Wallpaper",
+   "grasscloth-wallpaper",
+   "grasscloth-wallpaper-collection",
+   11605,
+   "prefix-match"
+  ],
+  [
+   "Hand Crafted",
+   "hand-crafted",
+   "hand-crafted",
+   242,
+   "exact-handle"
+  ],
+  [
+   "Harlequin",
+   "harlequin",
+   "harlequin",
+   641,
+   "exact-handle"
+  ],
+  [
+   "Hermes",
+   "hermes",
+   "hermes",
+   29,
+   "exact-handle"
+  ],
+  [
+   "Hinson",
+   "hinson",
+   "hinson",
+   2,
+   "exact-handle"
+  ],
+  [
+   "Holland and Sherry",
+   "holland-and-sherry",
+   "holland-and-sherry",
+   3,
+   "exact-handle"
+  ],
+  [
+   "Holly Hunt",
+   "holly-hunt",
+   "holly-hunt",
+   1260,
+   "exact-handle"
+  ],
+  [
+   "Hollywood Acoustical",
+   "hollywood-acoustical",
+   "hollywood-acoustical",
+   62,
+   "exact-handle"
+  ],
+  [
+   "Hospitality Wallcoverings",
+   "hospitality-wallcoverings",
+   "hospitality-wallcoverings",
+   2500,
+   "exact-handle"
+  ],
+  [
+   "Hygge & West",
+   "hygge-west",
+   "hygge-west-wallcoverings",
+   11,
+   "prefix-match"
+  ],
+  [
+   "Innovations",
+   "innovations",
+   "innovations",
+   389,
+   "exact-handle"
+  ],
+  [
+   "Innovations USA",
+   "innovations-usa",
+   "innovations-usa",
+   389,
+   "exact-handle"
+  ],
+  [
+   "Jeffrey Stevens",
+   "jeffrey-stevens",
+   "jeffrey-stevens",
+   3908,
+   "exact-handle"
+  ],
+  [
+   "Kelly Wearstler",
+   "kelly-wearstler",
+   "kelly-wearstler-wallpapers-1",
+   484,
+   "prefix-match"
+  ],
+  [
+   "Koroseal",
+   "koroseal",
+   "koroseal",
+   2548,
+   "exact-handle"
+  ],
+  [
+   "Kravet",
+   "kravet",
+   "kravet",
+   5154,
+   "exact-handle"
+  ],
+  [
+   "Kravet Couture",
+   "kravet-couture",
+   "kravet-couture-1",
+   621,
+   "title-match"
+  ],
+  [
+   "Kravet Design",
+   "kravet-design",
+   "kravet-design",
+   2889,
+   "exact-handle"
+  ],
+  [
+   "LA Walls",
+   "la-walls",
+   "la-walls",
+   728,
+   "exact-handle"
+  ],
+  [
+   "Lee Jofa",
+   "lee-jofa",
+   "lee-jofa",
+   3711,
+   "exact-handle"
+  ],
+  [
+   "LEED Walls",
+   "leed-walls",
+   "leed-walls",
+   129,
+   "exact-handle"
+  ],
+  [
+   "Luxury Murals",
+   "luxury-murals",
+   "luxury-murals",
+   56,
+   "exact-handle"
+  ],
+  [
+   "Madagascar Walls",
+   "madagascar-walls",
+   "madagascar-walls",
+   65,
+   "exact-handle"
+  ],
+  [
+   "Malibu",
+   "malibu",
+   "malibu-wallpaper",
+   4123,
+   "title-match"
+  ],
+  [
+   "Malibu Wallpaper",
+   "malibu-wallpaper",
+   "malibu-wallpaper",
+   4123,
+   "exact-handle"
+  ],
+  [
+   "Malibu Walls",
+   "malibu-walls",
+   "malibu-walls",
+   2017,
+   "exact-handle"
+  ],
+  [
+   "Marburg",
+   "marburg",
+   "marburg",
+   121,
+   "exact-handle"
+  ],
+  [
+   "Marimekko Exclusive",
+   "marimekko-exclusive",
+   "marimekko-exclusive",
+   35,
+   "exact-handle"
+  ],
+  [
+   "Mark Alexander",
+   "mark-alexander",
+   "mark-alexander",
+   2,
+   "exact-handle"
+  ],
+  [
+   "Martyn Lawrence Bullard",
+   "martyn-lawrence-bullard",
+   "martyn-lawrence-bullard",
+   80,
+   "exact-handle"
+  ],
+  [
+   "Maya Romanoff",
+   "maya-romanoff",
+   "maya-romanoff",
+   690,
+   "exact-handle"
+  ],
+  [
+   "Mid Century Modern",
+   "mid-century-modern",
+   "mid-century-modern",
+   1318,
+   "exact-handle"
+  ],
+  [
+   "Milton & King",
+   "milton-king",
+   "milton-and-king",
+   2,
+   "title-match"
+  ],
+  [
+   "Mind the Gap",
+   "mind-the-gap",
+   "mind-the-gap",
+   1261,
+   "exact-handle"
+  ],
+  [
+   "Missoni Home",
+   "missoni-home",
+   "missoni-home",
+   119,
+   "exact-handle"
+  ],
+  [
+   "Mulberry",
+   "mulberry",
+   "mulberry-wallcoverings",
+   616,
+   "title-match"
+  ],
+  [
+   "Natural Paint",
+   "natural-paint",
+   "natural-paint",
+   26,
+   "exact-handle"
+  ],
+  [
+   "Newmor",
+   "newmor",
+   "newmor-wallcoverings",
+   542,
+   "title-match"
+  ],
+  [
+   "Newmor Wallcoverings",
+   "newmor-wallcoverings",
+   "newmor-wallcoverings",
+   542,
+   "exact-handle"
+  ],
+  [
+   "Nina Campbell",
+   "nina-campbell",
+   "nina-campbell",
+   902,
+   "exact-handle"
+  ],
+  [
+   "NLXL",
+   "nlxl",
+   "nlxl",
+   10,
+   "exact-handle"
+  ],
+  [
+   "Nobilis",
+   "nobilis",
+   "nobilis-wallcoverings",
+   179,
+   "title-match"
+  ],
+  [
+   "Novasuede",
+   "novasuede",
+   "novasuede",
+   176,
+   "exact-handle"
+  ],
+  [
+   "Osborne & Little",
+   "osborne-little",
+   "osborne-little",
+   1041,
+   "exact-handle"
+  ],
+  [
+   "Osborne & Little Fabrics",
+   "osborne-little-fabrics",
+   "osborne-and-little-fabrics",
+   1101,
+   "title-match"
+  ],
+  [
+   "Paul Montgomery",
+   "paul-montgomery",
+   "paul-montgomery",
+   1545,
+   "exact-handle"
+  ],
+  [
+   "Peg Norriss",
+   "peg-norriss",
+   "peg-norriss-wallcoverings",
+   3,
+   "prefix-match"
+  ],
+  [
+   "Phillip Jeffries",
+   "phillip-jeffries",
+   "phillip-jeffries-wallcoverings",
+   3087,
+   "title-match"
+  ],
+  [
+   "Phillipe Romano",
+   "phillipe-romano",
+   "phillipe-romano",
+   17585,
+   "exact-handle"
+  ],
+  [
+   "Phyllis Morris",
+   "phyllis-morris",
+   "phyllis-morris",
+   28,
+   "exact-handle"
+  ],
+  [
+   "Pierre Frey",
+   "pierre-frey",
+   "pierre-frey-wallcoverings",
+   3,
+   "prefix-match"
+  ],
+  [
+   "Primo Leathers",
+   "primo-leathers",
+   "primo-leathers",
+   135,
+   "exact-handle"
+  ],
+  [
+   "Ralph Lauren",
+   "ralph-lauren",
+   "ralph-lauren",
+   496,
+   "exact-handle"
+  ],
+  [
+   "Ralph Lauren Fabric",
+   "ralph-lauren-fabric",
+   "champs-elysees-chenille",
+   121,
+   "title-match"
+  ],
+  [
+   "Rebel Walls",
+   "rebel-walls",
+   "rebel-walls",
+   3714,
+   "exact-handle"
+  ],
+  [
+   "Retro Walls",
+   "retro-walls",
+   "retro-walls",
+   1991,
+   "exact-handle"
+  ],
+  [
+   "Roberto Cavalli",
+   "roberto-cavalli",
+   "roberto-cavalli",
+   181,
+   "exact-handle"
+  ],
+  [
+   "Romo",
+   "romo",
+   "romo",
+   586,
+   "exact-handle"
+  ],
+  [
+   "Ronald Redding",
+   "ronald-redding",
+   "ronald-redding",
+   157,
+   "exact-handle"
+  ],
+  [
+   "Sacha Walckhoff",
+   "sacha-walckhoff",
+   "sacha-walckhoff-wallcoverings",
+   3,
+   "prefix-match"
+  ],
+  [
+   "Sancar",
+   "sancar",
+   "sancar",
+   42,
+   "exact-handle"
+  ],
+  [
+   "Sandberg",
+   "sandberg",
+   "sandberg",
+   991,
+   "exact-handle"
+  ],
+  [
+   "Scalamandre",
+   "scalamandre",
+   "scalamandre-fabrics",
+   12611,
+   "title-match"
+  ],
+  [
+   "Scalamandre Fabrics",
+   "scalamandre-fabrics",
+   "scalamandre-fabrics",
+   12611,
+   "exact-handle"
+  ],
+  [
+   "Schumacher",
+   "schumacher",
+   "schumacher",
+   2384,
+   "exact-handle"
+  ],
+  [
+   "Steve Abrams Studios",
+   "steve-abrams-studios",
+   "steve-abrams-studios",
+   57,
+   "exact-handle"
+  ],
+  [
+   "SUGARBOO",
+   "sugarboo",
+   "sugarboo",
+   10,
+   "exact-handle"
+  ],
+  [
+   "Surface Stick",
+   "surface-stick",
+   "surface-stick",
+   751,
+   "exact-handle"
+  ],
+  [
+   "Thibaut",
+   "thibaut",
+   "thibaut-wallcoverings",
+   4009,
+   "title-match"
+  ],
+  [
+   "Threads",
+   "threads",
+   "threads",
+   155,
+   "exact-handle"
+  ],
+  [
+   "Traditional Whimsy",
+   "traditional-whimsy",
+   "traditional-whimsy",
+   211,
+   "exact-handle"
+  ],
+  [
+   "Tres Tintas",
+   "tres-tintas",
+   "tres-tintas",
+   591,
+   "exact-handle"
+  ],
+  [
+   "Ultrasuede",
+   "ultrasuede",
+   "ultrasuede",
+   138,
+   "exact-handle"
+  ],
+  [
+   "Vahallan",
+   "vahallan",
+   "vahallan-wallcoverings",
+   4,
+   "prefix-match"
+  ],
+  [
+   "Versa Designed Surfaces",
+   "versa-designed-surfaces",
+   "versa-designed-surfaces-wallcoverings",
+   884,
+   "prefix-match"
+  ],
+  [
+   "Versace",
+   "versace",
+   "versace-wallpaper",
+   543,
+   "prefix-match"
+  ],
+  [
+   "Villa Nova",
+   "villa-nova",
+   "villa-nova",
+   3,
+   "exact-handle"
+  ],
+  [
+   "Wallpaper NYC",
+   "wallpaper-nyc",
+   "wallpaper-nyc",
+   91,
+   "exact-handle"
+  ],
+  [
+   "William Morris",
+   "william-morris",
+   "william-morris-1",
+   587,
+   "title-match"
+  ],
+  [
+   "Wolf Gordon",
+   "wolf-gordon",
+   "wolf-gordon",
+   1527,
+   "exact-handle"
+  ],
+  [
+   "York",
+   "york",
+   "york-wallcoverings",
+   803,
+   "title-match"
+  ],
+  [
+   "Zeuxis Parrhasius Europe",
+   "zeuxis-parrhasius-europe",
+   "zeuxis-parrhasius-europe",
+   22,
+   "exact-handle"
+  ],
+  [
+   "Zoffany",
+   "zoffany",
+   "zoffany-wallcoverings",
+   343,
+   "title-match"
+  ]
+ ],
+ "gap": [
+  [
+   "A.S. Cr\u00e9ation",
+   "a-s-creation"
+  ],
+  [
+   "Abel Macias",
+   "abel-macias"
+  ],
+  [
+   "Ananbo",
+   "ananbo"
+  ],
+  [
+   "Atomic 50 Ceilings",
+   "atomic-50-ceilings"
+  ],
+  [
+   "Belarte Studio",
+   "belarte-studio"
+  ],
+  [
+   "Big Sur Beans",
+   "big-sur-beans"
+  ],
+  [
+   "Black Edition",
+   "black-edition"
+  ],
+  [
+   "Carlisle & Co. Walls",
+   "carlisle-co-walls"
+  ],
+  [
+   "Caroline Cecil Textiles",
+   "caroline-cecil-textiles"
+  ],
+  [
+   "Catchii Netherlands Europe",
+   "catchii-netherlands-europe"
+  ],
+  [
+   "Celerie Kemble",
+   "celerie-kemble"
+  ],
+  [
+   "China Seas Wallpaper",
+   "china-seas-wallpaper"
+  ],
+  [
+   "Clarence House",
+   "clarence-house"
+  ],
+  [
+   "CMO Paris",
+   "cmo-paris"
+  ],
+  [
+   "Contrado",
+   "contrado"
+  ],
+  [
+   "Coordonn\u00e9 Europe",
+   "coordonne-europe"
+  ],
+  [
+   "Designer Wallcoverings",
+   "designer-wallcoverings"
+  ],
+  [
+   "Designtex",
+   "designtex"
+  ],
+  [
+   "Dupenny",
+   "dupenny"
+  ],
+  [
+   "DW Bespoke Studios To Go",
+   "dw-bespoke-studios-to-go"
+  ],
+  [
+   "DW Exclusive Wallpaper",
+   "dw-exclusive-wallpaper"
+  ],
+  [
+   "DW Internal",
+   "dw-internal"
+  ],
+  [
+   "DWHD",
+   "dwhd"
+  ],
+  [
+   "Edge Wallcovering",
+   "edge-wallcovering"
+  ],
+  [
+   "Edge Wallpaper",
+   "edge-wallpaper"
+  ],
+  [
+   "Erika Wakerly",
+   "erika-wakerly"
+  ],
+  [
+   "Fentucci Naturals Walls",
+   "fentucci-naturals-walls"
+  ],
+  [
+   "Flavor Paper",
+   "flavor-paper"
+  ],
+  [
+   "Florence Broadhurst",
+   "florence-broadhurst"
+  ],
+  [
+   "Florentina Feathers",
+   "florentina-feathers"
+  ],
+  [
+   "French Market",
+   "french-market"
+  ],
+  [
+   "G P & J Baker",
+   "g-p-j-baker"
+  ],
+  [
+   "Graduate Collection",
+   "graduate-collection"
+  ],
+  [
+   "Graduate Collection UK",
+   "graduate-collection-uk"
+  ],
+  [
+   "Happy Menocal",
+   "happy-menocal"
+  ],
+  [
+   "Heritage Collection",
+   "heritage-collection"
+  ],
+  [
+   "Holly Hunt In Stock",
+   "holly-hunt-in-stock"
+  ],
+  [
+   "Holly Hunt Walls",
+   "holly-hunt-walls"
+  ],
+  [
+   "Hollywood Wallcoverings",
+   "hollywood-wallcoverings"
+  ],
+  [
+   "IKSEL",
+   "iksel"
+  ],
+  [
+   "JF Fabrics",
+   "jf-fabrics"
+  ],
+  [
+   "Kirkby Design",
+   "kirkby-design"
+  ],
+  [
+   "Laura Ashley Wallpaper",
+   "laura-ashley-wallpaper"
+  ],
+  [
+   "Lee Jofa Modern",
+   "lee-jofa-modern"
+  ],
+  [
+   "Limited Stock",
+   "limited-stock"
+  ],
+  [
+   "Limited Stock Flock",
+   "limited-stock-flock"
+  ],
+  [
+   "Limited Stock Flocked",
+   "limited-stock-flocked"
+  ],
+  [
+   "Limited Stock Prints",
+   "limited-stock-prints"
+  ],
+  [
+   "Lincrusta",
+   "lincrusta"
+  ],
+  [
+   "Linherr Hollingsworth",
+   "linherr-hollingsworth"
+  ],
+  [
+   "Los Angeles Fabrics",
+   "los-angeles-fabrics"
+  ],
+  [
+   "MC Escher Wallpaper",
+   "mc-escher-wallpaper"
+  ],
+  [
+   "Missoni Fabric",
+   "missoni-fabric"
+  ],
+  [
+   "Missoni Wallpaper",
+   "missoni-wallpaper"
+  ],
+  [
+   "Morris and Company",
+   "morris-and-company"
+  ],
+  [
+   "Newwall",
+   "newwall"
+  ],
+  [
+   "Nicolette Mayer Fabrics",
+   "nicolette-mayer-fabrics"
+  ],
+  [
+   "Nicolette Mayer Wallpaper",
+   "nicolette-mayer-wallpaper"
+  ],
+  [
+   "Nina Campbell Wallcoverings",
+   "nina-campbell-wallcoverings"
+  ],
+  [
+   "OLIVIA AND POPP",
+   "olivia-and-popp"
+  ],
+  [
+   "Parkertex",
+   "parkertex"
+  ],
+  [
+   "Patty Madden",
+   "patty-madden"
+  ],
+  [
+   "Paul Montgomery Art Prints",
+   "paul-montgomery-art-prints"
+  ],
+  [
+   "Paul Montgomery Original Art",
+   "paul-montgomery-original-art"
+  ],
+  [
+   "Paul Montgomery Studios",
+   "paul-montgomery-studios"
+  ],
+  [
+   "Peel and Stick",
+   "peel-and-stick"
+  ],
+  [
+   "Pixels",
+   "pixels"
+  ],
+  [
+   "Porsche\u2122 Paint - Speed Yellow",
+   "porschetm-paint-speed-yellow"
+  ],
+  [
+   "PR Faux Leather",
+   "pr-faux-leather"
+  ],
+  [
+   "Printy6",
+   "printy6"
+  ],
+  [
+   "PS Removable Wallpaper",
+   "ps-removable-wallpaper"
+  ],
+  [
+   "Rebecca Moses",
+   "rebecca-moses"
+  ],
+  [
+   "Rebel Studio",
+   "rebel-studio"
+  ],
+  [
+   "Roberto Cavalli Wallpaper",
+   "roberto-cavalli-wallpaper"
+  ],
+  [
+   "Sara Bergqvist",
+   "sara-bergqvist"
+  ],
+  [
+   "Sarah Bartholomew",
+   "sarah-bartholomew"
+  ],
+  [
+   "Scalamandre Wallpaper",
+   "scalamandre-wallpaper"
+  ],
+  [
+   "Scion",
+   "scion"
+  ],
+  [
+   "Showroom Line",
+   "showroom-line"
+  ],
+  [
+   "Sir Edward",
+   "sir-edward"
+  ],
+  [
+   "Sister Parish",
+   "sister-parish"
+  ],
+  [
+   "Steven Abrams Photography",
+   "steven-abrams-photography"
+  ],
+  [
+   "Studio Ditte",
+   "studio-ditte"
+  ],
+  [
+   "Studio Printworks",
+   "studio-printworks"
+  ],
+  [
+   "Telefina Fine Fabrics",
+   "telefina-fine-fabrics"
+  ],
+  [
+   "The Set Decorator",
+   "the-set-decorator"
+  ],
+  [
+   "Timorous Beasties",
+   "timorous-beasties"
+  ],
+  [
+   "Trikes-DL Couch-Eykon-Source-One",
+   "trikes-dl-couch-eykon-source-one"
+  ],
+  [
+   "Trikes-DL Couch-Eykon-Tower",
+   "trikes-dl-couch-eykon-tower"
+  ],
+  [
+   "TWIL",
+   "twil"
+  ],
+  [
+   "Winfield Thybony",
+   "winfield-thybony"
+  ],
+  [
+   "Witch & Watchman",
+   "witch-watchman"
+  ],
+  [
+   "York Contract",
+   "york-contract"
+  ],
+  [
+   "Zeuxis Parrhasius at DW",
+   "zeuxis-parrhasius-at-dw"
+  ],
+  [
+   "Zinc Textile",
+   "zinc-textile"
+  ]
+ ]
+}
\ No newline at end of file
diff --git a/shopify/audit/vendor-collection-gap-refined.json b/shopify/audit/vendor-collection-gap-refined.json
new file mode 100644
index 00000000..5acd3f3e
--- /dev/null
+++ b/shopify/audit/vendor-collection-gap-refined.json
@@ -0,0 +1,386 @@
+{
+ "gap_in_map": [
+  [
+   "Ananbo",
+   "https://www.designerwallcoverings.com/pages/ananbo-murals"
+  ],
+  [
+   "Atomic 50 Ceilings",
+   "https://www.designerwallcoverings.com/pages/vendor-atomic50"
+  ],
+  [
+   "Clarence House",
+   "https://www.designerwallcoverings.com/pages/clarence-house"
+  ],
+  [
+   "Contrado",
+   "https://www.designerwallcoverings.com/pages/contrado"
+  ],
+  [
+   "Designer Wallcoverings",
+   "https://www.designerwallcoverings.com/pages/monterey-california"
+  ],
+  [
+   "DW Exclusive Wallpaper",
+   "https://www.designerwallcoverings.com/pages/dw-exclusive"
+  ],
+  [
+   "Graduate Collection",
+   "https://www.designerwallcoverings.com/collections/the-graduate-collection"
+  ],
+  [
+   "Hollywood Wallcoverings",
+   "https://www.designerwallcoverings.com/collections/hollywood-wallcovering-collection"
+  ],
+  [
+   "Laura Ashley Wallpaper",
+   "https://www.designerwallcoverings.com/collections/laura-ashley"
+  ],
+  [
+   "Lincrusta",
+   "https://www.designerwallcoverings.com/pages/lincrusta"
+  ],
+  [
+   "Missoni Wallpaper",
+   "https://www.designerwallcoverings.com/pages/missoni-wallpaper-and-fabrics"
+  ],
+  [
+   "Morris and Company",
+   "https://www.designerwallcoverings.com/pages/morris-and-company"
+  ],
+  [
+   "OLIVIA AND POPP",
+   "https://www.designerwallcoverings.com/pages/olivia-and-popp-wallpaper"
+  ],
+  [
+   "PR Faux Leather",
+   "https://www.designerwallcoverings.com/pages/faux"
+  ],
+  [
+   "Zeuxis Parrhasius at DW",
+   "https://www.designerwallcoverings.com/collections/zeuxis-parrhasius-wallpaper-collection"
+  ]
+ ],
+ "gap_no_dest": [
+  [
+   "A.S. Cr\u00e9ation",
+   "a-s-creation"
+  ],
+  [
+   "Abel Macias",
+   "abel-macias"
+  ],
+  [
+   "Belarte Studio",
+   "belarte-studio"
+  ],
+  [
+   "Big Sur Beans",
+   "big-sur-beans"
+  ],
+  [
+   "Black Edition",
+   "black-edition"
+  ],
+  [
+   "Carlisle & Co. Walls",
+   "carlisle-co-walls"
+  ],
+  [
+   "Caroline Cecil Textiles",
+   "caroline-cecil-textiles"
+  ],
+  [
+   "Catchii Netherlands Europe",
+   "catchii-netherlands-europe"
+  ],
+  [
+   "Celerie Kemble",
+   "celerie-kemble"
+  ],
+  [
+   "China Seas Wallpaper",
+   "china-seas-wallpaper"
+  ],
+  [
+   "CMO Paris",
+   "cmo-paris"
+  ],
+  [
+   "Coordonn\u00e9 Europe",
+   "coordonne-europe"
+  ],
+  [
+   "Designtex",
+   "designtex"
+  ],
+  [
+   "Dupenny",
+   "dupenny"
+  ],
+  [
+   "DW Bespoke Studios To Go",
+   "dw-bespoke-studios-to-go"
+  ],
+  [
+   "DW Internal",
+   "dw-internal"
+  ],
+  [
+   "DWHD",
+   "dwhd"
+  ],
+  [
+   "Edge Wallcovering",
+   "edge-wallcovering"
+  ],
+  [
+   "Edge Wallpaper",
+   "edge-wallpaper"
+  ],
+  [
+   "Erika Wakerly",
+   "erika-wakerly"
+  ],
+  [
+   "Fentucci Naturals Walls",
+   "fentucci-naturals-walls"
+  ],
+  [
+   "Flavor Paper",
+   "flavor-paper"
+  ],
+  [
+   "Florence Broadhurst",
+   "florence-broadhurst"
+  ],
+  [
+   "Florentina Feathers",
+   "florentina-feathers"
+  ],
+  [
+   "French Market",
+   "french-market"
+  ],
+  [
+   "G P & J Baker",
+   "g-p-j-baker"
+  ],
+  [
+   "Graduate Collection UK",
+   "graduate-collection-uk"
+  ],
+  [
+   "Happy Menocal",
+   "happy-menocal"
+  ],
+  [
+   "Heritage Collection",
+   "heritage-collection"
+  ],
+  [
+   "Holly Hunt In Stock",
+   "holly-hunt-in-stock"
+  ],
+  [
+   "Holly Hunt Walls",
+   "holly-hunt-walls"
+  ],
+  [
+   "IKSEL",
+   "iksel"
+  ],
+  [
+   "JF Fabrics",
+   "jf-fabrics"
+  ],
+  [
+   "Kirkby Design",
+   "kirkby-design"
+  ],
+  [
+   "Lee Jofa Modern",
+   "lee-jofa-modern"
+  ],
+  [
+   "Limited Stock",
+   "limited-stock"
+  ],
+  [
+   "Limited Stock Flock",
+   "limited-stock-flock"
+  ],
+  [
+   "Limited Stock Flocked",
+   "limited-stock-flocked"
+  ],
+  [
+   "Limited Stock Prints",
+   "limited-stock-prints"
+  ],
+  [
+   "Linherr Hollingsworth",
+   "linherr-hollingsworth"
+  ],
+  [
+   "Los Angeles Fabrics",
+   "los-angeles-fabrics"
+  ],
+  [
+   "MC Escher Wallpaper",
+   "mc-escher-wallpaper"
+  ],
+  [
+   "Missoni Fabric",
+   "missoni-fabric"
+  ],
+  [
+   "Newwall",
+   "newwall"
+  ],
+  [
+   "Nicolette Mayer Fabrics",
+   "nicolette-mayer-fabrics"
+  ],
+  [
+   "Nicolette Mayer Wallpaper",
+   "nicolette-mayer-wallpaper"
+  ],
+  [
+   "Nina Campbell Wallcoverings",
+   "nina-campbell-wallcoverings"
+  ],
+  [
+   "Parkertex",
+   "parkertex"
+  ],
+  [
+   "Patty Madden",
+   "patty-madden"
+  ],
+  [
+   "Paul Montgomery Art Prints",
+   "paul-montgomery-art-prints"
+  ],
+  [
+   "Paul Montgomery Original Art",
+   "paul-montgomery-original-art"
+  ],
+  [
+   "Paul Montgomery Studios",
+   "paul-montgomery-studios"
+  ],
+  [
+   "Peel and Stick",
+   "peel-and-stick"
+  ],
+  [
+   "Pixels",
+   "pixels"
+  ],
+  [
+   "Porsche\u2122 Paint - Speed Yellow",
+   "porschetm-paint-speed-yellow"
+  ],
+  [
+   "Printy6",
+   "printy6"
+  ],
+  [
+   "PS Removable Wallpaper",
+   "ps-removable-wallpaper"
+  ],
+  [
+   "Rebecca Moses",
+   "rebecca-moses"
+  ],
+  [
+   "Rebel Studio",
+   "rebel-studio"
+  ],
+  [
+   "Roberto Cavalli Wallpaper",
+   "roberto-cavalli-wallpaper"
+  ],
+  [
+   "Sara Bergqvist",
+   "sara-bergqvist"
+  ],
+  [
+   "Sarah Bartholomew",
+   "sarah-bartholomew"
+  ],
+  [
+   "Scalamandre Wallpaper",
+   "scalamandre-wallpaper"
+  ],
+  [
+   "Scion",
+   "scion"
+  ],
+  [
+   "Showroom Line",
+   "showroom-line"
+  ],
+  [
+   "Sir Edward",
+   "sir-edward"
+  ],
+  [
+   "Sister Parish",
+   "sister-parish"
+  ],
+  [
+   "Steven Abrams Photography",
+   "steven-abrams-photography"
+  ],
+  [
+   "Studio Ditte",
+   "studio-ditte"
+  ],
+  [
+   "Studio Printworks",
+   "studio-printworks"
+  ],
+  [
+   "Telefina Fine Fabrics",
+   "telefina-fine-fabrics"
+  ],
+  [
+   "The Set Decorator",
+   "the-set-decorator"
+  ],
+  [
+   "Timorous Beasties",
+   "timorous-beasties"
+  ],
+  [
+   "Trikes-DL Couch-Eykon-Source-One",
+   "trikes-dl-couch-eykon-source-one"
+  ],
+  [
+   "Trikes-DL Couch-Eykon-Tower",
+   "trikes-dl-couch-eykon-tower"
+  ],
+  [
+   "TWIL",
+   "twil"
+  ],
+  [
+   "Winfield Thybony",
+   "winfield-thybony"
+  ],
+  [
+   "Witch & Watchman",
+   "witch-watchman"
+  ],
+  [
+   "York Contract",
+   "york-contract"
+  ],
+  [
+   "Zinc Textile",
+   "zinc-textile"
+  ]
+ ]
+}
\ No newline at end of file

← b2a25a5b Fix Tres Tintas room generator infinite-loop: GraphQL var na  ·  back to Designer Wallcoverings  ·  Spec recrawl: title-SKU fallback for the 22 active Tres Tint ea390dcd →