← back to Designer Wallcoverings
auto-save: 2026-07-09T23:12:38 (10 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/audits/doubleroll-lengths-thibaut-before.jsonl shopify/scripts/audits/doubleroll-lengths-wallquest-before.jsonl vendor-scrapers/china-seas-refresh DW-Programming/ImportNewSkufromURL/yorkwall-costcheck-probe.js
9aa0dfb9da224cafe9099d880fa0a9e15cdb6334 · 2026-07-09 23:12:45 -0700 · Steve Abrams
Files touched
A DW-Programming/ImportNewSkufromURL/yorkwall-costcheck-probe.jsA DW-Programming/ImportNewSkufromURL/yw-diag3.jsA DW-Programming/ImportNewSkufromURL/yw-explore.jsA scripts/wallquest-refresh/daisy-v2-onboard-viewer/index.htmlA scripts/wallquest-refresh/lillian-august-onboard-viewer/index.htmlM shopify/scripts/audits/doubleroll-lengths-thibaut-before.jsonlM shopify/scripts/audits/doubleroll-lengths-wallquest-before.jsonlA shopify/scripts/cadence/data/activations-2026-07-10.jsonl
Diff
commit 9aa0dfb9da224cafe9099d880fa0a9e15cdb6334
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Thu Jul 9 23:12:45 2026 -0700
auto-save: 2026-07-09T23:12:38 (10 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/audits/doubleroll-lengths-thibaut-before.jsonl shopify/scripts/audits/doubleroll-lengths-wallquest-before.jsonl vendor-scrapers/china-seas-refresh DW-Programming/ImportNewSkufromURL/yorkwall-costcheck-probe.js
---
.../yorkwall-costcheck-probe.js | 101 +++++
DW-Programming/ImportNewSkufromURL/yw-diag3.js | 25 ++
DW-Programming/ImportNewSkufromURL/yw-explore.js | 21 ++
.../daisy-v2-onboard-viewer/index.html | 162 ++++++++
.../lillian-august-onboard-viewer/index.html | 411 +++++++++++++++++++++
.../audits/doubleroll-lengths-thibaut-before.jsonl | 73 +++-
.../doubleroll-lengths-wallquest-before.jsonl | 80 ++--
.../cadence/data/activations-2026-07-10.jsonl | 36 ++
8 files changed, 871 insertions(+), 38 deletions(-)
diff --git a/DW-Programming/ImportNewSkufromURL/yorkwall-costcheck-probe.js b/DW-Programming/ImportNewSkufromURL/yorkwall-costcheck-probe.js
new file mode 100644
index 00000000..14f8c405
--- /dev/null
+++ b/DW-Programming/ImportNewSkufromURL/yorkwall-costcheck-probe.js
@@ -0,0 +1,101 @@
+// One-off probe: log into the yorkwall trade portal and dump the price/stock
+// DOM for a single Brewster MFR SKU so we can find the real selectors.
+// Reads creds from the skill file at runtime (no second plaintext copy).
+// $0 local — headless chromium via the project's own playwright.
+const fs = require('fs');
+const os = require('os');
+const path = require('path');
+const { chromium } = require('playwright');
+
+const MFR = process.argv[2] || '437-RD336';
+const SKILL = path.join(os.homedir(), '.claude/skills/brewster-scraper-manager/SKILL.md');
+
+function creds() {
+ const md = fs.readFileSync(SKILL, 'utf8');
+ const u = md.match(/\*\*Username\*\*\s*\|\s*`([^`]+)`/);
+ const p = md.match(/\*\*Password\*\*\s*\|\s*`([^`]+)`/);
+ if (!u || !p) throw new Error('could not parse yorkwall creds from skill file');
+ // env override lets us test the credential interpretation without writing it to a file
+ return { user: (process.env.YW_USER || u[1]).trim(), pass: (process.env.YW_PASS || p[1]).trim() };
+}
+const mask = s => `len=${s.length} [${s[0]}…${s[s.length-1]}]`;
+
+(async () => {
+ const { user, pass } = creds();
+ const browser = await chromium.launch({ headless: true, channel: 'chrome' });
+ const ctx = await browser.newContext({ userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0 Safari/537.36' });
+ const page = await ctx.newPage();
+ const out = { mfr: MFR, steps: [] };
+
+ try {
+ out.credShape = { user: mask(user), pass: mask(pass) };
+ await page.goto('https://www.yorkwall.com/Login/', { waitUntil: 'domcontentloaded', timeout: 30000 });
+ out.steps.push(['login_page', page.url()]);
+
+ // Real field names discovered by the first probe run.
+ await page.fill('#CustomerNumber', user).catch(e => out.steps.push(['fill_user_err', e.message]));
+ await page.fill('#Password', pass).catch(e => out.steps.push(['fill_pass_err', e.message]));
+ // verify the values actually landed in the fields (rules out a silent fill failure)
+ out.fieldEcho = await page.evaluate(() => ({
+ cust: document.querySelector('#CustomerNumber')?.value?.length || 0,
+ pass: document.querySelector('#Password')?.value?.length || 0
+ })).catch(() => null);
+ await Promise.all([
+ page.waitForNavigation({ waitUntil: 'domcontentloaded', timeout: 25000 }).catch(() => {}),
+ page.press('#Password', 'Enter').catch(() => {}),
+ page.click('input[type="submit"], button[type="submit"]').catch(e => out.steps.push(['submit_err', e.message]))
+ ]);
+ await page.waitForLoadState('networkidle', { timeout: 15000 }).catch(() => {});
+ out.steps.push(['after_login', page.url()]);
+ // Truth = does the page still show the auth-rejection banner?
+ out.authError = await page.evaluate(() => /user name or password provided is incorrect/i.test(document.body.innerText)).catch(() => null);
+ out.loggedIn = !/\/Login/i.test(page.url()) && out.authError === false;
+
+ // Discover the site structure: nav links + any search box, so we stop guessing.
+ out.searchBoxes = await page.$$eval('input[type="search"], input[name*="search" i], input[placeholder*="search" i]',
+ els => els.map(e => ({ name: e.name, id: e.id, placeholder: e.placeholder }))).catch(() => []);
+ out.navLinks = await page.$$eval('a[href]', els => Array.from(new Set(els
+ .map(e => e.getAttribute('href'))
+ .filter(h => h && /search|product|catalog|browse|find|sku|item/i.test(h))))
+ .slice(0, 25)).catch(() => []);
+
+ // Try common trade-search URL shapes for the MFR SKU
+ const tries = [
+ `https://www.yorkwall.com/products/search?searchTerm=${encodeURIComponent(MFR)}`,
+ `https://www.yorkwall.com/Products?search=${encodeURIComponent(MFR)}`,
+ `https://www.yorkwall.com/catalogsearch/result/?q=${encodeURIComponent(MFR)}`,
+ `https://www.yorkwall.com/${MFR.toLowerCase()}`
+ ];
+ for (const u of tries) {
+ const r = await page.goto(u, { waitUntil: 'domcontentloaded', timeout: 20000 }).catch(e => ({ _err: e.message }));
+ const status = r && r.status ? r.status() : (r && r._err ? 'ERR' : '?');
+ out.steps.push(['try', u, status, page.url()]);
+ if (status === 200 && !/\/Login/i.test(page.url())) { out.searchLanded = page.url(); break; }
+ }
+
+ // Dump anything that looks like price or stock
+ out.dollarTexts = await page.$$eval('*', els => {
+ const seen = new Set();
+ const hits = [];
+ for (const el of els) {
+ if (el.children.length) continue; // leaf nodes only
+ const t = (el.textContent || '').trim();
+ if (!t || t.length > 80) continue;
+ if (/\$\s?\d|\bstock\b|\bavailab|\bin[-\s]?stock|\bout of stock|\bqty|\bbackorder|\bdiscontinu/i.test(t)) {
+ if (!seen.has(t)) { seen.add(t); hits.push(t); }
+ }
+ }
+ return hits.slice(0, 40);
+ }).catch(e => { out.steps.push(['dump_err', e.message]); return []; });
+
+ out.title = await page.title().catch(() => null);
+ const shot = '/tmp/yorkwall-probe.png';
+ await page.screenshot({ path: shot, fullPage: false }).catch(() => {});
+ out.screenshot = shot;
+ } catch (e) {
+ out.fatal = e.message;
+ } finally {
+ await browser.close();
+ }
+ console.log(JSON.stringify(out, null, 2));
+})();
diff --git a/DW-Programming/ImportNewSkufromURL/yw-diag3.js b/DW-Programming/ImportNewSkufromURL/yw-diag3.js
new file mode 100644
index 00000000..151317db
--- /dev/null
+++ b/DW-Programming/ImportNewSkufromURL/yw-diag3.js
@@ -0,0 +1,25 @@
+const fs=require('fs'),os=require('os'),path=require('path'),{chromium}=require('playwright');
+const md=fs.readFileSync(path.join(os.homedir(),'.claude/skills/brewster-scraper-manager/SKILL.md'),'utf8');
+const user=(process.env.YW_USER||md.match(/\*\*Username\*\*\s*\|\s*`([^`]+)`/)[1]).trim();
+const pass=(process.env.YW_PASS||'').trim();
+(async()=>{
+ const b=await chromium.launch({headless:true,channel:'chrome'});
+ const ctx=await b.newContext();
+ const p=await ctx.newPage();
+ await p.goto('https://www.yorkwall.com/Login/',{waitUntil:'networkidle'});
+ await p.fill('#CustomerNumber',user); await p.fill('#Password',pass);
+ const resp=await Promise.all([
+ p.waitForResponse(r=>/\/Login\/SignIn/i.test(r.url())&&r.request().method()==='POST',{timeout:25000}).catch(()=>null),
+ p.click('input[type="submit"],button[type="submit"]')
+ ]);
+ await p.waitForLoadState('networkidle',{timeout:15000}).catch(()=>{});
+ const postResp=resp[0];
+ console.log('POST status:', postResp? postResp.status():'(no POST captured)');
+ console.log('final URL:', p.url());
+ const cookies=(await ctx.cookies()).map(c=>c.name);
+ console.log('cookies:', JSON.stringify(cookies));
+ const txt=await p.evaluate(()=>document.body.innerText.replace(/\n{2,}/g,'\n').trim());
+ console.log('--- PAGE TEXT (first 900) ---');
+ console.log(txt.slice(0,900));
+ await b.close();
+})();
diff --git a/DW-Programming/ImportNewSkufromURL/yw-explore.js b/DW-Programming/ImportNewSkufromURL/yw-explore.js
new file mode 100644
index 00000000..fcbe6686
--- /dev/null
+++ b/DW-Programming/ImportNewSkufromURL/yw-explore.js
@@ -0,0 +1,21 @@
+const fs=require('fs'),os=require('os'),path=require('path'),{chromium}=require('playwright');
+const md=fs.readFileSync(path.join(os.homedir(),'.claude/skills/brewster-scraper-manager/SKILL.md'),'utf8');
+const user=(process.env.YW_USER||md.match(/\*\*Username\*\*\s*\|\s*`([^`]+)`/)[1]).trim();
+const pass=(process.env.YW_PASS||'').trim();
+(async()=>{
+ const b=await chromium.launch({headless:true,channel:'chrome'});
+ const p=await b.newPage();
+ await p.goto('https://www.yorkwall.com/Login/',{waitUntil:'domcontentloaded'});
+ await p.fill('#CustomerNumber',user); await p.fill('#Password',pass);
+ await Promise.all([p.waitForNavigation({timeout:25000}).catch(()=>{}), p.click('input[type="submit"],button[type="submit"]')]);
+ await p.waitForLoadState('networkidle',{timeout:15000}).catch(()=>{});
+ const o={passLen:pass.length, url:p.url(), title:await p.title()};
+ o.authError=await p.evaluate(()=>/user name or password provided is incorrect/i.test(document.body.innerText));
+ o.loggedIn = !o.authError && !/\/Login\/?$|SignIn/i.test(p.url());
+ o.forms=await p.$$eval('form',fs=>fs.map(f=>({action:f.getAttribute('action'),method:f.method,inputs:[...f.querySelectorAll('input,select')].map(i=>i.name||i.id||i.type).filter(Boolean).slice(0,8)})));
+ o.searchInputs=await p.$$eval('input',is=>is.filter(i=>/search|find|sku|term|keyword|\bq\b/i.test((i.name||'')+' '+(i.id||'')+' '+(i.placeholder||''))).map(i=>({name:i.name,id:i.id,ph:i.placeholder})));
+ o.links=await p.$$eval('a[href]',as=>[...new Set(as.map(a=>a.getAttribute('href')).filter(h=>h&&/search|product|catalog|browse|find/i.test(h)))].slice(0,20));
+ await p.screenshot({path:'/tmp/yw-home.png'});
+ console.log(JSON.stringify(o,null,2));
+ await b.close();
+})();
diff --git a/scripts/wallquest-refresh/daisy-v2-onboard-viewer/index.html b/scripts/wallquest-refresh/daisy-v2-onboard-viewer/index.html
new file mode 100644
index 00000000..5dedce08
--- /dev/null
+++ b/scripts/wallquest-refresh/daisy-v2-onboard-viewer/index.html
@@ -0,0 +1,162 @@
+<!doctype html><meta charset=utf-8><title>daisy_bennett_v2_catalog</title><style>
+body{font:14px/1.4 -apple-system;margin:0;background:#111;color:#eee}header{position:sticky;top:0;background:#1b1b1b;padding:12px 18px;border-bottom:1px solid #333}
+h1{font-size:15px;margin:0}.card{border-bottom:1px solid #262626;padding:12px 18px}.hd{font-weight:600;margin-bottom:6px}
+.row{display:grid;grid-template-columns:1fr 1.6fr;gap:10px;max-width:820px}.cell{background:#191919;border:1px solid #2a2a2a;border-radius:8px;overflow:hidden}
+.lbl{font-size:10px;color:#9a9a9a;padding:4px 8px}.cell img{width:100%;display:block}.desc{font-size:11px;color:#9a9;margin-top:6px;max-width:820px}</style>
+<header><h1>daisy_bennett_v2_catalog — 52 SKUs · Phillipe Romano · per-yard · beach-city (vendor hidden)</h1></header><div class=card><div class=hd>Kennebunkport Cork Haze · <b>$63.25/yd</b> </div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-46445.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-46445-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Kennebunkport Cork Persecco · <b>$63.25/yd</b> </div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-46444.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-46444-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth AlexandriaBeige · <b>$38.3/yd</b> </div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-46325.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-46325-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Angel Blue · <b>$38.3/yd</b> </div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-46055.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-46055-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Aqua · <b>$38.3/yd</b> </div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-46047.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-46047-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Aruba · <b>$38.3/yd</b> </div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-46333.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-46333-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Chocolate · <b>$38.3/yd</b> </div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-46324.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-46324-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Classic Navy · <b>$38.3/yd</b> </div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-46335.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-46335-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Cream · <b>$52.56/yd</b> <span style="color:#e77">⚠ REVIEW-floral-leaf</span></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-40059.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-40059-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Cream · <b>$38.3/yd</b> </div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-46200.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-46200-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Dark Denim · <b>$38.3/yd</b> </div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-46334.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-46334-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Desert Sage · <b>$38.3/yd</b> </div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-46004.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-46004-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Dry Sage · <b>$38.3/yd</b> </div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-46332.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-46332-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Emerald · <b>$52.56/yd</b> </div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-41001.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-41001-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Gold Metallic · <b>$46.32/yd</b> </div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-41015.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-41015-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Gold Metallic · <b>$38.3/yd</b> </div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-46002.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-46002-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Gold Metallic · <b>$46.32/yd</b> <span style="color:#e77">⚠ REVIEW-floral-leaf</span></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-40015.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-40015-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Greige · <b>$66.81/yd</b> </div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-46110.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-46110-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Harvest · <b>$38.3/yd</b> </div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-46322.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-46322-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Hunter Green · <b>$38.3/yd</b> </div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-46006.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-46006-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Lagoon · <b>$38.3/yd</b> </div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-46329.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-46329-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Lake Forest Green · <b>$46.32/yd</b> </div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-46339.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-46339-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Latte · <b>$38.3/yd</b> </div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-46330.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-46330-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Leaf Green · <b>$38.3/yd</b> </div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-46054.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-46054-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Midnight · <b>$38.3/yd</b> </div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-46336.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-46336-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Mocha · <b>$38.3/yd</b> </div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-46327.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-46327-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Navy · <b>$52.56/yd</b> <span style="color:#e77">⚠ REVIEW-floral-leaf</span></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-43002.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-43002-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Navy Taupe · <b>$66.81/yd</b> </div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-46111.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-46111-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Newbury Blue · <b>$38.3/yd</b> </div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-46009.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-46009-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Ochre Gold · <b>$66.81/yd</b> </div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-46114.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-46114-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Oyster Gold · <b>$46.32/yd</b> <span style="color:#e77">⚠ REVIEW-floral-leaf</span></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-43015.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-43015-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Paladian Blue · <b>$38.3/yd</b> </div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-46005.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-46005-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Pearl Seaglass · <b>$46.32/yd</b> </div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-46051.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-46051-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Pebblestone · <b>$46.32/yd</b> </div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-46338.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-46338-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Peppercorn · <b>$66.81/yd</b> </div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-46113.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-46113-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Putty Stone · <b>$66.81/yd</b> </div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-46057.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-46057-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Rose Bisque · <b>$38.3/yd</b> </div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-46326.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-46326-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Russet · <b>$46.32/yd</b> </div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-46543.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-46543-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Sage · <b>$84.63/yd</b> </div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-46220.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-46220-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Sage Silver · <b>$38.3/yd</b> <span style="color:#e77">⚠ REVIEW-floral-leaf</span></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-43016.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-43016-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Sand · <b>$66.81/yd</b> </div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-46115.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-46115-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Seaglass · <b>$38.3/yd</b> </div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-46052.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-46052-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Silver Metallic · <b>$38.3/yd</b> <span style="color:#e77">⚠ REVIEW-floral-leaf</span></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-40001.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-40001-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Slate · <b>$46.32/yd</b> </div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-46340.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-46340-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Soft Linen · <b>$46.32/yd</b> </div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-46337.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-46337-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Tan · <b>$84.63/yd</b> </div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-46216.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-46216-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Taupe · <b>$84.63/yd</b> </div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-46218.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-46218-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Taupe · <b>$38.3/yd</b> </div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-46001.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-46001-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Teal · <b>$38.3/yd</b> </div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-46003.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-46003-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Topaz Blue · <b>$38.3/yd</b> <span style="color:#e77">⚠ REVIEW-floral-leaf</span></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-40022.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-40022-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Topaz Blue · <b>$38.3/yd</b> </div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-41022.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-41022-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Walnut · <b>$38.3/yd</b> </div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWDB2-46542.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWDB2-46542-real.png" loading=lazy></div></div>
+ <div class=desc></div></div>
\ No newline at end of file
diff --git a/scripts/wallquest-refresh/lillian-august-onboard-viewer/index.html b/scripts/wallquest-refresh/lillian-august-onboard-viewer/index.html
new file mode 100644
index 00000000..12c24e99
--- /dev/null
+++ b/scripts/wallquest-refresh/lillian-august-onboard-viewer/index.html
@@ -0,0 +1,411 @@
+<!doctype html><meta charset=utf-8><title>lillian_august_catalog</title><style>
+body{font:14px/1.4 -apple-system;margin:0;background:#111;color:#eee}header{position:sticky;top:0;background:#1b1b1b;padding:12px 18px;border-bottom:1px solid #333}
+h1{font-size:15px;margin:0}.card{border-bottom:1px solid #262626;padding:12px 18px}.hd{font-weight:600;margin-bottom:6px}
+.row{display:grid;grid-template-columns:1fr 1.6fr;gap:10px;max-width:820px}.cell{background:#191919;border:1px solid #2a2a2a;border-radius:8px;overflow:hidden}
+.lbl{font-size:10px;color:#9a9a9a;padding:4px 8px}.cell img{width:100%;display:block}.desc{font-size:11px;color:#9a9;margin-top:6px;max-width:820px}</style>
+<header><h1>lillian_august_catalog — 135 SKUs · Phillipe Romano · per-yard · beach-city (vendor hidden)</h1></header><div class=card><div class=hd>Kennebunkport Cork Basalt · <b>$39.2/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50074.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50074-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Kennebunkport Cork Honey Brown & Jet Black · <b>$41.16/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11853.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11853-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Montauk Paperweave Barley · <b>$37.24/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11894.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11894-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Montauk Paperweave Barley & Black Gloss · <b>$41.16/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11886.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11886-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Montauk Paperweave Bleached Linen · <b>$29.4/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50057.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50057-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Montauk Paperweave Blue Charcoal · <b>$40.98/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50093.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50093-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Montauk Paperweave Bridal White · <b>$29.4/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50058.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50058-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Montauk Paperweave Charcoal & Linen · <b>$33.71/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11884.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11884-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Montauk Paperweave Clean Weave · <b>$32.07/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50055.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50055-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Montauk Paperweave Cool Linen · <b>$40.98/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50102.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50102-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Montauk Paperweave Foil · <b>$48.1/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50104.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50104-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Montauk Paperweave Gray Brown · <b>$40.98/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50096.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50096-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Montauk Paperweave Gray Linen · <b>$32.07/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50105.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50105-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Montauk Paperweave Hazel Cream · <b>$49.89/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50047.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50047-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Montauk Paperweave Ice · <b>$29.4/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50056.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50056-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Montauk Paperweave Metallic Oyster · <b>$33.71/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11882.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11882-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Montauk Paperweave Metallic Pearl · <b>$37.24/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11883.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11883-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Montauk Paperweave Metallic Silver & Greige · <b>$33.71/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11879.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11879-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Montauk Paperweave Metallic Silver & Snowstorm · <b>$33.71/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11878.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11878-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Montauk Paperweave Metallic Silver & Taupe · <b>$41.16/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11880.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11880-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Montauk Paperweave Multi Brown · <b>$40.98/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50063.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50063-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Montauk Paperweave Multi Gray · <b>$40.98/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50079.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50079-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Montauk Paperweave Natural Gray · <b>$40.98/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50098.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50098-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Montauk Paperweave Peoney Cream · <b>$32.07/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50048.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50048-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Montauk Paperweave Quartz · <b>$33.71/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11881.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11881-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Montauk Paperweave Shimmering Ebony · <b>$37.24/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11840.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11840-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Montauk Paperweave Shimmering Pearl · <b>$30.57/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11850.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11850-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Montauk Paperweave Sun Kissed · <b>$48.1/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50038.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50038-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Montauk Paperweave Sunset · <b>$46.32/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50039.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50039-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Montauk Paperweave Tan · <b>$46.32/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50040.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50040-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Montauk Paperweave Taupe Cream · <b>$32.07/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50066.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50066-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Montauk Paperweave Warm Silver · <b>$32.07/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50097.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50097-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Acadia White · <b>$29.4/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50052.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50052-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Aegean Blue · <b>$33.71/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11812.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11812-real.png" loading=lazy></div></div>
+ <div class=desc>Elevate your space with Nantucket Grasscloth's Aegean Blue wallcovering, a sophisticated blend of texture and color that exudes elegance and tranquility.</div></div><div class=card><div class=hd>Nantucket Grasscloth Agean · <b>$35.63/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50000.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50000-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Almond · <b>$35.63/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50045.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50045-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Antique Gold · <b>$37.24/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11876.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11876-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Antique White · <b>$33.71/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11898.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11898-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Antique White & Gold · <b>$41.16/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11891.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11891-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Ash Brown · <b>$30.57/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11836.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11836-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Bay Laurel · <b>$30.57/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11871.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11871-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Beige · <b>$46.32/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50041.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50041-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Black Mesh · <b>$39.2/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50083.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50083-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Black Tan · <b>$26.72/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50085.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50085-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Blanched Almond · <b>$29.4/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50067.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50067-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Blood Orange · <b>$30.57/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11841.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11841-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Blue Smoke & Metallic Silver · <b>$33.71/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11807.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11807-real.png" loading=lazy></div></div>
+ <div class=desc>Elevate your space with Nantucket Grasscloth in Blue Smoke & Metallic Silver, a sophisticated wallcovering that infuses elegance and texture into any interior. The subtle shimmer o</div></div><div class=card><div class=hd>Nantucket Grasscloth Bronze & Gold Shimmer · <b>$37.24/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11806.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11806-real.png" loading=lazy></div></div>
+ <div class=desc>Elevate your space with Nantucket Grasscloth's Bronze & Gold Shimmer wallcovering, a luxurious blend of earthy tones and shimmering accents that exude opulence and sophistication.</div></div><div class=card><div class=hd>Nantucket Grasscloth Burlap · <b>$35.63/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50035.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50035-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Cabernet · <b>$41.16/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11801.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11801-real.png" loading=lazy></div></div>
+ <div class=desc>Elevate your space with Nantucket Grasscloth in Cabernet, a rich, deep red that exudes sophistication and warmth, perfect for creating an inviting ambiance.</div></div><div class=card><div class=hd>Nantucket Grasscloth Café · <b>$29.4/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50042.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50042-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Chocolate · <b>$30.57/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11816.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11816-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Coir & Metallic Graphite · <b>$37.24/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11808.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11808-real.png" loading=lazy></div></div>
+ <div class=desc>Elevate your space with Nantucket Grasscloth's Coir & Metallic Graphite, a sophisticated wallcovering that blends natural textures and metallic sheens for an understated luxury amb</div></div><div class=card><div class=hd>Nantucket Grasscloth Creme Brule · <b>$30.57/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11813.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11813-real.png" loading=lazy></div></div>
+ <div class=desc>Elevate your space with Nantucket Grasscloth in Creme Brule, a refined wallcovering that exudes timeless elegance and sophistication. Its delicate texture and warm beige hue create</div></div><div class=card><div class=hd>Nantucket Grasscloth Crystal · <b>$26.72/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50016.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50016-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Deep Plum · <b>$30.57/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11811.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11811-real.png" loading=lazy></div></div>
+ <div class=desc>Elevate your space with Nantucket Grasscloth's Deep Plum, a rich, deep purple that exudes elegance and sophistication, perfect for creating a luxurious ambiance in any interior.</div></div><div class=card><div class=hd>Nantucket Grasscloth Deep Sea · <b>$37.24/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11832.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11832-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Deep Sea & Metallic Silver · <b>$41.16/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11863.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11863-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Denim · <b>$29.4/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50003.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50003-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Durum · <b>$30.57/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11809.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11809-real.png" loading=lazy></div></div>
+ <div class=desc>Elevate your space with Nantucket Grasscloth Durum, a sophisticated wallcovering that mimics the texture of woven grasses, offering a natural and serene aesthetic. Its earthy tones</div></div><div class=card><div class=hd>Nantucket Grasscloth Elmwood · <b>$30.57/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11837.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11837-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth French Vanilla · <b>$30.57/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11800.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11800-real.png" loading=lazy></div></div>
+ <div class=desc>Elevate your space with Nantucket Grasscloth in French Vanilla, a refined wallcovering that exudes timeless elegance and sophistication.</div></div><div class=card><div class=hd>Nantucket Grasscloth Frosted Linen · <b>$47.04/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11823.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11823-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Golden Rye · <b>$30.57/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11814.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11814-real.png" loading=lazy></div></div>
+ <div class=desc>Elevate your space with Nantucket Grasscloth's 'Golden Rye' swatch, a luxurious wallcovering that exudes warmth and sophistication. Its fine texture mimics the natural beauty of gr</div></div><div class=card><div class=hd>Nantucket Grasscloth Golden Walnut · <b>$30.57/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11846.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11846-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Grape & Metallic Magenta · <b>$47.04/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11851.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11851-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Graphite · <b>$41.16/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11845.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11845-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Graphite & Metallic Silver · <b>$41.16/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11861.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11861-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Green Mist · <b>$30.57/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11844.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11844-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Green Stone · <b>$26.72/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50026.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50026-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Grey Brown · <b>$46.32/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50064.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50064-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Havana · <b>$32.07/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50008.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50008-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Heathered Black · <b>$32.07/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50075.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50075-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Heathered Tan · <b>$32.07/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50034.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50034-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Hidden Cove · <b>$30.57/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11826.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11826-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Honey Brown & Charcoal · <b>$41.16/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11829.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11829-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Honey Brown & Metallic Silver · <b>$41.16/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11849.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11849-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Icy Path · <b>$29.4/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50018.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50018-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Indigo · <b>$30.57/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11802.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11802-real.png" loading=lazy></div></div>
+ <div class=desc>Elevate your space with 'Nantucket Grasscloth' in Indigo, a luxurious wallcovering that exudes timeless elegance and sophistication. Its deep blue hue and subtle texture add a touc</div></div><div class=card><div class=hd>Nantucket Grasscloth Ivory & Metallic Gold · <b>$37.24/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11874.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11874-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Ivory and Jet Black · <b>$33.71/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11865.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11865-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Lake Forest and Sandy Shore · <b>$62.72/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11822.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11822-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Light Multi Gray · <b>$32.07/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50103.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50103-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Linen White · <b>$29.4/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50051.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50051-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Macademia · <b>$35.63/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50046.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50046-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Marine Blue · <b>$35.63/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50010.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50010-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Marine Blue · <b>$30.57/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11866.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11866-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Metallic Frost · <b>$37.24/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11827.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11827-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Metallic Gold and Aloe · <b>$37.24/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11864.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11864-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Metallic Silver & Bluestone · <b>$37.24/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11868.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11868-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Metallic Silver & Cove Gray · <b>$41.16/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11860.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11860-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Mica · <b>$32.07/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50059.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50059-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Mint · <b>$29.4/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50024.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50024-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Multi Linen · <b>$29.4/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50094.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50094-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Multi Silver · <b>$39.2/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50089.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50089-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Natural Gray · <b>$29.4/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50006.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50006-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth New Penny · <b>$35.63/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50031.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50031-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Oat · <b>$33.71/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11875.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11875-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Olive · <b>$30.57/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11804.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11804-real.png" loading=lazy></div></div>
+ <div class=desc>Elevate your space with 'Nantucket Grasscloth' in Olive, a luxurious wallcovering that infuses nature's essence into any room, perfect for those seeking an organic yet sophisticate</div></div><div class=card><div class=hd>Nantucket Grasscloth Onyx · <b>$32.07/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50073.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50073-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Parchment & Metallic Pewter · <b>$37.24/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11843.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11843-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Peacock · <b>$29.4/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50011.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50011-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Pearled Ivory · <b>$33.71/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11899.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11899-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Petal · <b>$29.4/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50069.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50069-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Powder Blue · <b>$30.57/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11862.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11862-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Purple Haze · <b>$30.57/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11821.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11821-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Ruby · <b>$37.24/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11877.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11877-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Salt and Pepper · <b>$30.57/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11830.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11830-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Salt Lake & Silver · <b>$47.04/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11887.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11887-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Sandstone & Metallic Champagne · <b>$37.24/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11838.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11838-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Sandstorm · <b>$30.57/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11872.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11872-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Sandy Shores & Gold · <b>$37.24/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11888.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11888-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Sea Oat · <b>$30.57/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11834.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11834-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Serpentine · <b>$41.16/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11870.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11870-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Silver Beige · <b>$35.63/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50061.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50061-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Silver Birch & Metallic Gold · <b>$41.16/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11859.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11859-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Silver Glitter · <b>$33.71/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11839.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11839-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Silver Green · <b>$32.07/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50027.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50027-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Silver Neutral · <b>$35.63/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50054.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50054-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Smoky Beige · <b>$29.4/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50087.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50087-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Smoky Beige · <b>$29.4/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50062.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50062-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Steam · <b>$29.4/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50007.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50007-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Sugar Cookie · <b>$30.57/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11803.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11803-real.png" loading=lazy></div></div>
+ <div class=desc>Elevate your space with the Nantucket Grasscloth in Sugar Cookie, a luxurious wallcovering that mimics the texture of natural grasses, offering a sophisticated and serene ambiance.</div></div><div class=card><div class=hd>Nantucket Grasscloth Summer White · <b>$46.32/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50049.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50049-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Sute · <b>$48.1/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50012.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50012-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Tan Brown · <b>$29.4/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50032.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50032-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Taupe · <b>$29.4/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50088.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50088-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Taupe · <b>$29.4/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50080.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50080-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Tender Green · <b>$30.57/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11824.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11824-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Warm Cool · <b>$35.63/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50091.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50091-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Warm Gray · <b>$29.4/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50095.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50095-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Warm Gray · <b>$35.63/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50092.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50092-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth White Sands · <b>$30.57/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11810.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11810-real.png" loading=lazy></div></div>
+ <div class=desc>Elevate your space with Nantucket Grasscloth in White Sands—a sophisticated wallcovering that mimics the texture of natural grass, offering a serene and timeless aesthetic.</div></div><div class=card><div class=hd>Nantucket Grasscloth Wicker · <b>$37.24/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-11833.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-11833-real.png" loading=lazy></div></div>
+ <div class=desc></div></div><div class=card><div class=hd>Nantucket Grasscloth Winter Gray · <b>$29.4/yd</b></div>
+ <div class=row><div class=cell><div class=lbl>Sample</div><img src="img/DWLA-50101.jpg" loading=lazy></div>
+ <div class=cell><div class=lbl>Room</div><img src="rooms-local/DWLA-50101-real.png" loading=lazy></div></div>
+ <div class=desc></div></div>
\ No newline at end of file
diff --git a/shopify/scripts/audits/doubleroll-lengths-thibaut-before.jsonl b/shopify/scripts/audits/doubleroll-lengths-thibaut-before.jsonl
index cff648df..d47ff951 100644
--- a/shopify/scripts/audits/doubleroll-lengths-thibaut-before.jsonl
+++ b/shopify/scripts/audits/doubleroll-lengths-thibaut-before.jsonl
@@ -3090,20 +3090,59 @@
{"id": "gid://shopify/Product/7879346159667", "handle": "normandy-mineral-dwtt-73867", "status": "ACTIVE", "width": "27 Inches", "length": "4.5\u00a0yd\u00a0(4.11\u00a0m)", "single_roll_length": "4.5\u00a0yd\u00a0(4.11\u00a0m)", "double_roll_length": "9\u00a0yd\u00a0(8.22\u00a0m)", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 27 Inches \u00d7 4.5\u00a0yd\u00a0(4.11\u00a0m). Double roll: 27 Inches \u00d7 9\u00a0yd\u00a0(8.22\u00a0m).", "pmin": "2", "roll_variants": ["DWTT-73867"]}
{"id": "gid://shopify/Product/7879346225203", "handle": "normandy-emerald-dwtt-73868", "status": "ACTIVE", "width": "27 Inches", "length": "4.5\u00a0yd\u00a0(4.11\u00a0m)", "single_roll_length": "4.5\u00a0yd\u00a0(4.11\u00a0m)", "double_roll_length": "9\u00a0yd\u00a0(8.22\u00a0m)", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 27 Inches \u00d7 4.5\u00a0yd\u00a0(4.11\u00a0m). Double roll: 27 Inches \u00d7 9\u00a0yd\u00a0(8.22\u00a0m).", "pmin": "2", "roll_variants": ["DWTT-73868"]}
{"id": "gid://shopify/Product/7879346257971", "handle": "normandy-charcoal-dwtt-73869", "status": "ACTIVE", "width": "27 Inches", "length": "4.5\u00a0yd\u00a0(4.11\u00a0m)", "single_roll_length": "4.5\u00a0yd\u00a0(4.11\u00a0m)", "double_roll_length": "9\u00a0yd\u00a0(8.22\u00a0m)", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 27 Inches \u00d7 4.5\u00a0yd\u00a0(4.11\u00a0m). Double roll: 27 Inches \u00d7 9\u00a0yd\u00a0(8.22\u00a0m).", "pmin": "2", "roll_variants": ["DWTT-73869"]}
-{"id": "gid://shopify/Product/7879407992883", "handle": "normandy-navy-dwtt-73870", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73870"]}
-{"id": "gid://shopify/Product/7879408025651", "handle": "spiro-grey-dwtt-73871", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73871"]}
-{"id": "gid://shopify/Product/7879408058419", "handle": "spiro-off-white-dwtt-73872", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73872"]}
-{"id": "gid://shopify/Product/7879443185715", "handle": "spiro-taupe-dwtt-73873", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73873"]}
-{"id": "gid://shopify/Product/7879443218483", "handle": "spiro-robin-s-egg-dwtt-73874", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73874"]}
-{"id": "gid://shopify/Product/7879443251251", "handle": "spiro-cornflower-dwtt-73875", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73875"]}
-{"id": "gid://shopify/Product/7879454720051", "handle": "spiro-blue-dwtt-73876", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73876"]}
-{"id": "gid://shopify/Product/7879454752819", "handle": "spiro-aqua-and-neutral-dwtt-73877", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73877"]}
-{"id": "gid://shopify/Product/7879454785587", "handle": "wood-herringbone-taupe-dwtt-73878", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73878"]}
-{"id": "gid://shopify/Product/7879497646131", "handle": "wood-herringbone-natural-on-metallic-silver-dwtt-73879", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73879"]}
-{"id": "gid://shopify/Product/7879497678899", "handle": "woolston-ivory-dwtt-73880", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73880"]}
-{"id": "gid://shopify/Product/7879497744435", "handle": "woolston-yellow-dwtt-73881", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73881"]}
-{"id": "gid://shopify/Product/7879542112307", "handle": "woolston-coral-dwtt-73882", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73882"]}
-{"id": "gid://shopify/Product/7879542145075", "handle": "woolston-navy-dwtt-73883", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73883"]}
-{"id": "gid://shopify/Product/7879542177843", "handle": "woolston-light-blue-dwtt-73884", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73884"]}
-{"id": "gid://shopify/Product/7879563673651", "handle": "spiro-neutral-and-blue-dwtt-73885", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73885"]}
-{"id": "gid://shopify/Product/7879563706419", "handle": "bayshore-basket-sand-dwtt-73886", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73886"]}
+{"id": "gid://shopify/Product/7879407992883", "handle": "normandy-navy-dwtt-73870", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": "4.5\u00a0yd\u00a0(4.11\u00a0m)", "double_roll_length": "9\u00a0yd\u00a0(8.22\u00a0m)", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 27 Inches \u00d7 4.5\u00a0yd\u00a0(4.11\u00a0m). Double roll: 27 Inches \u00d7 9\u00a0yd\u00a0(8.22\u00a0m).", "pmin": "2", "roll_variants": ["DWTT-73870"]}
+{"id": "gid://shopify/Product/7879408025651", "handle": "spiro-grey-dwtt-73871", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": "4.5\u00a0yd\u00a0(4.11\u00a0m)", "double_roll_length": "9\u00a0yd\u00a0(8.22\u00a0m)", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 27 Inches \u00d7 4.5\u00a0yd\u00a0(4.11\u00a0m). Double roll: 27 Inches \u00d7 9\u00a0yd\u00a0(8.22\u00a0m).", "pmin": "2", "roll_variants": ["DWTT-73871"]}
+{"id": "gid://shopify/Product/7879408058419", "handle": "spiro-off-white-dwtt-73872", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": "4.5\u00a0yd\u00a0(4.11\u00a0m)", "double_roll_length": "9\u00a0yd\u00a0(8.22\u00a0m)", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 27 Inches \u00d7 4.5\u00a0yd\u00a0(4.11\u00a0m). Double roll: 27 Inches \u00d7 9\u00a0yd\u00a0(8.22\u00a0m).", "pmin": "2", "roll_variants": ["DWTT-73872"]}
+{"id": "gid://shopify/Product/7879443185715", "handle": "spiro-taupe-dwtt-73873", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": "4.5\u00a0yd\u00a0(4.11\u00a0m)", "double_roll_length": "9\u00a0yd\u00a0(8.22\u00a0m)", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 27 Inches \u00d7 4.5\u00a0yd\u00a0(4.11\u00a0m). Double roll: 27 Inches \u00d7 9\u00a0yd\u00a0(8.22\u00a0m).", "pmin": "2", "roll_variants": ["DWTT-73873"]}
+{"id": "gid://shopify/Product/7879443218483", "handle": "spiro-robin-s-egg-dwtt-73874", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": "4.5\u00a0yd\u00a0(4.11\u00a0m)", "double_roll_length": "9\u00a0yd\u00a0(8.22\u00a0m)", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 27 Inches \u00d7 4.5\u00a0yd\u00a0(4.11\u00a0m). Double roll: 27 Inches \u00d7 9\u00a0yd\u00a0(8.22\u00a0m).", "pmin": "2", "roll_variants": ["DWTT-73874"]}
+{"id": "gid://shopify/Product/7879443251251", "handle": "spiro-cornflower-dwtt-73875", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": "4.5\u00a0yd\u00a0(4.11\u00a0m)", "double_roll_length": "9\u00a0yd\u00a0(8.22\u00a0m)", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 27 Inches \u00d7 4.5\u00a0yd\u00a0(4.11\u00a0m). Double roll: 27 Inches \u00d7 9\u00a0yd\u00a0(8.22\u00a0m).", "pmin": "2", "roll_variants": ["DWTT-73875"]}
+{"id": "gid://shopify/Product/7879454720051", "handle": "spiro-blue-dwtt-73876", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": "4.5\u00a0yd\u00a0(4.11\u00a0m)", "double_roll_length": "9\u00a0yd\u00a0(8.22\u00a0m)", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 27 Inches \u00d7 4.5\u00a0yd\u00a0(4.11\u00a0m). Double roll: 27 Inches \u00d7 9\u00a0yd\u00a0(8.22\u00a0m).", "pmin": "2", "roll_variants": ["DWTT-73876"]}
+{"id": "gid://shopify/Product/7879454752819", "handle": "spiro-aqua-and-neutral-dwtt-73877", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": "4.5\u00a0yd\u00a0(4.11\u00a0m)", "double_roll_length": "9\u00a0yd\u00a0(8.22\u00a0m)", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 27 Inches \u00d7 4.5\u00a0yd\u00a0(4.11\u00a0m). Double roll: 27 Inches \u00d7 9\u00a0yd\u00a0(8.22\u00a0m).", "pmin": "2", "roll_variants": ["DWTT-73877"]}
+{"id": "gid://shopify/Product/7879454785587", "handle": "wood-herringbone-taupe-dwtt-73878", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": "4.5\u00a0yd\u00a0(4.11\u00a0m)", "double_roll_length": "9\u00a0yd\u00a0(8.22\u00a0m)", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 27 Inches \u00d7 4.5\u00a0yd\u00a0(4.11\u00a0m). Double roll: 27 Inches \u00d7 9\u00a0yd\u00a0(8.22\u00a0m).", "pmin": "2", "roll_variants": ["DWTT-73878"]}
+{"id": "gid://shopify/Product/7879497646131", "handle": "wood-herringbone-natural-on-metallic-silver-dwtt-73879", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": "4.5\u00a0yd\u00a0(4.11\u00a0m)", "double_roll_length": "9\u00a0yd\u00a0(8.22\u00a0m)", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 27 Inches \u00d7 4.5\u00a0yd\u00a0(4.11\u00a0m). Double roll: 27 Inches \u00d7 9\u00a0yd\u00a0(8.22\u00a0m).", "pmin": "2", "roll_variants": ["DWTT-73879"]}
+{"id": "gid://shopify/Product/7879497678899", "handle": "woolston-ivory-dwtt-73880", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": "4.5\u00a0yd\u00a0(4.11\u00a0m)", "double_roll_length": "9\u00a0yd\u00a0(8.22\u00a0m)", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 27 Inches \u00d7 4.5\u00a0yd\u00a0(4.11\u00a0m). Double roll: 27 Inches \u00d7 9\u00a0yd\u00a0(8.22\u00a0m).", "pmin": "2", "roll_variants": ["DWTT-73880"]}
+{"id": "gid://shopify/Product/7879497744435", "handle": "woolston-yellow-dwtt-73881", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": "4.5\u00a0yd\u00a0(4.11\u00a0m)", "double_roll_length": "9\u00a0yd\u00a0(8.22\u00a0m)", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 27 Inches \u00d7 4.5\u00a0yd\u00a0(4.11\u00a0m). Double roll: 27 Inches \u00d7 9\u00a0yd\u00a0(8.22\u00a0m).", "pmin": "2", "roll_variants": ["DWTT-73881"]}
+{"id": "gid://shopify/Product/7879542112307", "handle": "woolston-coral-dwtt-73882", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": "4.5\u00a0yd\u00a0(4.11\u00a0m)", "double_roll_length": "9\u00a0yd\u00a0(8.22\u00a0m)", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 27 Inches \u00d7 4.5\u00a0yd\u00a0(4.11\u00a0m). Double roll: 27 Inches \u00d7 9\u00a0yd\u00a0(8.22\u00a0m).", "pmin": "2", "roll_variants": ["DWTT-73882"]}
+{"id": "gid://shopify/Product/7879542145075", "handle": "woolston-navy-dwtt-73883", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": "4.5\u00a0yd\u00a0(4.11\u00a0m)", "double_roll_length": "9\u00a0yd\u00a0(8.22\u00a0m)", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 27 Inches \u00d7 4.5\u00a0yd\u00a0(4.11\u00a0m). Double roll: 27 Inches \u00d7 9\u00a0yd\u00a0(8.22\u00a0m).", "pmin": "2", "roll_variants": ["DWTT-73883"]}
+{"id": "gid://shopify/Product/7879542177843", "handle": "woolston-light-blue-dwtt-73884", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": "4.5\u00a0yd\u00a0(4.11\u00a0m)", "double_roll_length": "9\u00a0yd\u00a0(8.22\u00a0m)", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 27 Inches \u00d7 4.5\u00a0yd\u00a0(4.11\u00a0m). Double roll: 27 Inches \u00d7 9\u00a0yd\u00a0(8.22\u00a0m).", "pmin": "2", "roll_variants": ["DWTT-73884"]}
+{"id": "gid://shopify/Product/7879563673651", "handle": "spiro-neutral-and-blue-dwtt-73885", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": "4.5\u00a0yd\u00a0(4.11\u00a0m)", "double_roll_length": "9\u00a0yd\u00a0(8.22\u00a0m)", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 27 Inches \u00d7 4.5\u00a0yd\u00a0(4.11\u00a0m). Double roll: 27 Inches \u00d7 9\u00a0yd\u00a0(8.22\u00a0m).", "pmin": "2", "roll_variants": ["DWTT-73885"]}
+{"id": "gid://shopify/Product/7879563706419", "handle": "bayshore-basket-sand-dwtt-73886", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": "4.5\u00a0yd\u00a0(4.11\u00a0m)", "double_roll_length": "9\u00a0yd\u00a0(8.22\u00a0m)", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 27 Inches \u00d7 4.5\u00a0yd\u00a0(4.11\u00a0m). Double roll: 27 Inches \u00d7 9\u00a0yd\u00a0(8.22\u00a0m).", "pmin": "2", "roll_variants": ["DWTT-73886"]}
+{"id": "gid://shopify/Product/7879668760627", "handle": "bayshore-basket-off-white-dwtt-73887", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73887"]}
+{"id": "gid://shopify/Product/7879668793395", "handle": "bayshore-basket-grey-dwtt-73888", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73888"]}
+{"id": "gid://shopify/Product/7879668826163", "handle": "bayshore-basket-taupe-dwtt-73889", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73889"]}
+{"id": "gid://shopify/Product/7879691370547", "handle": "bayshore-basket-robin-s-egg-dwtt-73890", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73890"]}
+{"id": "gid://shopify/Product/7879691403315", "handle": "bayshore-basket-navy-dwtt-73891", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73891"]}
+{"id": "gid://shopify/Product/7879691436083", "handle": "yukio-yellow-dwtt-73892", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73892"]}
+{"id": "gid://shopify/Product/7879714144307", "handle": "yukio-green-dwtt-73893", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73893"]}
+{"id": "gid://shopify/Product/7879714209843", "handle": "yukio-blue-and-green-dwtt-73894", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73894"]}
+{"id": "gid://shopify/Product/7879714242611", "handle": "yukio-spa-blue-dwtt-73895", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73895"]}
+{"id": "gid://shopify/Product/7879809171507", "handle": "yukio-black-dwtt-73896", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73896"]}
+{"id": "gid://shopify/Product/7879809237043", "handle": "yukio-navy-and-pink-dwtt-73897", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73897"]}
+{"id": "gid://shopify/Product/7879809302579", "handle": "yukio-navy-and-white-dwtt-73898", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73898"]}
+{"id": "gid://shopify/Product/7879832371251", "handle": "yukio-cream-dwtt-73899", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73899"]}
+{"id": "gid://shopify/Product/7879832469555", "handle": "t-square-yellow-dwtt-73900", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73900"]}
+{"id": "gid://shopify/Product/7879832502323", "handle": "t-square-navy-dwtt-73901", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73901"]}
+{"id": "gid://shopify/Product/7879858389043", "handle": "t-square-light-grey-dwtt-73902", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73902"]}
+{"id": "gid://shopify/Product/7879858421811", "handle": "t-square-light-blue-dwtt-73903", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73903"]}
+{"id": "gid://shopify/Product/7879858454579", "handle": "t-square-cream-dwtt-73904", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73904"]}
+{"id": "gid://shopify/Product/7879875919923", "handle": "t-square-blush-dwtt-73905", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73905"]}
+{"id": "gid://shopify/Product/7879875952691", "handle": "t-square-raspberry-dwtt-73906", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73906"]}
+{"id": "gid://shopify/Product/7879875985459", "handle": "t-square-forest-green-dwtt-73907", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73907"]}
+{"id": "gid://shopify/Product/7879901380659", "handle": "t-square-spa-blue-dwtt-73908", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73908"]}
+{"id": "gid://shopify/Product/7879901446195", "handle": "t-square-light-green-dwtt-73909", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73909"]}
+{"id": "gid://shopify/Product/7879901478963", "handle": "la-palma-charcoal-dwtt-73910", "status": "ACTIVE", "width": "36 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73910"]}
+{"id": "gid://shopify/Product/7879917142067", "handle": "t-square-navy-dwtt-73911", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73911"]}
+{"id": "gid://shopify/Product/7879917174835", "handle": "la-palma-seagreen-dwtt-73912", "status": "ACTIVE", "width": "36 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73912"]}
+{"id": "gid://shopify/Product/7879917207603", "handle": "la-palma-bark-dwtt-73913", "status": "ACTIVE", "width": "36 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73913"]}
+{"id": "gid://shopify/Product/7879978647603", "handle": "la-palma-peacock-dwtt-73914", "status": "ACTIVE", "width": "36 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73914"]}
+{"id": "gid://shopify/Product/7879978680371", "handle": "la-palma-pewter-dwtt-73915", "status": "ACTIVE", "width": "36 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73915"]}
+{"id": "gid://shopify/Product/7879978876979", "handle": "la-palma-white-dwtt-73916", "status": "ACTIVE", "width": "36 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73916"]}
+{"id": "gid://shopify/Product/7879993458739", "handle": "sutton-white-dwtt-73917", "status": "ACTIVE", "width": "36 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73917"]}
+{"id": "gid://shopify/Product/7879993491507", "handle": "sutton-beige-dwtt-73918", "status": "ACTIVE", "width": "36 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73918"]}
+{"id": "gid://shopify/Product/7879993524275", "handle": "sutton-metallic-gold-and-white-dwtt-73919", "status": "ACTIVE", "width": "36 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73919"]}
+{"id": "gid://shopify/Product/7880021934131", "handle": "sutton-blue-dwtt-73920", "status": "ACTIVE", "width": "36 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73920"]}
+{"id": "gid://shopify/Product/7880022032435", "handle": "sutton-natural-dwtt-73921", "status": "ACTIVE", "width": "36 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73921"]}
+{"id": "gid://shopify/Product/7880022065203", "handle": "sutton-metallic-silver-dwtt-73922", "status": "ACTIVE", "width": "36 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73922"]}
+{"id": "gid://shopify/Product/7880042446899", "handle": "raffia-palm-plum-dwtt-73923", "status": "ACTIVE", "width": "36 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73923"]}
+{"id": "gid://shopify/Product/7880042479667", "handle": "raffia-palm-grey-dwtt-73924", "status": "ACTIVE", "width": "36 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73924"]}
+{"id": "gid://shopify/Product/7880042512435", "handle": "raffia-palm-coral-dwtt-73925", "status": "ACTIVE", "width": "36 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWTT-73925"]}
diff --git a/shopify/scripts/audits/doubleroll-lengths-wallquest-before.jsonl b/shopify/scripts/audits/doubleroll-lengths-wallquest-before.jsonl
index bc04fd62..de6c8cb7 100644
--- a/shopify/scripts/audits/doubleroll-lengths-wallquest-before.jsonl
+++ b/shopify/scripts/audits/doubleroll-lengths-wallquest-before.jsonl
@@ -12,7 +12,7 @@
{"id": "gid://shopify/Product/1497989677168", "handle": "odaiba-printed-texture-wallpaper-cda-96715", "status": "ACTIVE", "width": "20.5\"", "length": "20.5\" x 16.5'", "single_roll_length": null, "double_roll_length": null, "uom": "Sold per Single Roll", "pmin": "2", "roll_variants": []}
{"id": "gid://shopify/Product/1497989841008", "handle": "odaiba-printed-texture-wallpaper-cda-96716", "status": "ACTIVE", "width": "20.5\"", "length": "20.5\" x 16.5'", "single_roll_length": null, "double_roll_length": null, "uom": "Sold per Single Roll", "pmin": "2", "roll_variants": []}
{"id": "gid://shopify/Product/1497989972080", "handle": "odaiba-printed-texture-wallpaper-cda-96717", "status": "ACTIVE", "width": "20.5\"", "length": "20.5\" x 16.5'", "single_roll_length": null, "double_roll_length": null, "uom": "Sold per Single Roll", "pmin": "2", "roll_variants": []}
-{"id": "gid://shopify/Product/1497990135920", "handle": "yagishiri-island-koi-fish-wallpaper-cda-96718", "status": "ACTIVE", "width": "20.5\"", "length": "20.5\" x 16.5'", "single_roll_length": "5.5 yd", "double_roll_length": "11 yd", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 20.5\" \u00d7 5.5 yd. Double roll: 20.5\" \u00d7 11 yd.", "pmin": "2", "roll_variants": ["CDA-96718"]}
+{"id": "gid://shopify/Product/1497990135920", "handle": "yagishiri-island-koi-fish-wallpaper-cda-96718", "status": "ACTIVE", "width": "20.5\"", "length": "20.5\" x 16.5'", "single_roll_length": "16.5'", "double_roll_length": "33'", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 20.5\" \u00d7 16.5'. Double roll: 20.5\" \u00d7 33'.", "pmin": "2", "roll_variants": ["CDA-96718"]}
{"id": "gid://shopify/Product/1497990791280", "handle": "yagishiri-island-koi-fish-wallpaper-cda-96719", "status": "ACTIVE", "width": "20.5\"", "length": "20.5\" x 16.5'", "single_roll_length": null, "double_roll_length": null, "uom": "Sold per Single Roll", "pmin": "2", "roll_variants": []}
{"id": "gid://shopify/Product/1497991348336", "handle": "yagishiri-island-koi-fish-wallpaper-cda-96720", "status": "ACTIVE", "width": "20.5\"", "length": "20.5\" x 16.5'", "single_roll_length": null, "double_roll_length": null, "uom": "Sold per Single Roll", "pmin": "2", "roll_variants": []}
{"id": "gid://shopify/Product/1497991807088", "handle": "yagishiri-island-koi-fish-wallpaper-cda-96721", "status": "ACTIVE", "width": "20.5\"", "length": "20.5\" x 16.5'", "single_roll_length": null, "double_roll_length": null, "uom": "Sold per Single Roll", "pmin": "2", "roll_variants": []}
@@ -22,7 +22,7 @@
{"id": "gid://shopify/Product/1497992986736", "handle": "ko-island-printed-horizontal-wallpaper-cda-96725", "status": "ACTIVE", "width": "20.5\"", "length": "20.5\" x 16.5'", "single_roll_length": null, "double_roll_length": null, "uom": "Sold per Single Roll", "pmin": "2", "roll_variants": []}
{"id": "gid://shopify/Product/1497993281648", "handle": "mitsu-gingko-tree-wallpaper-cda-96726", "status": "ACTIVE", "width": "20.5\"", "length": "20.5\" x 16.5'", "single_roll_length": null, "double_roll_length": null, "uom": "Sold per Single Roll", "pmin": "2", "roll_variants": []}
{"id": "gid://shopify/Product/1497993478256", "handle": "mitsu-gingko-tree-wallpaper-cda-96727", "status": "ACTIVE", "width": "20.5\"", "length": "20.5\" x 16.5'", "single_roll_length": null, "double_roll_length": null, "uom": "Sold per Single Roll", "pmin": "2", "roll_variants": []}
-{"id": "gid://shopify/Product/1497993674864", "handle": "mitsu-gingko-tree-wallpaper-cda-96728", "status": "ACTIVE", "width": "20.5\"", "length": "20.5\" x 16.5'", "single_roll_length": "5.5 yd", "double_roll_length": "11 yd", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 20.5\" \u00d7 5.5 yd. Double roll: 20.5\" \u00d7 11 yd.", "pmin": "2", "roll_variants": ["CDA-96728"]}
+{"id": "gid://shopify/Product/1497993674864", "handle": "mitsu-gingko-tree-wallpaper-cda-96728", "status": "ACTIVE", "width": "20.5\"", "length": "20.5\" x 16.5'", "single_roll_length": "16.5'", "double_roll_length": "33'", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 20.5\" \u00d7 16.5'. Double roll: 20.5\" \u00d7 33'.", "pmin": "2", "roll_variants": ["CDA-96728"]}
{"id": "gid://shopify/Product/1497994068080", "handle": "sado-contemporary-scallop-wallpaper-cda-96729", "status": "ACTIVE", "width": "20.5\"", "length": "20.5\" x 16.5'", "single_roll_length": null, "double_roll_length": null, "uom": "Sold per Single Roll", "pmin": "2", "roll_variants": []}
{"id": "gid://shopify/Product/1497994461296", "handle": "sado-contemporary-scallop-wallpaper-cda-96730", "status": "ACTIVE", "width": "20.5\"", "length": "20.5\" x 16.5'", "single_roll_length": null, "double_roll_length": null, "uom": "Sold per Single Roll", "pmin": "2", "roll_variants": []}
{"id": "gid://shopify/Product/1497994723440", "handle": "sado-contemporary-scallop-wallpaper-cda-96731", "status": "ACTIVE", "width": "20.5\"", "length": "20.5\" x 16.5'", "single_roll_length": null, "double_roll_length": null, "uom": "Sold per Single Roll", "pmin": "2", "roll_variants": []}
@@ -46,7 +46,7 @@
{"id": "gid://shopify/Product/1498001244272", "handle": "rishiri-island-tropical-lilly-wallpaper-cda-96749", "status": "ACTIVE", "width": "27\"", "length": "20.5\" x 16.5'", "single_roll_length": null, "double_roll_length": null, "uom": "Sold per Single Roll", "pmin": "2", "roll_variants": []}
{"id": "gid://shopify/Product/1498001440880", "handle": "rishiri-island-tropical-lilly-wallpaper-cda-96750", "status": "ACTIVE", "width": "27\"", "length": "20.5\" x 16.5'", "single_roll_length": null, "double_roll_length": null, "uom": "Sold per Single Roll", "pmin": "2", "roll_variants": []}
{"id": "gid://shopify/Product/1498001637488", "handle": "rebun-island-lattice-trellis-wallpaper-cda-96751", "status": "ACTIVE", "width": "27\"", "length": "20.5\" x 16.5'", "single_roll_length": null, "double_roll_length": null, "uom": "Sold per Single Roll", "pmin": "2", "roll_variants": []}
-{"id": "gid://shopify/Product/1498001834096", "handle": "rebun-island-lattice-trellis-wallpaper-cda-96752", "status": "ACTIVE", "width": "27\"", "length": "20.5\" x 16.5'", "single_roll_length": "5.5 yd", "double_roll_length": "11 yd", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 27\" \u00d7 5.5 yd. Double roll: 27\" \u00d7 11 yd.", "pmin": "2", "roll_variants": ["CDA-96752"]}
+{"id": "gid://shopify/Product/1498001834096", "handle": "rebun-island-lattice-trellis-wallpaper-cda-96752", "status": "ACTIVE", "width": "27\"", "length": "20.5\" x 16.5'", "single_roll_length": "16.5'", "double_roll_length": "33'", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 27\" \u00d7 16.5'. Double roll: 27\" \u00d7 33'.", "pmin": "2", "roll_variants": ["CDA-96752"]}
{"id": "gid://shopify/Product/1498002030704", "handle": "rebun-island-lattice-trellis-wallpaper-cda-96753", "status": "ACTIVE", "width": "27\"", "length": "20.5\" x 16.5'", "single_roll_length": null, "double_roll_length": null, "uom": "Sold per Single Roll", "pmin": "2", "roll_variants": []}
{"id": "gid://shopify/Product/1498002358384", "handle": "rebun-island-lattice-trellis-wallpaper-cda-96754", "status": "ACTIVE", "width": "27\"", "length": "20.5\" x 16.5'", "single_roll_length": null, "double_roll_length": null, "uom": "Sold per Single Roll", "pmin": "2", "roll_variants": []}
{"id": "gid://shopify/Product/1498002522224", "handle": "rebun-island-lattice-trellis-wallpaper-cda-96755", "status": "ACTIVE", "width": "27\"", "length": "20.5\" x 16.5'", "single_roll_length": null, "double_roll_length": null, "uom": "Sold per Single Roll", "pmin": "2", "roll_variants": []}
@@ -3778,21 +3778,59 @@
{"id": "gid://shopify/Product/7879392165939", "handle": "bentley-grey-dwbr-171082", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": "5.5 yd | 5 m", "double_roll_length": "11 yd | 10 m", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 20.5 Inches \u00d7 5.5 yd | 5 m. Double roll: 20.5 Inches \u00d7 11 yd | 10 m.", "pmin": "2", "roll_variants": ["DWBR-171082"]}
{"id": "gid://shopify/Product/7879392198707", "handle": "bentley-slate-dwbr-171083", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": "5.5 yd | 5 m", "double_roll_length": "11 yd | 10 m", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 20.5 Inches \u00d7 5.5 yd | 5 m. Double roll: 20.5 Inches \u00d7 11 yd | 10 m.", "pmin": "2", "roll_variants": ["DWBR-171083"]}
{"id": "gid://shopify/Product/7879392231475", "handle": "bentley-navy-dwbr-171084", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": "5.5 yd | 5 m", "double_roll_length": "11 yd | 10 m", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 20.5 Inches \u00d7 5.5 yd | 5 m. Double roll: 20.5 Inches \u00d7 11 yd | 10 m.", "pmin": "2", "roll_variants": ["DWBR-171084"]}
-{"id": "gid://shopify/Product/7879424016435", "handle": "bentley-teal-dwbr-171085", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171085"]}
-{"id": "gid://shopify/Product/7879424114739", "handle": "maris-charcoal-dwbr-171086", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171086"]}
-{"id": "gid://shopify/Product/7879424147507", "handle": "maris-mint-dwbr-171087", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171087"]}
-{"id": "gid://shopify/Product/7879443447859", "handle": "maris-pink-dwbr-171088", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171088"]}
-{"id": "gid://shopify/Product/7879443480627", "handle": "maris-silver-dwbr-171089", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171089"]}
-{"id": "gid://shopify/Product/7879443546163", "handle": "brie-dark-blue-dwbr-171090", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171090"]}
-{"id": "gid://shopify/Product/7879470219315", "handle": "brie-red-dwbr-171091", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171091"]}
-{"id": "gid://shopify/Product/7879470252083", "handle": "brie-pink-dwbr-171092", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171092"]}
-{"id": "gid://shopify/Product/7879470284851", "handle": "brie-pastel-dwbr-171093", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171093"]}
-{"id": "gid://shopify/Product/7879527137331", "handle": "hex-grey-dwbr-171094", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171094"]}
-{"id": "gid://shopify/Product/7879527268403", "handle": "brie-teal-dwbr-171095", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171095"]}
-{"id": "gid://shopify/Product/7879527366707", "handle": "twilight-olive-green-dwbr-171096", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171096"]}
-{"id": "gid://shopify/Product/7879542374451", "handle": "twilight-indigo-dwbr-171097", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171097"]}
-{"id": "gid://shopify/Product/7879542407219", "handle": "twilight-bone-dwbr-171098", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171098"]}
-{"id": "gid://shopify/Product/7879542439987", "handle": "twilight-taupe-dwbr-171099", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171099"]}
-{"id": "gid://shopify/Product/7879654670387", "handle": "twilight-dark-navy-dwbr-171100", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171100"]}
-{"id": "gid://shopify/Product/7879654703155", "handle": "twilight-olive-green-dwbr-171101", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171101"]}
-{"id": "gid://shopify/Product/7879654735923", "handle": "innuendo-black-dwbr-171102", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171102"]}
+{"id": "gid://shopify/Product/7879424016435", "handle": "bentley-teal-dwbr-171085", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": "5.5 yd | 5 m", "double_roll_length": "11 yd | 10 m", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 20.5 Inches \u00d7 5.5 yd | 5 m. Double roll: 20.5 Inches \u00d7 11 yd | 10 m.", "pmin": "2", "roll_variants": ["DWBR-171085"]}
+{"id": "gid://shopify/Product/7879424114739", "handle": "maris-charcoal-dwbr-171086", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": "5.5 yd | 5 m", "double_roll_length": "11 yd | 10 m", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 20.5 Inches \u00d7 5.5 yd | 5 m. Double roll: 20.5 Inches \u00d7 11 yd | 10 m.", "pmin": "2", "roll_variants": ["DWBR-171086"]}
+{"id": "gid://shopify/Product/7879424147507", "handle": "maris-mint-dwbr-171087", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": "5.5 yd | 5 m", "double_roll_length": "11 yd | 10 m", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 20.5 Inches \u00d7 5.5 yd | 5 m. Double roll: 20.5 Inches \u00d7 11 yd | 10 m.", "pmin": "2", "roll_variants": ["DWBR-171087"]}
+{"id": "gid://shopify/Product/7879443447859", "handle": "maris-pink-dwbr-171088", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": "5.5 yd | 5 m", "double_roll_length": "11 yd | 10 m", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 20.5 Inches \u00d7 5.5 yd | 5 m. Double roll: 20.5 Inches \u00d7 11 yd | 10 m.", "pmin": "2", "roll_variants": ["DWBR-171088"]}
+{"id": "gid://shopify/Product/7879443480627", "handle": "maris-silver-dwbr-171089", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": "5.5 yd | 5 m", "double_roll_length": "11 yd | 10 m", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 20.5 Inches \u00d7 5.5 yd | 5 m. Double roll: 20.5 Inches \u00d7 11 yd | 10 m.", "pmin": "2", "roll_variants": ["DWBR-171089"]}
+{"id": "gid://shopify/Product/7879443546163", "handle": "brie-dark-blue-dwbr-171090", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": "4.5 yd | 4.1 m", "double_roll_length": "9 yd | 8.2 m", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 27 Inches \u00d7 4.5 yd | 4.1 m. Double roll: 27 Inches \u00d7 9 yd | 8.2 m.", "pmin": "2", "roll_variants": ["DWBR-171090"]}
+{"id": "gid://shopify/Product/7879470219315", "handle": "brie-red-dwbr-171091", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": "4.5 yd | 4.1 m", "double_roll_length": "9 yd | 8.2 m", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 27 Inches \u00d7 4.5 yd | 4.1 m. Double roll: 27 Inches \u00d7 9 yd | 8.2 m.", "pmin": "2", "roll_variants": ["DWBR-171091"]}
+{"id": "gid://shopify/Product/7879470252083", "handle": "brie-pink-dwbr-171092", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": "4.5 yd | 4.1 m", "double_roll_length": "9 yd | 8.2 m", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 27 Inches \u00d7 4.5 yd | 4.1 m. Double roll: 27 Inches \u00d7 9 yd | 8.2 m.", "pmin": "2", "roll_variants": ["DWBR-171092"]}
+{"id": "gid://shopify/Product/7879470284851", "handle": "brie-pastel-dwbr-171093", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": "4.5 yd | 4.1 m", "double_roll_length": "9 yd | 8.2 m", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 27 Inches \u00d7 4.5 yd | 4.1 m. Double roll: 27 Inches \u00d7 9 yd | 8.2 m.", "pmin": "2", "roll_variants": ["DWBR-171093"]}
+{"id": "gid://shopify/Product/7879527137331", "handle": "hex-grey-dwbr-171094", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": "5.5 yd | 5 m", "double_roll_length": "11 yd | 10 m", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 20.5 Inches \u00d7 5.5 yd | 5 m. Double roll: 20.5 Inches \u00d7 11 yd | 10 m.", "pmin": "2", "roll_variants": ["DWBR-171094"]}
+{"id": "gid://shopify/Product/7879527268403", "handle": "brie-teal-dwbr-171095", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": "4.5 yd | 4.1 m", "double_roll_length": "9 yd | 8.2 m", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 27 Inches \u00d7 4.5 yd | 4.1 m. Double roll: 27 Inches \u00d7 9 yd | 8.2 m.", "pmin": "2", "roll_variants": ["DWBR-171095"]}
+{"id": "gid://shopify/Product/7879527366707", "handle": "twilight-olive-green-dwbr-171096", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": "5.5 yd | 5 m", "double_roll_length": "11 yd | 10 m", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 20.5 Inches \u00d7 5.5 yd | 5 m. Double roll: 20.5 Inches \u00d7 11 yd | 10 m.", "pmin": "2", "roll_variants": ["DWBR-171096"]}
+{"id": "gid://shopify/Product/7879542374451", "handle": "twilight-indigo-dwbr-171097", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": "5.5 yd | 5 m", "double_roll_length": "11 yd | 10 m", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 20.5 Inches \u00d7 5.5 yd | 5 m. Double roll: 20.5 Inches \u00d7 11 yd | 10 m.", "pmin": "2", "roll_variants": ["DWBR-171097"]}
+{"id": "gid://shopify/Product/7879542407219", "handle": "twilight-bone-dwbr-171098", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": "5.5 yd | 5 m", "double_roll_length": "11 yd | 10 m", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 20.5 Inches \u00d7 5.5 yd | 5 m. Double roll: 20.5 Inches \u00d7 11 yd | 10 m.", "pmin": "2", "roll_variants": ["DWBR-171098"]}
+{"id": "gid://shopify/Product/7879542439987", "handle": "twilight-taupe-dwbr-171099", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": "5.5 yd | 5 m", "double_roll_length": "11 yd | 10 m", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 20.5 Inches \u00d7 5.5 yd | 5 m. Double roll: 20.5 Inches \u00d7 11 yd | 10 m.", "pmin": "2", "roll_variants": ["DWBR-171099"]}
+{"id": "gid://shopify/Product/7879654670387", "handle": "twilight-dark-navy-dwbr-171100", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": "5.5 yd | 5 m", "double_roll_length": "11 yd | 10 m", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 20.5 Inches \u00d7 5.5 yd | 5 m. Double roll: 20.5 Inches \u00d7 11 yd | 10 m.", "pmin": "2", "roll_variants": ["DWBR-171100"]}
+{"id": "gid://shopify/Product/7879654703155", "handle": "twilight-olive-green-dwbr-171101", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": "5.5 yd | 5 m", "double_roll_length": "11 yd | 10 m", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 20.5 Inches \u00d7 5.5 yd | 5 m. Double roll: 20.5 Inches \u00d7 11 yd | 10 m.", "pmin": "2", "roll_variants": ["DWBR-171101"]}
+{"id": "gid://shopify/Product/7879654735923", "handle": "innuendo-black-dwbr-171102", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": "5.5 yd | 5 m", "double_roll_length": "11 yd | 10 m", "uom": "Priced per single roll \u2014 packaged in double rolls only. Single roll: 20.5 Inches \u00d7 5.5 yd | 5 m. Double roll: 20.5 Inches \u00d7 11 yd | 10 m.", "pmin": "2", "roll_variants": ["DWBR-171102"]}
+{"id": "gid://shopify/Product/7879680426035", "handle": "mariell-blue-dwbr-171103", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171103"]}
+{"id": "gid://shopify/Product/7879680458803", "handle": "mariell-grey-dwbr-171104", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171104"]}
+{"id": "gid://shopify/Product/7879680491571", "handle": "nicolette-grey-dwbr-171105", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171105"]}
+{"id": "gid://shopify/Product/7879691698227", "handle": "nicolette-light-blue-dwbr-171106", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171106"]}
+{"id": "gid://shopify/Product/7879691730995", "handle": "nicolette-navy-dwbr-171107", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171107"]}
+{"id": "gid://shopify/Product/7879691763763", "handle": "nicolette-green-dwbr-171108", "status": "ACTIVE", "width": "27 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171108"]}
+{"id": "gid://shopify/Product/7879795212339", "handle": "voltaire-gold-dwbr-171109", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171109"]}
+{"id": "gid://shopify/Product/7879795277875", "handle": "voltaire-ivory-dwbr-171110", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171110"]}
+{"id": "gid://shopify/Product/7879795310643", "handle": "voltaire-ivory-dwbr-171111", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171111"]}
+{"id": "gid://shopify/Product/7879809531955", "handle": "voltaire-ivory-dwbr-171112", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171112"]}
+{"id": "gid://shopify/Product/7879809564723", "handle": "finnley-green-dwbr-171113", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171113"]}
+{"id": "gid://shopify/Product/7879809597491", "handle": "heavenly-grey-dwbr-171114", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171114"]}
+{"id": "gid://shopify/Product/7879842693171", "handle": "finnley-yellow-dwbr-171115", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171115"]}
+{"id": "gid://shopify/Product/7879842725939", "handle": "finnley-blue-dwbr-171116", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171116"]}
+{"id": "gid://shopify/Product/7879842758707", "handle": "finnley-pink-dwbr-171117", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171117"]}
+{"id": "gid://shopify/Product/7879858683955", "handle": "finnley-grey-dwbr-171118", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171118"]}
+{"id": "gid://shopify/Product/7879858716723", "handle": "mistwood-beige-dwbr-171119", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171119"]}
+{"id": "gid://shopify/Product/7879858782259", "handle": "mistwood-green-dwbr-171120", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171120"]}
+{"id": "gid://shopify/Product/7879889158195", "handle": "mistwood-coffee-dwbr-171121", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171121"]}
+{"id": "gid://shopify/Product/7879889190963", "handle": "mistwood-blue-dwbr-171122", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171122"]}
+{"id": "gid://shopify/Product/7879889223731", "handle": "elan-blush-dwbr-171123", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171123"]}
+{"id": "gid://shopify/Product/7879901773875", "handle": "elan-grey-dwbr-171124", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171124"]}
+{"id": "gid://shopify/Product/7879901872179", "handle": "elan-blue-dwbr-171125", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171125"]}
+{"id": "gid://shopify/Product/7879901904947", "handle": "elan-sea-green-dwbr-171126", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171126"]}
+{"id": "gid://shopify/Product/7879932936243", "handle": "cipher-blue-dwbr-171127", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171127"]}
+{"id": "gid://shopify/Product/7879932969011", "handle": "cipher-black-dwbr-171128", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171128"]}
+{"id": "gid://shopify/Product/7879933001779", "handle": "cipher-moss-dwbr-171129", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171129"]}
+{"id": "gid://shopify/Product/7879979630643", "handle": "cipher-beige-dwbr-171130", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171130"]}
+{"id": "gid://shopify/Product/7879979663411", "handle": "cipher-chestnut-dwbr-171131", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171131"]}
+{"id": "gid://shopify/Product/7879979696179", "handle": "alocasia-neutral-dwbr-171132", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171132"]}
+{"id": "gid://shopify/Product/7880010432563", "handle": "alocasia-blue-dwbr-171133", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171133"]}
+{"id": "gid://shopify/Product/7880010498099", "handle": "alocasia-multicolor-dwbr-171134", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171134"]}
+{"id": "gid://shopify/Product/7880010530867", "handle": "titan-dove-dwbr-171135", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171135"]}
+{"id": "gid://shopify/Product/7880022294579", "handle": "alocasia-green-dwbr-171136", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171136"]}
+{"id": "gid://shopify/Product/7880022327347", "handle": "alocasia-burgundy-dwbr-171137", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171137"]}
+{"id": "gid://shopify/Product/7880022392883", "handle": "serenade-blue-dwbr-171138", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171138"]}
+{"id": "gid://shopify/Product/7880063352883", "handle": "serenade-blush-dwbr-171139", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171139"]}
+{"id": "gid://shopify/Product/7880063483955", "handle": "serenade-aqua-dwbr-171140", "status": "ACTIVE", "width": "20.5 Inches", "length": null, "single_roll_length": null, "double_roll_length": null, "uom": "Priced Per Single Roll", "pmin": "2", "roll_variants": ["DWBR-171140"]}
diff --git a/shopify/scripts/cadence/data/activations-2026-07-10.jsonl b/shopify/scripts/cadence/data/activations-2026-07-10.jsonl
new file mode 100644
index 00000000..752ae11d
--- /dev/null
+++ b/shopify/scripts/cadence/data/activations-2026-07-10.jsonl
@@ -0,0 +1,36 @@
+{"ts":"2026-07-10T05:47:02.031Z","vendor":"Pierre Frey","dw_sku":"DWPF-150000","product_id":"gid://shopify/Product/7878199050291","action":"gate-blocked","reasons":["description too short (placeholder-grade)"],"tags":["Needs-Description","Needs-Image"]}
+{"ts":"2026-07-10T05:47:02.032Z","vendor":"Pierre Frey","dw_sku":"DWPF-150001","product_id":"gid://shopify/Product/7878199115827","action":"gate-blocked","reasons":["description too short (placeholder-grade)"],"tags":["Needs-Description","Needs-Image"]}
+{"ts":"2026-07-10T05:47:02.032Z","vendor":"Pierre Frey","dw_sku":"DWPF-150002","product_id":"gid://shopify/Product/7878199148595","action":"gate-blocked","reasons":["description too short (placeholder-grade)"],"tags":["Needs-Description","Needs-Image"]}
+{"ts":"2026-07-10T05:47:02.033Z","vendor":"Pierre Frey","dw_sku":"DWPF-150003","product_id":"gid://shopify/Product/7878199181363","action":"gate-blocked","reasons":["description too short (placeholder-grade)"],"tags":["Needs-Description","Needs-Image"]}
+{"ts":"2026-07-10T05:47:02.033Z","vendor":"Pierre Frey","dw_sku":"DWPF-150004","product_id":"gid://shopify/Product/7878199214131","action":"gate-blocked","reasons":["description too short (placeholder-grade)"],"tags":["Needs-Description","Needs-Image"]}
+{"ts":"2026-07-10T05:47:02.033Z","vendor":"Pierre Frey","dw_sku":"DWPF-150005","product_id":"gid://shopify/Product/7878199246899","action":"gate-blocked","reasons":["description too short (placeholder-grade)"],"tags":["Needs-Description","Needs-Image"]}
+{"ts":"2026-07-10T05:47:02.034Z","vendor":"Pierre Frey","dw_sku":"DWPF-150006","product_id":"gid://shopify/Product/7878199312435","action":"gate-blocked","reasons":["description too short (placeholder-grade)"],"tags":["Needs-Description","Needs-Image"]}
+{"ts":"2026-07-10T05:47:02.034Z","vendor":"Pierre Frey","dw_sku":"DWPF-150007","product_id":"gid://shopify/Product/7878199345203","action":"gate-blocked","reasons":["description too short (placeholder-grade)"],"tags":["Needs-Description","Needs-Image"]}
+{"ts":"2026-07-10T05:47:02.034Z","vendor":"Pierre Frey","dw_sku":"DWPF-150008","product_id":"gid://shopify/Product/7878199377971","action":"gate-blocked","reasons":["description too short (placeholder-grade)"],"tags":["Needs-Description","Needs-Image"]}
+{"ts":"2026-07-10T05:47:02.035Z","vendor":"Pierre Frey","dw_sku":"DWPF-150009","product_id":"gid://shopify/Product/7878199410739","action":"gate-blocked","reasons":["description too short (placeholder-grade)"],"tags":["Needs-Description","Needs-Image"]}
+{"ts":"2026-07-10T05:47:02.035Z","vendor":"Pierre Frey","dw_sku":"DWPF-150010","product_id":"gid://shopify/Product/7878199541811","action":"gate-blocked","reasons":["description too short (placeholder-grade)"],"tags":["Needs-Description","Needs-Image"]}
+{"ts":"2026-07-10T05:47:02.035Z","vendor":"Pierre Frey","dw_sku":"DWPF-150011","product_id":"gid://shopify/Product/7878199574579","action":"gate-blocked","reasons":["description too short (placeholder-grade)"],"tags":["Needs-Description","Needs-Image"]}
+{"ts":"2026-07-10T05:47:02.036Z","vendor":"Pierre Frey","dw_sku":"DWPF-150012","product_id":"gid://shopify/Product/7878199640115","action":"gate-blocked","reasons":["description too short (placeholder-grade)"],"tags":["Needs-Description","Needs-Image"]}
+{"ts":"2026-07-10T05:47:02.036Z","vendor":"Pierre Frey","dw_sku":"DWPF-150013","product_id":"gid://shopify/Product/7878199672883","action":"gate-blocked","reasons":["description too short (placeholder-grade)"],"tags":["Needs-Description","Needs-Image"]}
+{"ts":"2026-07-10T05:47:02.036Z","vendor":"Pierre Frey","dw_sku":"DWPF-150014","product_id":"gid://shopify/Product/7878199705651","action":"gate-blocked","reasons":["description too short (placeholder-grade)"],"tags":["Needs-Description","Needs-Image"]}
+{"ts":"2026-07-10T05:47:02.037Z","vendor":"Pierre Frey","dw_sku":"DWPF-150015","product_id":"gid://shopify/Product/7878199738419","action":"gate-blocked","reasons":["description too short (placeholder-grade)"],"tags":["Needs-Description","Needs-Image"]}
+{"ts":"2026-07-10T05:47:02.037Z","vendor":"Pierre Frey","dw_sku":"DWPF-150016","product_id":"gid://shopify/Product/7878199902259","action":"gate-blocked","reasons":["description too short (placeholder-grade)"],"tags":["Needs-Description","Needs-Image"]}
+{"ts":"2026-07-10T05:47:02.037Z","vendor":"Pierre Frey","dw_sku":"DWPF-150017","product_id":"gid://shopify/Product/7878199935027","action":"gate-blocked","reasons":["description too short (placeholder-grade)"],"tags":["Needs-Description","Needs-Image"]}
+{"ts":"2026-07-10T05:47:03.399Z","vendor":"Pierre Frey","dw_sku":"DWPF-150000","product_id":"gid://shopify/Product/7878199050291","action":"tagged","tags":["Needs-Description","Needs-Image"]}
+{"ts":"2026-07-10T05:47:04.040Z","vendor":"Pierre Frey","dw_sku":"DWPF-150001","product_id":"gid://shopify/Product/7878199115827","action":"tagged","tags":["Needs-Description","Needs-Image"]}
+{"ts":"2026-07-10T05:47:04.683Z","vendor":"Pierre Frey","dw_sku":"DWPF-150002","product_id":"gid://shopify/Product/7878199148595","action":"tagged","tags":["Needs-Description","Needs-Image"]}
+{"ts":"2026-07-10T05:47:05.328Z","vendor":"Pierre Frey","dw_sku":"DWPF-150003","product_id":"gid://shopify/Product/7878199181363","action":"tagged","tags":["Needs-Description","Needs-Image"]}
+{"ts":"2026-07-10T05:47:05.953Z","vendor":"Pierre Frey","dw_sku":"DWPF-150004","product_id":"gid://shopify/Product/7878199214131","action":"tagged","tags":["Needs-Description","Needs-Image"]}
+{"ts":"2026-07-10T05:47:06.589Z","vendor":"Pierre Frey","dw_sku":"DWPF-150005","product_id":"gid://shopify/Product/7878199246899","action":"tagged","tags":["Needs-Description","Needs-Image"]}
+{"ts":"2026-07-10T05:47:07.251Z","vendor":"Pierre Frey","dw_sku":"DWPF-150006","product_id":"gid://shopify/Product/7878199312435","action":"tagged","tags":["Needs-Description","Needs-Image"]}
+{"ts":"2026-07-10T05:47:07.888Z","vendor":"Pierre Frey","dw_sku":"DWPF-150007","product_id":"gid://shopify/Product/7878199345203","action":"tagged","tags":["Needs-Description","Needs-Image"]}
+{"ts":"2026-07-10T05:47:08.522Z","vendor":"Pierre Frey","dw_sku":"DWPF-150008","product_id":"gid://shopify/Product/7878199377971","action":"tagged","tags":["Needs-Description","Needs-Image"]}
+{"ts":"2026-07-10T05:47:09.158Z","vendor":"Pierre Frey","dw_sku":"DWPF-150009","product_id":"gid://shopify/Product/7878199410739","action":"tagged","tags":["Needs-Description","Needs-Image"]}
+{"ts":"2026-07-10T05:47:09.848Z","vendor":"Pierre Frey","dw_sku":"DWPF-150010","product_id":"gid://shopify/Product/7878199541811","action":"tagged","tags":["Needs-Description","Needs-Image"]}
+{"ts":"2026-07-10T05:47:10.483Z","vendor":"Pierre Frey","dw_sku":"DWPF-150011","product_id":"gid://shopify/Product/7878199574579","action":"tagged","tags":["Needs-Description","Needs-Image"]}
+{"ts":"2026-07-10T05:47:11.101Z","vendor":"Pierre Frey","dw_sku":"DWPF-150012","product_id":"gid://shopify/Product/7878199640115","action":"tagged","tags":["Needs-Description","Needs-Image"]}
+{"ts":"2026-07-10T05:47:11.751Z","vendor":"Pierre Frey","dw_sku":"DWPF-150013","product_id":"gid://shopify/Product/7878199672883","action":"tagged","tags":["Needs-Description","Needs-Image"]}
+{"ts":"2026-07-10T05:47:12.379Z","vendor":"Pierre Frey","dw_sku":"DWPF-150014","product_id":"gid://shopify/Product/7878199705651","action":"tagged","tags":["Needs-Description","Needs-Image"]}
+{"ts":"2026-07-10T05:47:13.012Z","vendor":"Pierre Frey","dw_sku":"DWPF-150015","product_id":"gid://shopify/Product/7878199738419","action":"tagged","tags":["Needs-Description","Needs-Image"]}
+{"ts":"2026-07-10T05:47:13.661Z","vendor":"Pierre Frey","dw_sku":"DWPF-150016","product_id":"gid://shopify/Product/7878199902259","action":"tagged","tags":["Needs-Description","Needs-Image"]}
+{"ts":"2026-07-10T05:47:14.294Z","vendor":"Pierre Frey","dw_sku":"DWPF-150017","product_id":"gid://shopify/Product/7878199935027","action":"tagged","tags":["Needs-Description","Needs-Image"]}
← 65004b34 catalog-push: diff-based redesign w/ two-bucket safety (sync
·
back to Designer Wallcoverings
·
catalog-push: HARDEN sync bucket to missing/empty tables ONL 3252281c →