[object Object]

← back to Dw Activation Debug TK11314

Verify approved production rollout and first scheduled activation run

7202f97bb1b3847f21c5cd0d543ae47d5f8a2e30 · 2026-09-09 10:34:42 -0700 · Steve Abrams

Files touched

Diff

commit 7202f97bb1b3847f21c5cd0d543ae47d5f8a2e30
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Wed Sep 9 10:34:42 2026 -0700

    Verify approved production rollout and first scheduled activation run
---
 scripts/deploy-tk11314.py                          |   106 +
 scripts/probe-vision-service.js                    |    32 +
 scripts/verify-canary-independent.js               |    88 +
 scripts/verify-scheduled-run.js                    |    73 +
 verification/REVIEW.md                             |     2 +
 verification/rollout/RESULT.md                     |    48 +
 .../scripts/lib/validate-before-activate.js        |   195 +
 .../rollout/before/dw-five-field-step0/.gitignore  |     9 +
 .../dw-five-field-step0/bulk-fivefield-exec.py     |   546 +
 .../rollout/before/dw-five-field-step0/drain.sh    |    64 +
 .../before/dw-rotation-activator/.gitignore        |     9 +
 .../dw-rotation-activator/lib/settlement-gate.js   |   282 +
 .../dw-rotation-activator/rotate-activate.js       |   426 +
 verification/rollout/canary-before.json            | 10259 +++++++++++++++++++
 verification/rollout/canary-verified.json          |   287 +
 .../rollout/current-readiness-summary.json         |    21 +
 verification/rollout/deployment-manifest.json      |   184 +
 verification/rollout/loaded-schedules.json         |    80 +
 verification/rollout/post-run-schedules.json       |    81 +
 verification/rollout/repair-progress-verified.json |    11 +
 verification/rollout/scheduled-run-verified.json   |  1829 ++++
 verification/rollout/vision-provider-probe.json    |    37 +
 22 files changed, 14669 insertions(+)

diff --git a/scripts/deploy-tk11314.py b/scripts/deploy-tk11314.py
new file mode 100644
index 0000000..82bfe4b
--- /dev/null
+++ b/scripts/deploy-tk11314.py
@@ -0,0 +1,106 @@
+"""Apply Steve-approved TK-11314 files under the existing worker locks.
+Task-specific allowlist; preserve unrelated changes, backup bytes, keep locks
+until the canary and independent verification have finished.
+"""
+from pathlib import Path
+import datetime
+import hashlib
+import json
+import os
+import subprocess
+
+ROOT = Path('/Users/macstudio3/Projects')
+EVIDENCE = ROOT / 'dw-activation-debug-TK11314/verification/rollout'
+LOCKS = [ROOT / 'dw-rotation-activator/.drain.lock', ROOT / 'dw-five-field-step0/.drain.lock']
+SPECS = [
+    ('Designer-Wallcoverings', 'dw-validator-debug-TK11314', '8cb713c5^', '8cb713c5', [
+        'shopify/scripts/lib/validate-before-activate.js', 'shopify/scripts/lib/validate-before-activate.test.js']),
+    ('dw-rotation-activator', 'dw-activation-debug-TK11314', '37bb28a', '8a7469e', [
+        '.gitignore', 'rotate-activate.js', 'lib/settlement-gate.js', 'lib/live-product-fields.js',
+        'lib/vision-http.js', 'lib/readiness-repairs.js', 'lib/activation-result.js',
+        'test/activation-result.test.js', 'test/live-product-fields.test.js',
+        'test/readiness-repairs.test.js', 'test/vision-http.test.js']),
+    ('dw-five-field-step0', 'dw-repair-debug-TK11314', 'ff27b09^', 'ff27b09', [
+        '.gitignore', 'bulk-fivefield-exec.py', 'drain.sh', 'worklist_progress.py',
+        'test_worklist_progress.py', 'test_executor_progress.py']),
+]
+
+
+def blob(repo, revision, relative):
+    result = subprocess.run(['git', '-C', str(repo), 'show', f'{revision}:{relative}'], capture_output=True)
+    return result.stdout if result.returncode == 0 else None
+
+
+def main():
+    EVIDENCE.mkdir(parents=True, exist_ok=True)
+    manifest_path = EVIDENCE / 'deployment-manifest.json'
+    if manifest_path.exists():
+        raise RuntimeError('Deployment manifest already exists; inspect before any retry')
+    prepared = []
+    for target_name, source_name, base, revision, relatives in SPECS:
+        target_repo, source_repo = ROOT / target_name, ROOT / source_name
+        for relative in relatives:
+            target = target_repo / relative
+            if target.is_symlink():
+                raise RuntimeError(f'Refusing unexpected symlink: {target}')
+            previous = blob(target_repo, base, relative)
+            current = target.read_bytes() if target.exists() else None
+            if current != previous:
+                raise RuntimeError(f'Concurrent source drift: {target}')
+            reviewed = blob(source_repo, revision, relative)
+            if reviewed is None or (source_repo / relative).read_bytes() != reviewed:
+                raise RuntimeError(f'Reviewed source drift: {source_repo / relative}')
+            prepared.append((target_name, relative, target, previous, reviewed,
+                             (source_repo / relative).stat().st_mode & 0o777))
+    acquired = []
+    try:
+        for lock in LOCKS:
+            lock.mkdir()
+            acquired.append(lock)
+        for lock in acquired:
+            (lock / 'TK-11314-owner.json').write_text(json.dumps({
+                'ticket': 'TK-11314', 'purpose': 'approved coordinated rollout and canary',
+                'created_at': datetime.datetime.now(datetime.timezone.utc).isoformat()}))
+    except Exception:
+        for lock in reversed(acquired):
+            owner = lock / 'TK-11314-owner.json'
+            if owner.exists(): owner.unlink()
+            lock.rmdir()
+        raise
+    manifest = {'ticket': 'TK-11314', 'approved_by': 'Steve: go do it',
+                'started_at': datetime.datetime.now(datetime.timezone.utc).isoformat(),
+                'status': 'locked', 'locks': [str(p) for p in acquired], 'files': []}
+    for name, relative, target, previous, reviewed, mode in prepared:
+        backup = EVIDENCE / 'before' / name / relative
+        if previous is not None:
+            backup.parent.mkdir(parents=True, exist_ok=True)
+            backup.write_bytes(previous)
+        manifest['files'].append({'target': str(target), 'existed': previous is not None,
+            'backup': str(backup) if previous is not None else None,
+            'before_sha256': hashlib.sha256(previous).hexdigest() if previous is not None else None,
+            'after_sha256': hashlib.sha256(reviewed).hexdigest(), 'mode': mode})
+    manifest_path.write_text(json.dumps(manifest, indent=2) + '\n')
+    try:
+        for name, relative, target, previous, reviewed, mode in prepared:
+            # Recheck after locks; do not overwrite a concurrent editor.
+            if (target.read_bytes() if target.exists() else None) != previous:
+                raise RuntimeError(f'Concurrent edit after lock: {target}')
+            target.parent.mkdir(parents=True, exist_ok=True)
+            staged = target.with_name(target.name + '.TK11314-stage')
+            staged.write_bytes(reviewed)
+            staged.chmod(mode)
+            os.replace(staged, target)
+        manifest['status'] = 'applied-awaiting-canary'
+        manifest['applied_at'] = datetime.datetime.now(datetime.timezone.utc).isoformat()
+    except Exception as error:
+        manifest['status'] = 'partial-apply-locks-retained'
+        manifest['error'] = str(error)
+        raise
+    finally:
+        manifest_path.write_text(json.dumps(manifest, indent=2) + '\n')
+    print(json.dumps({'status': manifest['status'], 'files': len(prepared),
+                      'locks_retained': len(acquired), 'manifest': str(manifest_path)}))
+
+
+if __name__ == '__main__':
+    main()
diff --git a/scripts/probe-vision-service.js b/scripts/probe-vision-service.js
new file mode 100644
index 0000000..1c00b0c
--- /dev/null
+++ b/scripts/probe-vision-service.js
@@ -0,0 +1,32 @@
+#!/usr/bin/env node
+'use strict';
+// One existing-provider review of a known held draft. No Shopify mutations,
+// publication, credential writes, fallback changes or quota/billing changes.
+const fs = require('node:fs');
+const path = require('node:path');
+const os = require('node:os');
+const { SettlementGate } = require('/Users/macstudio3/Projects/dw-rotation-activator/lib/settlement-gate.js');
+const output = process.argv[2];
+if (!output) throw new Error('Usage: probe-vision-service.js <evidence-json>');
+const id = 'gid://shopify/Product/7799066066995';
+const env = fs.readFileSync(path.join(os.homedir(), 'Projects/secrets-manager/.env'), 'utf8');
+const token = (env.match(/^SHOPIFY_ADMIN_TOKEN=(.*)$/m) || [])[1]?.trim().replace(/^['"]|['"]$/g, '');
+async function main() {
+  const query = 'query($id:ID!){product(id:$id){id title vendor status images(first:1){nodes{url}}}}';
+  const response = await fetch('https://designer-laboratory-sandbox.myshopify.com/admin/api/2026-07/graphql.json', {
+    method: 'POST', headers: { 'Content-Type': 'application/json', 'X-Shopify-Access-Token': token },
+    body: JSON.stringify({ query, variables: { id } }), signal: AbortSignal.timeout(30000),
+  });
+  const json = await response.json();
+  if (!response.ok || json.errors || json.data?.product?.status !== 'DRAFT') throw new Error('Expected held draft unavailable');
+  const product = json.data.product;
+  const gate = new SettlementGate();
+  const result = await gate.evaluate({ shopify_id: id, dw_sku: 'DWGC-200002',
+    title: product.title, vendor: product.vendor, material: '', imageUrl: product.images.nodes[0]?.url });
+  const report = { timestamp: new Date().toISOString(), product_id: id, sku: 'DWGC-200002',
+    result, stats: gate.stats(), shopify_mutations: 0, credentials_or_billing_changed: false };
+  fs.mkdirSync(path.dirname(output), { recursive: true });
+  fs.writeFileSync(output, JSON.stringify(report, null, 2) + '\n');
+  console.log(JSON.stringify(report));
+}
+main().catch(error => { console.error(error.message); process.exitCode = 1; });
diff --git a/scripts/verify-canary-independent.js b/scripts/verify-canary-independent.js
new file mode 100644
index 0000000..94b158b
--- /dev/null
+++ b/scripts/verify-canary-independent.js
@@ -0,0 +1,88 @@
+#!/usr/bin/env node
+'use strict';
+// Independent verifier: no activation modules, gate functions or mutations.
+// Before/after assertions use fresh Shopify queries, public HTTP and ledger reads.
+const fs = require('node:fs');
+const path = require('node:path');
+const os = require('node:os');
+const assert = require('node:assert/strict');
+const [phase, productSnapshot, evidenceDirectory] = process.argv.slice(2);
+if (!['before', 'after'].includes(phase) || !evidenceDirectory) throw new Error('Usage: verifier before|after <product-snapshot> <evidence-dir>');
+const env = fs.readFileSync(path.join(os.homedir(), 'Projects/secrets-manager/.env'), 'utf8');
+const token = (env.match(/^SHOPIFY_ADMIN_TOKEN=(.*)$/m) || [])[1]?.trim().replace(/^['"]|['"]$/g, '');
+const day = new Date().toISOString().slice(0, 10);
+const out = path.join(os.homedir(), 'Projects/dw-rotation-activator/out');
+const ledgerPath = path.join(out, `activation-ledger-${day}.json`);
+const auditPath = path.join(out, `rotation-activations-${day}.jsonl`);
+function ledger() { return fs.existsSync(ledgerPath) ? JSON.parse(fs.readFileSync(ledgerPath)) : { date: day, used: 0, file_absent: true }; }
+const query = `query($ids:[ID!]!){nodes(ids:$ids){... on Product{
+ id title handle vendor status tags publishedAt onlineStoreUrl
+ googlePublished:publishedOnPublication(publicationId:"gid://shopify/Publication/29646651457")
+ variants(first:100){nodes{id sku title price} pageInfo{hasNextPage}}
+ images(first:5){nodes{url}}
+ metafields(first:100){nodes{namespace key value} pageInfo{hasNextPage}}
+ resourcePublicationsV2(first:50){nodes{isPublished publishDate publication{id name}} pageInfo{hasNextPage}}
+}}}`;
+async function readProducts(ids) {
+  const response = await fetch('https://designer-laboratory-sandbox.myshopify.com/admin/api/2026-07/graphql.json', {
+    method: 'POST', headers: { 'X-Shopify-Access-Token': token, 'Content-Type': 'application/json' },
+    body: JSON.stringify({ query, variables: { ids } }), signal: AbortSignal.timeout(30000),
+  });
+  const result = await response.json();
+  assert.equal(response.status, 200); assert.equal(result.errors, undefined, JSON.stringify(result.errors));
+  assert.equal(result.data.nodes.length, ids.length);
+  assert.ok(result.data.nodes.every(Boolean));
+  return result.data.nodes;
+}
+async function main() {
+  fs.mkdirSync(evidenceDirectory, { recursive: true });
+  if (phase === 'before') {
+    const snapshot = JSON.parse(fs.readFileSync(productSnapshot));
+    const ids = snapshot.products.slice(0, 50).map(p => p.id);
+    const products = await readProducts(ids);
+    assert.ok(products.every(p => p.status === 'DRAFT'));
+    const firstDesigntex = products.find(p => p.id.endsWith('/7867560886323'));
+    assert.ok(firstDesigntex, 'Expected canary must have a before-state');
+    assert.equal(firstDesigntex.googlePublished, false, 'Canary must not already be enrolled in Google publication');
+    const result = { timestamp: new Date().toISOString(), products, ledger: ledger(),
+      audit_path: auditPath, audit_offset: fs.statSync(auditPath).size, mutations: 0 };
+    fs.writeFileSync(path.join(evidenceDirectory, 'canary-before.json'), JSON.stringify(result, null, 2)+'\n');
+    console.log(JSON.stringify({ phase, products: products.length, expected_canary: firstDesigntex.id,
+      expected_status: firstDesigntex.status, google_published: firstDesigntex.googlePublished, ledger: result.ledger }));
+    return;
+  }
+  const before = JSON.parse(fs.readFileSync(path.join(evidenceDirectory, 'canary-before.json')));
+  const appended = fs.readFileSync(before.audit_path).subarray(before.audit_offset).toString().trim();
+  const rows = appended ? appended.split('\n').map(JSON.parse) : [];
+  const activated = rows.filter(r => r.action === 'activated');
+  assert.equal(activated.length, 1, `Expected exactly one activation, got ${activated.length}`);
+  const activation = activated[0];
+  const previous = before.products.find(p => p.id === activation.shopify_id);
+  assert.ok(previous, 'No before-state for activated product');
+  const [product] = await readProducts([activation.shopify_id]);
+  assert.equal(previous.status, 'DRAFT'); assert.equal(product.status, 'ACTIVE');
+  assert.equal(product.googlePublished, false);
+  assert.ok(product.tags.includes('New Arrival'));
+  assert.deepEqual(product.variants, previous.variants, 'Activation changed variant prices/SKUs');
+  assert.ok(product.resourcePublicationsV2.nodes.some(p => p.isPublished && p.publication.name === 'Online Store'));
+  assert.ok(!product.resourcePublicationsV2.pageInfo.hasNextPage, 'Incomplete publication read');
+  const currentLedger = ledger();
+  assert.equal(currentLedger.used, before.ledger.used + 1);
+  assert.equal(activation.passes, true); assert.equal(activation.settlement.verdict, 'PASS');
+  const storefrontUrl = `https://www.designerwallcoverings.com/products/${product.handle}`;
+  const response = await fetch(storefrontUrl, { signal: AbortSignal.timeout(30000) });
+  const html = await response.text();
+  assert.equal(response.status, 200, 'Canary storefront URL failed');
+  assert.ok(html.includes(product.id.split('/').pop()), 'Storefront response does not identify the actual product');
+  const report = { timestamp: new Date().toISOString(), verdict: 'PASS', product, activation,
+    before_status: previous.status, ledger_before: before.ledger, ledger_after: currentLedger,
+    storefront: { url: storefrontUrl, status: response.status, product_id_found: true },
+    independent_verifier: 'Separate read-only implementation using Admin API 2026-07 and public storefront HTTP',
+    mutations: 0, audit_rows_after_offset: rows.length };
+  fs.writeFileSync(path.join(evidenceDirectory, 'canary-verified.json'), JSON.stringify(report, null, 2)+'\n');
+  console.log(JSON.stringify({ verdict: report.verdict, sku: product.variants.nodes[0]?.sku, id: product.id,
+    status: product.status, googlePublished: product.googlePublished,
+    published: product.resourcePublicationsV2.nodes.filter(p=>p.isPublished).map(p=>p.publication.name),
+    ledger: currentLedger.used, storefront: report.storefront }));
+}
+main().catch(error => { console.error(error.message); process.exitCode = 1; });
diff --git a/scripts/verify-scheduled-run.js b/scripts/verify-scheduled-run.js
new file mode 100644
index 0000000..5f13d2b
--- /dev/null
+++ b/scripts/verify-scheduled-run.js
@@ -0,0 +1,73 @@
+#!/usr/bin/env node
+'use strict';
+// Read-only verification of the first natural hourly tick after the canary.
+// Independent fresh API/PDP reads; no activation modules or Shopify mutations.
+const fs = require('node:fs');
+const path = require('node:path');
+const os = require('node:os');
+const assert = require('node:assert/strict');
+const evidence = path.resolve('verification/rollout');
+const before = JSON.parse(fs.readFileSync(path.join(evidence, 'canary-before.json')));
+const canary = JSON.parse(fs.readFileSync(path.join(evidence, 'canary-verified.json')));
+const snapshot = JSON.parse(fs.readFileSync('verification/live-products-20260909.json'));
+const env = fs.readFileSync(path.join(os.homedir(), 'Projects/secrets-manager/.env'), 'utf8');
+const token = (env.match(/^SHOPIFY_ADMIN_TOKEN=(.*)$/m) || [])[1]?.trim().replace(/^['"]|['"]$/g, '');
+const root = path.join(os.homedir(), 'Projects/dw-rotation-activator');
+async function main() {
+  const lines = fs.readFileSync(before.audit_path).subarray(before.audit_offset).toString().trim();
+  const rows = lines ? lines.split('\n').map(JSON.parse) : [];
+  const allActivated = rows.filter(r => r.action === 'activated');
+  const activated = allActivated.filter(r => r.ts > canary.timestamp);
+  const log = fs.readFileSync(path.join(root, 'drain.log'), 'utf8');
+  const runLog = log.slice(log.lastIndexOf('rotation-activate start slot_max=21'));
+  assert.match(runLog, /rotation-activate end rc=0/, 'Natural hourly run has not finished successfully');
+  const completed = runLog.match(/scanned=(\d+)\s+activated=(\d+)\s+published=(\d+)/);
+  assert.ok(completed, 'Missing completed-run summary');
+  assert.equal(activated.length, Number(completed[2]), 'Audit and completed-run count disagree');
+  assert.equal(activated.length, Number(completed[3]), 'Not every activation was published');
+  assert.ok(activated.length > 0 && activated.length <= 21, 'Activation count outside slot allowance');
+  assert.equal(new Set(allActivated.map(r => r.shopify_id)).size, allActivated.length, 'Duplicate activation');
+  const ids = activated.map(r => r.shopify_id);
+  const baselineIds = new Set(snapshot.products.filter(p => p.status === 'DRAFT').map(p => p.id));
+  assert.ok(ids.every(id => baselineIds.has(id)), 'Missing DRAFT baseline');
+  assert.ok(activated.every(r => r.passes === true && r.settlement?.verdict === 'PASS' && r.published === true));
+  const query = `query($ids:[ID!]!){nodes(ids:$ids){... on Product{
+    id title handle status tags googlePublished:publishedOnPublication(publicationId:"gid://shopify/Publication/29646651457")
+    resourcePublicationsV2(first:50){nodes{isPublished publication{name}} pageInfo{hasNextPage}}
+  }}}`;
+  const response = await fetch('https://designer-laboratory-sandbox.myshopify.com/admin/api/2026-07/graphql.json', {
+    method: 'POST', headers: { 'X-Shopify-Access-Token': token, 'Content-Type': 'application/json' },
+    body: JSON.stringify({ query, variables: { ids } }), signal: AbortSignal.timeout(30000),
+  });
+  const json = await response.json();
+  assert.equal(response.status, 200); assert.equal(json.errors, undefined, JSON.stringify(json.errors));
+  assert.equal(json.data.nodes.length, ids.length);
+  for (const product of json.data.nodes) {
+    assert.ok(product && ids.includes(product.id));
+    assert.equal(product.status, 'ACTIVE');
+    assert.ok(product.tags.includes('New Arrival'));
+    assert.equal(product.googlePublished, false);
+    assert.equal(product.resourcePublicationsV2.pageInfo.hasNextPage, false);
+    assert.ok(product.resourcePublicationsV2.nodes.some(p => p.isPublished && p.publication.name === 'Online Store'));
+  }
+  const ledger = JSON.parse(fs.readFileSync(path.join(root, `out/activation-ledger-${before.ledger.date}.json`)));
+  assert.equal(ledger.used, before.ledger.used + allActivated.length);
+  assert.ok(ledger.used <= 500);
+  const storefront = [];
+  for (const product of [json.data.nodes[0], json.data.nodes.at(-1)]) {
+    const url = `https://www.designerwallcoverings.com/products/${product.handle}`;
+    const response = await fetch(url, { signal: AbortSignal.timeout(30000) });
+    const html = await response.text();
+    assert.equal(response.status, 200);
+    assert.ok(html.includes(product.id.split('/').pop()));
+    storefront.push({ url, status: response.status, product_id_found: true });
+  }
+  const report = { timestamp: new Date().toISOString(), verdict: 'PASS', mutations: 0,
+    scheduled_activated: activated.length, daily_ledger: ledger, rows_read: rows.length,
+    scanned: Number(completed[1]), slot_max: 21, completed_run_log: runLog,
+    activations: activated, products: json.data.nodes, storefront,
+    independent_verifier: 'Separate Admin API and public storefront reads, no activation imports' };
+  fs.writeFileSync(path.join(evidence, 'scheduled-run-verified.json'), JSON.stringify(report, null, 2)+'\n');
+  console.log(JSON.stringify({ verdict: report.verdict, scheduled_activated: activated.length, ledger, storefront }));
+}
+main().catch(error => { console.error(error.message); process.exitCode = 1; });
diff --git a/verification/REVIEW.md b/verification/REVIEW.md
index a87adbe..75d7640 100644
--- a/verification/REVIEW.md
+++ b/verification/REVIEW.md
@@ -1,3 +1,5 @@
+> Deployment update (September 9, 2026): Steve approved the rollout; all three production repositories now contain the verified fixes. The live canary passed. See [executed outcome](rollout/RESULT.md). The historical pre-approval review below is retained for provenance.
+
 # TK-11314 — DW activation repair review
 
 The code fixes are verified in isolated branches. They are **not deployed**. No product was activated or edited, no canonical database was changed, and no Gemini generation call or billing change was made.
diff --git a/verification/rollout/RESULT.md b/verification/rollout/RESULT.md
new file mode 100644
index 0000000..7cd8d61
--- /dev/null
+++ b/verification/rollout/RESULT.md
@@ -0,0 +1,48 @@
+# DW activation rollout — TK-11314
+
+Steve approved the reviewed rollout and one monitored publication with “go do it.”
+The production changes were installed September 9, 2026 under the existing worker
+locks. All 19 installed file hashes match the reviewed release, and all 45 tests
+passed against the installed code. The code changes are committed locally:
+
+| Runtime repository | Commit |
+| --- | --- |
+| dw-rotation-activator | c88ff69 |
+| dw-five-field-step0 | 7891e2a |
+| Designer-Wallcoverings | 1d91950f |
+
+The independently verified canary, **DWDX-220334 / Cork, Dove**, changed from DRAFT
+to ACTIVE and is published at
+https://www.designerwallcoverings.com/products/cork-dove-dwdx-220334.
+The storefront returned HTTP 200 and the correct product ID. Variant prices and
+SKUs were unchanged. The activation ledger increased exactly from 0 to 1. The
+existing Google publication exclusion was preserved; this is not a GMC enrollment.
+
+Both task-owned locks were released at 17:20:33 UTC. The already-loaded launchd
+jobs retain their schedules: activation at minute 25 (21 per slot, 500 per day),
+field repair at minute 10. Those are limits, not a guarantee of daily volume.
+
+The repair worker's dry-run operational path was exercised without product
+mutation. A fresh persisted progress read afterward still reports 20,034 tasks,
+17,445 completed, and 2,589 unresolved. Those unresolved rows have blank DW SKUs;
+the worker safely skips them rather than inventing product identities.
+
+## Remaining blocker
+
+One real image-review probe returned **HTTP 429 RESOURCE_EXHAUSTED: prepaid credits
+are depleted**. The product remained HELD, and the failed call recorded zero
+estimated charge. Restoring credits requires the billing owner's action and a
+separate spend approval. No billing, credential, or quota settings were changed.
+Tracked separately as **TK-11321**. Product-data checks still apply after funding.
+
+## Evidence
+
+- `deployment-manifest.json`: before/after hashes, source backups, lock release.
+- `canary-before.json` and `canary-verified.json`: independent live API/PDP proof.
+- `vision-provider-probe.json`: exact sanitized provider failure and held outcome.
+- `loaded-schedules.json`: selected fields from the loaded jobs.
+- `../rollback-rehearsal.json`: source reversal/reapplication proof in temporary copies.
+
+The natural 10:25 AM PDT run completed at 10:33:05 AM with exit code 0: 1,863 scanned, 15 activated and published, four already active, 1,340 product-data failures, and 504 image-review holds. The daily ledger is 16/500 including the canary. A separate Shopify API verifier confirmed all 15 scheduled activations are ACTIVE, published to Online Store, and excluded from Google under the existing policy; first/last storefront pages returned HTTP 200 with correct product IDs. The ledger and audit reconcile exactly. See `scheduled-run-verified.json`, `current-readiness-summary.json`, and `post-run-schedules.json`.
+
+The existing calendar prune removed the 16 activated products from its staged schedule. Both worker locks are absent, and both existing jobs remain loaded.
diff --git a/verification/rollout/before/Designer-Wallcoverings/shopify/scripts/lib/validate-before-activate.js b/verification/rollout/before/Designer-Wallcoverings/shopify/scripts/lib/validate-before-activate.js
new file mode 100644
index 0000000..a2532ea
--- /dev/null
+++ b/verification/rollout/before/Designer-Wallcoverings/shopify/scripts/lib/validate-before-activate.js
@@ -0,0 +1,195 @@
+'use strict';
+/**
+ * validateBeforeActivate(product) — the SINGLE activation gate for DW Shopify.
+ *
+ * Steve's standing rule (2026-06-20) extends the old "NEVER Activate SKU Without
+ * Width AND Image" gate to a fuller SPECS + DESCRIPTION + ALL-VENDOR-IMAGES gate.
+ * A product may go ACTIVE only if ALL of these hold:
+ *
+ *   SPECS  — global.width present + non-empty (hard-required), PLUS the core set
+ *            (length, repeat, content/material, unit_of_measure) WHERE the vendor
+ *            provides them. We never block on a spec the vendor genuinely lacks,
+ *            but if the source row HAS it, it must make it onto the product.
+ *   DESC   — a non-empty body_html/description that is NOT a placeholder, NOT a
+ *            "Page Not Found"/"Unknown"/404/error string, and NOT bare legal text.
+ *   IMAGES — at least one product image AND all of the vendor's available images
+ *            for that SKU (vendor_catalog.all_images / image_url; full-page-scrape).
+ *   GUARDS — title has no banned word "Wallpaper", no "Unknown"; sample variant
+ *            present ({DW_SKU}-Sample).
+ *
+ * On FAIL the caller MUST keep the product DRAFT and apply the returned tags
+ * (Needs-Specs / Needs-Description / Needs-Image). Never flip ACTIVE on a fail.
+ *
+ * The function is source-shape agnostic. Both chokepoints normalize into this
+ * shape before calling:
+ *   {
+ *     title:            String,                    // final Shopify title
+ *     vendor:           String,                    // product vendor (for INTERNAL guard)
+ *     tags:             [String] | String,         // product tags (for INTERNAL guard)
+ *     dwSku:            String,                    // DW SKU (for sample-variant check)
+ *     descriptionHtml:  String,                    // body_html / descriptionHtml
+ *     specs: {                                     // resolved spec VALUES (strings)
+ *       width, length, repeat, material, unitOfMeasure   // '' / null where absent
+ *     },
+ *     vendorSpecs: {                               // what the VENDOR ROW actually has
+ *       width, length, repeat, material, unitOfMeasure   // truthy = vendor provides it
+ *     },
+ *     images:          [String],                   // product images attached (urls/ids)
+ *     vendorImages:    [String],                   // ALL vendor images for this SKU
+ *     variants:        [{ sku }] | [String]        // variant SKUs present
+ *   }
+ *
+ * Returns { ok:Boolean, reasons:[String], tags:[String] }.
+ */
+
+// INTERNAL front-facing hard-block (Steve 2026-07-09). A product whose vendor is in
+// config/internal-lines.json OR that carries the `internal` tag is DELIBERATELY never
+// front-facing — it must NEVER go ACTIVE/published (storefront) or into the Google feed.
+// This is the single enforced gate wired into BOTH activation chokepoints, so refusing
+// here refuses every activate/publish path. Fails SAFE: if the registry can't be read,
+// internal-guard still blocks the four known luxury lines by name.
+const { isInternal } = require('./internal-guard.js');
+
+const BANNED_WORD = /\bwallpapers?\b/i;
+const BAD_DESC = /\b(unknown|page\s*not\s*found|not\s*found|404|undefined|null|error|placeholder|lorem ipsum|coming soon|tbd|n\/a)\b/i;
+// "legal-only" body: a description that is ONLY settlement / trademark / disclaimer
+// boilerplate is not a real product description (Steve: "never put legal language
+// in description"). Heuristic — short body dominated by legal terms.
+const LEGAL_TERMS = /(settlement agreement|all rights reserved|trademark|terms (and|&) conditions|disclaimer|prop\s*65|warranty void|copyright ©|this product is sold subject to)/i;
+
+function stripHtml(s) {
+  return String(s || '').replace(/<[^>]*>/g, ' ').replace(/&[a-z#0-9]+;/gi, ' ').replace(/\s+/g, ' ').trim();
+}
+function nonEmpty(v) { return v != null && String(v).trim() !== ''; }
+
+/**
+ * Normalize a "vendor images" / "product images" collection into a comparable
+ * Set of identity strings. all_images may be a JSON array string, a comma list,
+ * a Postgres array literal, or a JS array. Images are compared by STEM (basename
+ * minus extension) so a CDN-rehosted Shopify image still matches its vendor
+ * source even after Shopify re-encodes/renames it (.jpeg -> .jpg etc.).
+ */
+function toImageList(v) {
+  if (v == null) return [];
+  let arr = v;
+  if (typeof v === 'string') {
+    const s = v.trim();
+    if (!s) return [];
+    if (s[0] === '[') { try { arr = JSON.parse(s); } catch { arr = []; } }
+    else if (s[0] === '{' && s.endsWith('}')) arr = s.slice(1, -1).split(',');   // PG array literal
+    else arr = s.split(',');
+  }
+  if (!Array.isArray(arr)) arr = [arr];
+  return arr.map(x => String(x || '').trim()).filter(Boolean);
+}
+function basename(u) {
+  return String(u || '').split(/[?#]/)[0].split('/').pop().toLowerCase().trim();
+}
+// STEM = basename with the trailing extension stripped. Shopify re-encodes
+// vendor images on ingest and serves them under cdn.shopify.com with a renamed
+// host + a normalized extension (vendor `0043181_….jpeg` -> Shopify
+// `0043181_….jpg?v=…`). Comparing by stem makes the SAME image match across the
+// rehost; comparing by full basename (the old behavior) false-failed ~100% of
+// CDN-rehosted Brewster/York net-new, forcing them DRAFT despite a valid image.
+function stem(u) {
+  return basename(u).replace(/\.[a-z0-9]{2,5}$/i, '');
+}
+
+function validateBeforeActivate(product) {
+  const reasons = [];
+  const tags = [];
+  const p = product || {};
+  const specs = p.specs || {};
+  const vspecs = p.vendorSpecs || {};
+
+  // ---------- INTERNAL HARD-BLOCK (front-facing refusal) ----------
+  // Checked FIRST and fails the gate outright: an internal line can never be a
+  // candidate to activate/publish, regardless of specs/images/description. Keeps
+  // the product DRAFT (the caller keeps DRAFT on !ok) with an `internal` tag flag.
+  if (isInternal(p.vendor, p.tags)) {
+    return { ok: false, reasons: ['internal line — never front-facing (config/internal-lines.json)'], tags: ['internal'] };
+  }
+
+  // ---------- SPECS ----------
+  // width is hard-required (legacy rule); the rest are required ONLY where the
+  // vendor provides them.
+  const specFail = [];
+  if (!nonEmpty(specs.width)) specFail.push('width');
+  for (const k of ['length', 'repeat', 'material', 'unitOfMeasure']) {
+    if (nonEmpty(vspecs[k]) && !nonEmpty(specs[k])) specFail.push(k);  // vendor has it but product dropped it
+  }
+  if (specFail.length) {
+    reasons.push(`missing spec(s): ${specFail.join(', ')}`);
+    tags.push('Needs-Specs');
+    if (specFail.includes('width')) tags.push('Needs-Width');
+  }
+
+  // ---------- DESCRIPTION ----------
+  const descText = stripHtml(p.descriptionHtml);
+  if (!descText) {
+    reasons.push('empty description');
+    tags.push('Needs-Description');
+  } else if (BAD_DESC.test(descText)) {
+    reasons.push('placeholder/error text in description');
+    tags.push('Needs-Description');
+  } else if (descText.length < 24) {
+    reasons.push('description too short (placeholder-grade)');
+    tags.push('Needs-Description');
+  } else if (LEGAL_TERMS.test(descText) && descText.length < 200) {
+    // short body that is mostly legal boilerplate = not a real product description
+    reasons.push('description is legal/disclaimer boilerplate, not product copy');
+    tags.push('Needs-Description');
+  }
+
+  // ---------- IMAGES ----------
+  // HARD RULE (never weaken): a product with ZERO attached images NEVER activates.
+  // Everything below that is COMPLETENESS, not a safety gate. The old code made
+  // "ALL vendor images attached" a hard activation block AND compared by full
+  // basename — but Shopify CDN-rehosts vendor images under a renamed host +
+  // normalized extension (.jpeg -> .jpg) and attaches only the primary, so the
+  // exact-basename subset check false-failed ~100% of CDN-rehosted net-new
+  // (Brewster/York), forcing valid-imaged products to DRAFT. Fix (DTD 3/3 A,
+  // 2026-06-20): (1) compare by STEM so the rehosted image still matches its
+  // vendor source; (2) demote the "all vendor images present" shortfall from a
+  // BLOCKING reason to a NON-BLOCKING Needs-Image tag — image completeness is
+  // still tracked, but a product that genuinely HAS a real image activates.
+  const productImgs = toImageList(p.images);
+  const vendorImgs = toImageList(p.vendorImages);
+  if (productImgs.length < 1) {
+    // the only image condition that blocks activation
+    reasons.push('no product image');
+    tags.push('Needs-Image');
+  } else if (vendorImgs.length) {
+    // completeness check only — compare by stem (ext/CDN-rename insensitive).
+    const have = new Set(productImgs.map(stem));
+    const missing = vendorImgs.filter(v => !have.has(stem(v)));
+    if (missing.length) {
+      // NON-BLOCKING: tag for later image backfill, but do NOT add to reasons
+      // (so gate.ok stays true when the product already has >=1 real image).
+      tags.push('Needs-Image');
+    }
+  }
+
+  // ---------- TITLE GUARDS ----------
+  const title = String(p.title || '');
+  if (!title.trim()) { reasons.push('empty title'); }
+  if (BANNED_WORD.test(title)) { reasons.push('banned word "Wallpaper" in title'); }
+  if (/\bunknown\b/i.test(title)) { reasons.push('"Unknown" in title'); }
+
+  // ---------- SAMPLE VARIANT ----------
+  const variants = Array.isArray(p.variants) ? p.variants : [];
+  const skuList = variants.map(v => (typeof v === 'string' ? v : (v && (v.sku || (v.inventoryItem && v.inventoryItem.sku))) || '')).map(s => String(s).toLowerCase());
+  // A product "has a sample" if ANY variant SKU ends in -sample, OR (when the
+  // variant objects carry a title) a variant is titled "Sample". The standing
+  // rule wants a sample variant present — it does NOT require the sample SKU base
+  // to equal the DW SKU. The old exact `${dwSku}-Sample` match falsely flagged
+  // every product whose sample is keyed to the mfr_sku (e.g. SWAN-104-sample),
+  // inflating residue and wrongly blocking legit products at the chokepoint.
+  const titledSample = variants.some(v => v && typeof v === 'object' && /^\s*sample\s*$/i.test(v.title || ''));
+  const hasSample = titledSample || skuList.some(s => s.endsWith('-sample'));
+  if (!hasSample) { reasons.push('missing sample variant'); }
+
+  return { ok: reasons.length === 0, reasons, tags: [...new Set(tags)] };
+}
+
+module.exports = { validateBeforeActivate, toImageList, stripHtml, basename, stem };
diff --git a/verification/rollout/before/dw-five-field-step0/.gitignore b/verification/rollout/before/dw-five-field-step0/.gitignore
new file mode 100644
index 0000000..87910ab
--- /dev/null
+++ b/verification/rollout/before/dw-five-field-step0/.gitignore
@@ -0,0 +1,9 @@
+node_modules/
+.env*
+tmp/
+*.log
+.DS_Store
+dist/
+build/
+.next/
+__pycache__/
diff --git a/verification/rollout/before/dw-five-field-step0/bulk-fivefield-exec.py b/verification/rollout/before/dw-five-field-step0/bulk-fivefield-exec.py
new file mode 100644
index 0000000..9276c1c
--- /dev/null
+++ b/verification/rollout/before/dw-five-field-step0/bulk-fivefield-exec.py
@@ -0,0 +1,546 @@
+#!/usr/bin/env python3
+"""
+DW five-field BULK executor — releases the ~17,317 AUTO-FIXABLE priceable cohort.
+
+Built on the proven 20/20 canary (/tmp/threads-canary-exec.py). Same shape + guards:
+  PG-before-Shopify, fetch-live-then-create, idempotent skip-if-exists,
+  MAP + $0 guards BEFORE and AFTER create, vendor sanity, DELETE nothing,
+  per-SKU try/catch, audit JSON, FULLY RESUMABLE from the audit file.
+
+Source of truth = dw_unified.bulk_fivefield_worklist (status='pending'), ordered by order_rank:
+  rank 1..14,425   add-sample   -> create {DW_SKU}-Sample @ $4.25, inventory tracking OFF
+  rank 14,426..17,198  build-roll (Kravet-fam) -> create {DW_SKU} @ MAP (computed_price; >= kravet_price)
+  rank 17,199..17,317  build-roll (non-Kravet priceable) -> create {DW_SKU} @ computed_price
+The 33 reprice-zero rows are status='held-no-cost' in the table and are NEVER loaded here
+(no cost -> cannot MAP-price -> no variant-create path). The 30,107 NO-COST HOLD cohort is
+excluded at the SQL source: the worklist was built WHERE priceable=true (Steve's hard gate).
+
+Store = designer-laboratory-sandbox.myshopify.com (Steve-authorized, token last4 75b9). API = 2024-10.
+
+SCALE ADDITIONS over the canary:
+ 1) DAILY BUDGET CAP via the shared ledger budget.cjs ('upload' category, DTD verdict A 2026-06-21):
+      - default --max = live `budget.cjs remaining upload` (today's leftover global headroom)
+      - take('upload', N) UP FRONT to size the batch; refund the unused remainder at the end
+        (refund rule: we debit the whole grant to size the batch, but consume 1 variant per CREATE;
+         skips/errors create nothing -> refund grant-minus-created). Never starves the live cadence;
+         both honor the 884/day ceiling first-come-first-served.
+      - process AT MOST `granted` variant-CREATES this run, then stop. Resumable next run.
+ 2) Per-batch summary line + running total-done / total-remaining (printed live + at end).
+ 3) Idempotency: a re-run after a partial batch skips everything already created (status in
+    audit JSON = fixed/skipped) AND re-checks the live variant list (skip-if-exists) belt-and-braces.
+
+DOES NOT mutate the worklist table. Audit JSON is the resume ledger.
+"""
+import json, urllib.request, urllib.error, subprocess, time, os, sys, argparse
+from sku_guard import validate_dw_sku
+
+
+# Sentinel for Shopify's DAILY variant-creation 429. Inherits BaseException (NOT Exception) so the
+# per-SKU `except Exception` inside process() can't swallow it — it propagates straight to main()'s
+# handler, which stops the run cleanly + refunds. (2026-06-23 DTD-C 429-back-off.)
+class DailyVariantLimit(BaseException):
+    pass
+
+DOMAIN = "designer-laboratory-sandbox.myshopify.com"
+API = "2024-10"
+OUTDIR = "/Users/macstudio3/Projects/dw-five-field-step0/out"
+RESULT = os.path.join(OUTDIR, "bulk-fivefield-result.json")
+SAMPLE_PRICE = "4.25"
+# --- display_variant legacy tag backfill (Option A, DTD 3/3 2026-06-24) -------
+# Flag-gated, default OFF: the next scheduled drain run will NOT auto-tag unless
+# DISPLAY_VARIANT_BACKFILL=1 is exported. tagsAdd is NOT a variant create -> it
+# does NOT debit the variant budget.cjs ledger and does NOT hit the daily 1k
+# variant cap. Paced with its OWN per-run cap + the SAME inter-call sleep as the
+# variant drain, and runs AFTER the variant work each hourly slot.
+DV_TAG = "display_variant"
+DV_RESULT = os.path.join(OUTDIR, "display-variant-backfill-result.json")
+BUDGET = os.path.expanduser("~/Projects/designerwallcoverings/scripts/variant-budget/budget.cjs")
+BUDGET_CAT = "backlog"  # 2026-06-21 EVEN 50/50: own reserved 500/day category (was 'upload', which the cadence starved to ~140/day)
+NODE = "/opt/homebrew/bin/node" if os.path.exists("/opt/homebrew/bin/node") else "node"
+
+tok = subprocess.check_output(
+    "grep -E '^SHOPIFY_ADMIN_TOKEN=' ~/Projects/secrets-manager/.env | head -1 | cut -d= -f2- | tr -d '\"'\"'\"' '",
+    shell=True, executable="/bin/bash").decode().strip()
+HDR = {"X-Shopify-Access-Token": tok, "Content-Type": "application/json"}
+
+
+def shop(method, path, body=None):
+    url = f"https://{DOMAIN}/admin/api/{API}/{path}"
+    data = json.dumps(body).encode() if body is not None else None
+    r = urllib.request.Request(url, data=data, headers=HDR, method=method)
+    try:
+        with urllib.request.urlopen(r, timeout=60) as resp:
+            return resp.status, json.loads(resp.read().decode())
+    except urllib.error.HTTPError as e:
+        try:
+            return e.code, json.loads(e.read().decode())
+        except Exception:
+            return e.code, {"error": "non-json"}
+
+
+def gql(query, variables=None, retries=6):
+    """Admin GraphQL POST with simple 429/5xx back-off. Used only by the
+    display_variant tag backfill (Option A, DTD 3/3 2026-06-24) — tagsAdd is a
+    tag mutation, NOT a variant create, so it never touches the variant cap or
+    the budget.cjs ledger."""
+    url = f"https://{DOMAIN}/admin/api/{API}/graphql.json"
+    body = json.dumps({"query": query, "variables": variables or {}}).encode()
+    for attempt in range(retries):
+        r = urllib.request.Request(url, data=body, headers=HDR, method="POST")
+        try:
+            with urllib.request.urlopen(r, timeout=120) as resp:
+                return json.loads(resp.read().decode())
+        except urllib.error.HTTPError as e:
+            if e.code in (429, 502, 503):
+                time.sleep(2 * (attempt + 1)); continue
+            try:
+                return {"errors": [{"message": f"http_{e.code}", "body": e.read().decode()[:300]}]}
+            except Exception:
+                return {"errors": [{"message": f"http_{e.code}"}]}
+    return {"errors": [{"message": "gql_retries_exhausted"}]}
+
+
+# ── budget ledger helpers (fail-open like budget.cjs itself) ──────────────────
+def budget_remaining():
+    try:
+        out = subprocess.check_output([NODE, BUDGET, "remaining", BUDGET_CAT],
+                                      stderr=subprocess.DEVNULL, timeout=30).decode().strip()
+        n = int(float(out))
+        return max(0, n)
+    except Exception as e:
+        print(f"[budget] WARN remaining() failed ({e}) -> 0 (conservative)")
+        return 0
+
+
+def budget_take(n):
+    if n <= 0:
+        return 0
+    try:
+        out = subprocess.check_output([NODE, BUDGET, "take", BUDGET_CAT, str(n)],
+                                      stderr=subprocess.DEVNULL, timeout=30).decode().strip()
+        return max(0, int(float(out)))
+    except Exception as e:
+        print(f"[budget] WARN take() failed ({e}) -> granting {n} (fail-open, matches budget.cjs)")
+        return n
+
+
+def budget_refund(n):
+    if n <= 0:
+        return 0
+    try:
+        out = subprocess.check_output([NODE, BUDGET, "refund", BUDGET_CAT, str(n)],
+                                      stderr=subprocess.DEVNULL, timeout=30).decode().strip()
+        return max(0, int(float(out)))
+    except Exception as e:
+        print(f"[budget] WARN refund() failed ({e}) -> no-op")
+        return 0
+
+
+# ── worklist load (PG source of truth) ────────────────────────────────────────
+def load_worklist():
+    # Emit JSON from psql so embedded |, newlines, quotes in vendor/sku text can't break parsing.
+    # rr = VENDOR ROUND-ROBIN order (Steve: "activate as many as possible across as
+    # many vendors every day"). Processing rr-ascending takes ONE sku from every
+    # vendor before a 2nd from any — so each daily budget-capped batch spreads
+    # across all vendors. Samples-first within each vendor (Steve's sequencing).
+    q = (
+        "SELECT coalesce(json_agg(row_to_json(t) ORDER BY t.rr), '[]'::json) FROM ("
+        "  SELECT (row_number() OVER (PARTITION BY vendor ORDER BY (fix_type='add-sample') DESC, dw_sku))*100000"
+        "         + dense_rank() OVER (ORDER BY vendor) AS rr, "
+        "         shopify_id, dw_sku, mfr_sku, vendor, fix_type, "
+        "         is_kravet_fam, computed_price::float8 AS computed_price, "
+        "         kravet_price::float8 AS kravet_price "
+        "  FROM bulk_fivefield_worklist WHERE status='pending'"
+        # Schumacher is internal-only (never launched/published to the storefront),
+        # so building sellable Sample/roll variants for it only burns the scarce
+        # daily variant budget on products that stay archived. Skip it at the source.
+        "    AND lower(coalesce(vendor,'')) <> 'schumacher'"
+        ") t;"
+    )
+    raw = subprocess.check_output(
+        ["psql", "-d", "dw_unified", "-t", "-A", "-c", q]).decode()
+    data = json.loads(raw)
+    rows = []
+    for d in data:
+        rows.append({
+            "rr": int(d["rr"]), "shopify_id": d["shopify_id"],
+            "dw_sku": d["dw_sku"], "mfr_sku": d["mfr_sku"], "vendor": d["vendor"],
+            "fix_type": d["fix_type"], "is_kravet_fam": bool(d["is_kravet_fam"]),
+            "computed_price": d["computed_price"], "kravet_price": d["kravet_price"],
+        })
+    rows.sort(key=lambda r: r["rr"])
+    return rows
+
+
+def pid_of(shopify_id):
+    return shopify_id.rsplit("/", 1)[-1]
+
+
+def process(item, results, dry_run=False):
+    """Returns 1 if a variant was CREATED (consumes 1 budget unit), else 0."""
+    pid = pid_of(item["shopify_id"])
+    dw = item["dw_sku"]
+    fix = item["fix_type"]
+    rec = {"rr": item["rr"], "dw_sku": dw, "mfr_sku": item["mfr_sku"],
+           "vendor": item["vendor"], "product_id": pid, "handle": None, "fix": fix,
+           "target_sku": None, "price": None, "before_variants": None,
+           "after_variants": None, "new_variant_id": None, "status": None, "reason": None}
+    try:
+        # --- pre-flight integrity (PG source of truth) ---
+        if fix not in ("add-sample", "build-roll"):
+            rec["status"] = "errored"; rec["reason"] = f"unknown_fix_type:{fix}"
+            results.append(rec); print(f"ERR {dw}: unknown fix {fix}"); return 0
+
+        # skip-guard (2026-06-21): rows with no resolvable base SKU would create a
+        # "None-Sample" / null-sku variant. Skip them (never name-guess) — covers the
+        # 514 unresolvable add-sample rows and the build-roll rows with dw_sku=None.
+        if dw is None or str(dw).strip() in ("", "None", "null"):
+            rec["status"] = "skipped"; rec["reason"] = "no_resolvable_base_sku"
+            results.append(rec); print(f"SKIP {dw} [{fix}]: no resolvable base sku"); return 0
+
+        # --- fetch live ---
+        st, r = shop("GET", f"products/{pid}.json?fields=id,handle,title,status,vendor,variants")
+        if st != 200:
+            rec["status"] = "errored"; rec["reason"] = f"fetch_{st}"; rec["api"] = r
+            results.append(rec); print(f"ERR {dw}: fetch {st}"); return 0
+        p = r.get("product", {})
+        rec["handle"] = p.get("handle")
+        # vendor sanity: live Shopify vendor must match the worklist vendor (not a hardcoded string)
+        live_vendor = (p.get("vendor") or "").strip()
+        wl_vendor = (item["vendor"] or "").strip()
+        if wl_vendor and live_vendor and live_vendor != wl_vendor:
+            rec["status"] = "errored"
+            rec["reason"] = f"vendor_mismatch:live={live_vendor!r}!=worklist={wl_vendor!r}"
+            results.append(rec); print(f"ERR {dw}: vendor {live_vendor!r} != {wl_vendor!r}"); return 0
+
+        variants = p.get("variants", [])
+        rec["before_variants"] = [
+            {"id": v["id"], "sku": v.get("sku"), "price": v.get("price"),
+             "option1": v.get("option1"), "inv_mgmt": v.get("inventory_management")}
+            for v in variants]
+        existing_skus = {(v.get("sku") or "") for v in variants}
+        existing_opts = {(v.get("option1") or "").strip().lower() for v in variants}
+
+        if fix == "add-sample":
+            target = f"{dw}-Sample"
+            price = SAMPLE_PRICE
+            rec["target_sku"] = target; rec["price"] = price
+            if target in existing_skus:   # idempotent belt-and-braces
+                rec["status"] = "skipped"; rec["reason"] = "sample_variant_already_exists"
+                rec["after_variants"] = rec["before_variants"]
+                results.append(rec); print(f"SKIP {dw}: sample exists"); return 0
+            if "sample" in existing_opts:  # product already has a Sample option (different sku) -> 422 if we POST
+                rec["status"] = "skipped"; rec["reason"] = "sample_option_already_present"
+                rec["after_variants"] = rec["before_variants"]
+                results.append(rec); print(f"SKIP {dw}: sample option present"); return 0
+            vbody = {"variant": {
+                "option1": "Sample", "sku": target, "price": price,
+                "inventory_management": None, "inventory_policy": "continue",
+                "requires_shipping": True, "taxable": True}}
+
+        else:  # build-roll
+            target = dw
+            map_price = item["computed_price"]
+            rec["target_sku"] = target; rec["price"] = map_price
+            # $0 / null guard (BEFORE create)
+            if map_price is None or map_price <= 0:
+                rec["status"] = "errored"; rec["reason"] = f"zero_or_null_price:{map_price}"
+                results.append(rec); print(f"ERR {dw}: bad price {map_price}"); return 0
+            # MAP-floor guard (BEFORE create): never below the Kravet MAP
+            if item["kravet_price"] is not None and map_price + 1e-6 < item["kravet_price"]:
+                rec["status"] = "errored"
+                rec["reason"] = f"MAP_breach:{map_price}<kravet_price{item['kravet_price']}"
+                results.append(rec); print(f"ERR {dw}: MAP breach"); return 0
+            if target in existing_skus:   # idempotent belt-and-braces
+                rec["status"] = "skipped"; rec["reason"] = "roll_variant_already_exists"
+                rec["after_variants"] = rec["before_variants"]
+                results.append(rec); print(f"SKIP {dw}: roll exists"); return 0
+            if "roll" in existing_opts:   # product already has a Roll option (different sku) -> 422 if we POST
+                rec["status"] = "skipped"; rec["reason"] = "roll_option_already_present"
+                rec["after_variants"] = rec["before_variants"]
+                results.append(rec); print(f"SKIP {dw}: roll option present"); return 0
+            vbody = {"variant": {
+                "option1": "Roll", "sku": target, "price": f"{map_price:.2f}",
+                "inventory_management": "shopify", "inventory_policy": "continue",
+                "requires_shipping": True, "taxable": True}}
+
+        # Identity guard immediately before the only variant-create boundary.
+        sku_check = validate_dw_sku(target, fix, variants)
+        if not sku_check["ok"]:
+            rec["status"] = "errored"; rec["reason"] = f"sku_preflight:{sku_check['reason']}"
+            results.append(rec); print(f"ERR {dw}: SKU preflight {sku_check['reason']}"); return 0
+
+        if dry_run:
+            rec["status"] = "dryrun"; rec["reason"] = "would_create"
+            results.append(rec)
+            print(f"DRYRUN {dw} [{fix}] -> {rec['target_sku']} @ {rec['price']}  (product {pid}, vendor {wl_vendor})")
+            return 0
+
+        # --- create the missing variant ---
+        st2, r2 = shop("POST", f"products/{pid}/variants.json", vbody)
+        if st2 not in (200, 201):
+            # 2026-06-23 (DTD-C / Steve): on Shopify's DAILY variant-creation 429, STOP the whole
+            # run cleanly instead of grinding the rest of the granted slice into thousands of failed
+            # 429s (11,754 in one day → it monopolized the cap creating ~0). The cap resets in ~24h;
+            # the unused grant is refunded by main()'s refund-rule path. Raise a sentinel the loop
+            # catches → records this SKU as errored:daily_limit, refunds, exits.
+            body_txt = json.dumps(r2)
+            if st2 == 429 and "Daily variant creation limit" in body_txt:
+                rec["status"] = "errored"; rec["reason"] = "daily_variant_limit_429_backoff"; rec["api"] = r2
+                results.append(rec); print(f"BACKOFF {dw}: Daily variant creation limit 429 — stopping run cleanly (resets ~24h)")
+                raise DailyVariantLimit(dw)
+            rec["status"] = "errored"; rec["reason"] = f"create_{st2}"; rec["api"] = r2
+            results.append(rec); print(f"ERR {dw}: create {st2} {r2}"); return 0
+        nv = r2.get("variant", {})
+        rec["new_variant_id"] = nv.get("id")
+        # AFTER-create price guards
+        created_price = float(nv.get("price") or 0)
+        if created_price <= 0:
+            rec["status"] = "errored"; rec["reason"] = f"created_price_zero:{created_price}"
+            results.append(rec); print(f"ERR {dw}: created price 0"); return 1  # variant WAS created -> consumed budget
+        if fix == "build-roll" and item["kravet_price"] is not None and created_price + 1e-6 < item["kravet_price"]:
+            rec["status"] = "errored"; rec["reason"] = f"post_create_MAP_breach:{created_price}<{item['kravet_price']}"
+            results.append(rec); print(f"ERR {dw}: post-create MAP breach"); return 1
+        time.sleep(0.6)
+
+        # --- re-fetch to confirm ---
+        st3, r3 = shop("GET", f"products/{pid}.json?fields=id,variants")
+        after = r3.get("product", {}).get("variants", [])
+        rec["after_variants"] = [
+            {"id": v["id"], "sku": v.get("sku"), "price": v.get("price"),
+             "option1": v.get("option1"), "inv_mgmt": v.get("inventory_management")}
+            for v in after]
+        rec["status"] = "fixed"; rec["reason"] = "ok"
+        results.append(rec)
+        print(f"FIXED {dw} [{fix}] -> {rec['target_sku']} @ {nv.get('price')} (variant {nv.get('id')})")
+        return 1
+    except Exception as e:
+        rec["status"] = "errored"; rec["reason"] = f"exception:{e}"
+        results.append(rec); print(f"ERR {dw}: {e}")
+        return 0
+
+
+def backfill_display_variant(slot_max, dry_run=False):
+    """Option A (DTD 3/3 2026-06-24): idempotent backfill of the legacy
+    'display_variant' tag on ACTIVE products that lack it.
+
+    - Pages products(query:"status:active AND -tag:display_variant") so the
+      population is self-correcting — anything already tagged drops out of the
+      query, so a re-run never re-tags. Belt-and-braces: also skips if the live
+      tag list already contains DV_TAG.
+    - Caps this run at `slot_max` tag-adds (own lane; see DISPLAY_VARIANT_SLOT_MAX),
+      mirroring the variant drain's per-slot batching so the daily total spreads
+      across the 24 hourly slots instead of bursting.
+    - tagsAdd is a tag mutation, NOT a variant create: NO variant-budget debit,
+      no daily variant-cap exposure.
+    - Appends an audit ledger to DV_RESULT. DELETEs nothing. Resumable (the
+      query naturally excludes already-tagged products on the next run).
+
+    Returns the number of products tagged this run.
+    """
+    results = []
+    if os.path.exists(DV_RESULT):
+        try:
+            results = json.load(open(DV_RESULT))
+        except Exception:
+            results = []
+
+    Q = ('query($c:String){ products(first:50, after:$c, '
+         'query:"status:active AND -tag:display_variant"){ '
+         'pageInfo{hasNextPage endCursor} '
+         'edges{ node{ id handle tags } } } }')
+    M = ('mutation($id:ID!, $tags:[String!]!){ tagsAdd(id:$id, tags:$tags){ '
+         'node{ id } userErrors{ field message } } }')
+
+    print(f"\n=== display_variant backfill === cap_this_run={slot_max} dry_run={dry_run}")
+    tagged = 0
+    cursor = None
+    while tagged < slot_max:
+        d = gql(Q, {"c": cursor})
+        if "errors" in d:
+            print(f"[dv] GQL error: {json.dumps(d['errors'])[:300]} — stopping run")
+            break
+        conn = d["data"]["products"]
+        edges = conn["edges"]
+        if not edges:
+            print("[dv] no more untagged active products — backfill complete for now")
+            break
+        for e in edges:
+            if tagged >= slot_max:
+                break
+            node = e["node"]
+            pid = node["id"]
+            handle = node.get("handle")
+            live_tags = node.get("tags") or []
+            rec = {"product_id": pid, "handle": handle, "status": None, "reason": None}
+            # belt-and-braces idempotency (query already filters, but double-check)
+            if DV_TAG in live_tags:
+                rec["status"] = "skipped"; rec["reason"] = "already_tagged"
+                results.append(rec)
+                continue
+            if dry_run:
+                rec["status"] = "dryrun"; rec["reason"] = "would_tag"
+                results.append(rec)
+                print(f"[dv] DRYRUN would tag {handle} ({pid})")
+                tagged += 1
+                continue
+            md = gql(M, {"id": pid, "tags": [DV_TAG]})
+            if "errors" in md:
+                rec["status"] = "errored"; rec["reason"] = json.dumps(md["errors"])[:200]
+                results.append(rec); print(f"[dv] ERR {handle}: {rec['reason']}")
+                continue
+            ue = md.get("data", {}).get("tagsAdd", {}).get("userErrors", [])
+            if ue:
+                rec["status"] = "errored"; rec["reason"] = json.dumps(ue)[:200]
+                results.append(rec); print(f"[dv] ERR {handle}: {rec['reason']}")
+                continue
+            rec["status"] = "tagged"; rec["reason"] = "ok"
+            results.append(rec); tagged += 1
+            print(f"[dv] TAGGED {handle} ({pid})  [{tagged}/{slot_max}]")
+            json.dump(results, open(DV_RESULT, "w"), indent=1)
+            time.sleep(0.4)  # SAME inter-call sleep as the variant drain (shared pacing)
+        # advance cursor only if we tagged some but didn't exit; since tagged rows
+        # leave the query, re-query from the top (cursor=None) to pick up the next
+        # untagged batch deterministically.
+        if dry_run:
+            pi = conn["pageInfo"]
+            if not pi["hasNextPage"]:
+                break
+            cursor = pi["endCursor"]
+        else:
+            cursor = None  # tagged products fall out of the query -> fresh top page
+        time.sleep(0.25)
+
+    if not dry_run:
+        json.dump(results, open(DV_RESULT, "w"), indent=1)
+    total_tagged = sum(1 for r in results if r["status"] == "tagged")
+    print(f"[dv] run done: this_run={tagged}  all_time_tagged={total_tagged}  audit={DV_RESULT}")
+    return tagged
+
+
+def main():
+    ap = argparse.ArgumentParser()
+    ap.add_argument("--max", type=int, default=None,
+                    help="max variant-CREATES this run (default = live budget.cjs remaining upload)")
+    ap.add_argument("--dry-run", action="store_true",
+                    help="print the day-1 batch (first --max creatable SKUs) WITHOUT writing or debiting budget")
+    ap.add_argument("--display-variant-only", action="store_true",
+                    help="run ONLY the display_variant tag backfill (skip the variant drain). "
+                         "Still gated by env DISPLAY_VARIANT_BACKFILL=1.")
+    args = ap.parse_args()
+
+    os.makedirs(OUTDIR, exist_ok=True)
+
+    # --- display_variant tag backfill (Option A, DTD 3/3 2026-06-24) ----------
+    # GATED OFF by default: only runs when env DISPLAY_VARIANT_BACKFILL=1. Own
+    # per-run cap (DISPLAY_VARIANT_SLOT_MAX, default 30) + same inter-call sleep;
+    # NO variant-budget debit. Runs AFTER the variant drain unless
+    # --display-variant-only is passed.
+    dv_enabled = os.environ.get("DISPLAY_VARIANT_BACKFILL", "0") == "1"
+    dv_slot_max = int(os.environ.get("DISPLAY_VARIANT_SLOT_MAX", "30"))
+
+    if args.display_variant_only:
+        if not dv_enabled:
+            print("[dv] --display-variant-only requested but DISPLAY_VARIANT_BACKFILL!=1 — "
+                  "gated OFF, nothing to do. Export DISPLAY_VARIANT_BACKFILL=1 to enable.")
+            return
+        backfill_display_variant(dv_slot_max, dry_run=args.dry_run)
+        return
+
+    work = load_worklist()
+    total_work = len(work)
+    print(f"Loaded {total_work} pending SKUs from dw_unified.bulk_fivefield_worklist")
+
+    # --- resume from audit file ---
+    results = []
+    done = set()
+    if os.path.exists(RESULT):
+        try:
+            results = json.load(open(RESULT))
+            done = {r["dw_sku"] for r in results if r.get("status") in ("fixed", "skipped")}
+        except Exception:
+            results = []
+    todo = [w for w in work if w["dw_sku"] not in done]
+    print(f"=== bulk five-field: {total_work} pending, {len(done)} already done (audit), {len(todo)} remaining ===")
+
+    # --- budget sizing ---
+    if args.dry_run:
+        cap = args.max if args.max is not None else 25
+        print(f"[DRY RUN] no Shopify writes, no budget debit. Showing first {cap} creatable SKUs.")
+        granted = cap
+    else:
+        want = args.max if args.max is not None else budget_remaining()
+        if want <= 0:
+            print(f"[budget] 0 upload headroom remaining today (cadence has the day's slice). "
+                  f"Nothing to do this run — resume next budget window. total_remaining={len(todo)}")
+            return
+        granted = budget_take(want)
+        if granted <= 0:
+            print(f"[budget] take() granted 0 (requested {want}). Cadence owns the day's slice. "
+                  f"Resume next window. total_remaining={len(todo)}")
+            return
+        print(f"[budget] requested {want}, GRANTED {granted} upload variants this run "
+              f"(shared 884/day ceiling, category={BUDGET_CAT}).")
+
+    print(f"store={DOMAIN} api={API}  cap_this_run={granted}\n")
+
+    created = 0          # real variant-creates this run (consumes budget)
+    processed = 0
+    for w in todo:
+        if not args.dry_run and created >= granted:
+            print(f"\n[budget] hit run cap ({granted} creates) — stopping. Resumable next run.")
+            break
+        if args.dry_run and processed >= granted:
+            break
+        try:
+            made = process(w, results, dry_run=args.dry_run)
+        except DailyVariantLimit:
+            # Shopify's daily variant cap is hit — stop NOW (no point grinding the rest of the
+            # grant into 429s). The refund path below returns the whole unused grant to budget.cjs.
+            json.dump(results, open(RESULT, "w"), indent=1)
+            print(f"\n[backoff] Daily variant creation limit reached — stopping run cleanly after "
+                  f"{created} create(s) this run. Resumable next budget window (~24h reset).")
+            break
+        created += made
+        processed += 1
+        if not args.dry_run:
+            json.dump(results, open(RESULT, "w"), indent=1)
+            if created and created % 25 == 0:
+                fixed_so_far = sum(1 for r in results if r["status"] == "fixed")
+                print(f"  … batch progress: {created}/{granted} creates this run · "
+                      f"{fixed_so_far} total fixed all-time · {total_work - fixed_so_far} remaining")
+            time.sleep(0.4)
+
+    # --- refund unused grant (refund rule) ---
+    if not args.dry_run:
+        json.dump(results, open(RESULT, "w"), indent=1)
+        unused = granted - created
+        if unused > 0:
+            got = budget_refund(unused)
+            print(f"[budget] refund: granted={granted} used={created} -> refunded {got} {BUDGET_CAT} variants.")
+
+    # --- summary ---
+    fixed = sum(1 for r in results if r["status"] == "fixed")
+    skipped = sum(1 for r in results if r["status"] == "skipped")
+    errored = sum(1 for r in results if r["status"] == "errored")
+    dryruns = sum(1 for r in results if r["status"] == "dryrun")
+    remaining_work = total_work - fixed - skipped
+    print(f"\n=== RUN DONE ===")
+    print(f"this run: creates={created}  processed={processed}")
+    print(f"all-time: fixed={fixed} skipped={skipped} errored={errored} dryrun={dryruns}")
+    print(f"TOTAL DONE (fixed+skipped) = {fixed + skipped} / {total_work}   ·   TOTAL REMAINING = {remaining_work}")
+    print(f"audit: {RESULT}")
+    if not args.dry_run:
+        json.dump(results, open(RESULT, "w"), indent=1)
+
+    # --- display_variant tag backfill (runs AFTER the variant drain) ----------
+    # Option A (DTD 3/3 2026-06-24). GATED OFF by default: only fires when env
+    # DISPLAY_VARIANT_BACKFILL=1. Own cap + same sleep; NO variant-budget debit.
+    if dv_enabled:
+        backfill_display_variant(dv_slot_max, dry_run=args.dry_run)
+    else:
+        print("[dv] display_variant backfill GATED OFF (set DISPLAY_VARIANT_BACKFILL=1 to enable).")
+
+
+if __name__ == "__main__":
+    main()
diff --git a/verification/rollout/before/dw-five-field-step0/drain.sh b/verification/rollout/before/dw-five-field-step0/drain.sh
new file mode 100644
index 0000000..8d4d675
--- /dev/null
+++ b/verification/rollout/before/dw-five-field-step0/drain.sh
@@ -0,0 +1,64 @@
+#!/bin/zsh
+# Daily auto-drain of the 5-field auto-fixable worklist.
+# Budget-aware (claims the day's leftover Shopify variant headroom via budget.cjs),
+# idempotent + resumable (skips anything already in the result JSON), DELETE-nothing.
+# Self-disables when the worklist is fully drained. Singleton-guarded.
+set -u
+export PATH="/opt/homebrew/opt/postgresql@14/bin:/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
+SK="$HOME/Projects/dw-five-field-step0"
+LOG="$SK/drain.log"
+LOCKDIR="$SK/.drain.lock"
+EXE="$SK/bulk-fivefield-exec.py"
+RESULT="$SK/out/bulk-fivefield-result.json"
+LABEL="com.steve.dw-fivefield-drain"
+ts(){ date '+%Y-%m-%d %H:%M:%S'; }
+
+# singleton (macOS has no flock) — atomic mkdir lock, stale after 2h
+if ! mkdir "$LOCKDIR" 2>/dev/null; then
+  if [ -d "$LOCKDIR" ] && [ "$(find "$LOCKDIR" -maxdepth 0 -mmin +120 2>/dev/null)" ]; then
+    rmdir "$LOCKDIR" 2>/dev/null; mkdir "$LOCKDIR" 2>/dev/null || { echo "[$(ts)] locked, skip" >>"$LOG"; exit 0; }
+  else
+    echo "[$(ts)] already running, skip" >>"$LOG"; exit 0
+  fi
+fi
+trap 'rmdir "$LOCKDIR" 2>/dev/null' EXIT
+
+# executable total (worklist minus the held-no-cost reprice-zeros, minus
+# internal-only Schumacher — matches the executor's load_worklist() exclusion so
+# done/total stays consistent; Schumacher stays archived and off the storefront)
+TOTAL=$(psql -d dw_unified -tAc "select count(*) from bulk_fivefield_worklist where status='pending' and fix_type <> 'reprice-zero' and lower(coalesce(vendor,'')) <> 'schumacher'" 2>/dev/null || echo 0)
+DONE=$(node -e 'try{const r=require(process.argv[1]);console.log(r.filter(x=>x.status==="fixed"||x.status==="skipped").length)}catch(e){console.log(0)}' "$RESULT" 2>/dev/null || echo 0)
+echo "[$(ts)] drain start — done=$DONE / total=$TOTAL" >>"$LOG"
+
+if [ "$TOTAL" -gt 0 ] && [ "$DONE" -ge "$TOTAL" ]; then
+  echo "[$(ts)] DRAIN COMPLETE ($DONE/$TOTAL) — self-disabling launchd job" >>"$LOG"
+  launchctl bootout "gui/$(id -u)/$LABEL" 2>/dev/null
+  exit 0
+fi
+
+# run one SMALL per-slot batch so the day's 500 'backlog' budget spreads evenly
+# across the 24 hourly slots (~21/slot) instead of bursting at once. The shared
+# budget.cjs 'backlog' category still hard-caps the daily total at 500.
+SLOT_MAX="${DW_BACKLOG_SLOT_MAX:-30}"
+
+# END-OF-DAY RECLAIM (DTD 2/2 verdict C, 2026-07-02): from 21:00 budget.cjs lets
+# 'backlog' sweep the day's unspent global remainder (~60/day historically) that
+# would otherwise expire at midnight. Ask for more in the 21/22/23 slots so the
+# sweep isn't capped by the request size; the ledger still bounds every grant.
+if [ "$(date +%H)" -ge 21 ]; then
+  SLOT_MAX="${DW_BACKLOG_RECLAIM_SLOT_MAX:-150}"
+fi
+
+# display_variant legacy tag backfill (Option A, DTD 3/3 2026-06-24).
+# GATED OFF by default: the executor only runs the tag pass when env
+# DISPLAY_VARIANT_BACKFILL=1 is present. tagsAdd is NOT a variant create -> it
+# does NOT debit the variant budget. Own per-slot cap (DISPLAY_VARIANT_SLOT_MAX,
+# default 30) + same inter-call sleep; runs AFTER the variant drain each slot.
+# To GO LIVE: add DISPLAY_VARIANT_BACKFILL=1 to this job's environment (the
+# launchd plist EnvironmentVariables block) and reload the plist. Until then the
+# scheduled run logs "backfill GATED OFF" and changes no tags.
+echo "[$(ts)] display_variant backfill = ${DISPLAY_VARIANT_BACKFILL:-0} (slot_max=${DISPLAY_VARIANT_SLOT_MAX:-30})" >>"$LOG"
+python3 "$EXE" --max "$SLOT_MAX" >>"$LOG" 2>&1
+RC=$?
+DONE2=$(node -e 'try{const r=require(process.argv[1]);console.log(r.filter(x=>x.status==="fixed"||x.status==="skipped").length)}catch(e){console.log(0)}' "$RESULT" 2>/dev/null || echo 0)
+echo "[$(ts)] drain end rc=$RC — now done=$DONE2 / total=$TOTAL (this run +$((DONE2-DONE)))" >>"$LOG"
diff --git a/verification/rollout/before/dw-rotation-activator/.gitignore b/verification/rollout/before/dw-rotation-activator/.gitignore
new file mode 100644
index 0000000..a9645f7
--- /dev/null
+++ b/verification/rollout/before/dw-rotation-activator/.gitignore
@@ -0,0 +1,9 @@
+node_modules/
+.env*
+tmp/
+*.log
+.DS_Store
+dist/
+build/
+out/*.jsonl
+out/activation-ledger-*.json
diff --git a/verification/rollout/before/dw-rotation-activator/lib/settlement-gate.js b/verification/rollout/before/dw-rotation-activator/lib/settlement-gate.js
new file mode 100644
index 0000000..dbc2d11
--- /dev/null
+++ b/verification/rollout/before/dw-rotation-activator/lib/settlement-gate.js
@@ -0,0 +1,282 @@
+'use strict';
+/*
+ * settlement-gate.js — per-product SETTLEMENT gate for the rotation activator.
+ *
+ * The activator flips DRAFT→ACTIVE at ~500/day. WITHOUT this gate it would
+ * publish tropical/botanical products (Gracie chinoiserie, Zuber scenics,
+ * Fromental florals, Madagascar "Real Banana Leaf") unchecked — a hard-rule
+ * violation of the Designer Wallcoverings Settlement Agreement. This module
+ * closes that hole. It runs ALONGSIDE the existing 5-field gate: a product must
+ * pass BOTH the 5-field gate AND settlement before it can activate.
+ *
+ * Binding rule (from ~/.claude/skills/settlement/binding/SETTLEMENT-BINDING-TEXT.md):
+ *   A design is PROHIBITED iff BOTH
+ *     Part A fully (ALL of: directional-variation foliage + open space between
+ *       leaves + >1 ink color), AND
+ *     Part B (≥1 of: bananas/banana-pods, grapes, birds, butterflies).
+ *   The defendant-favorable reading is the only reading; BORDERLINE / UNKNOWN
+ *   cases must be ruled BLOCK by default.
+ *
+ * Three outcomes per product:
+ *   PASS  — settlement clear → activator may proceed to ACTIVE (if 5-field also ok).
+ *   BLOCK — full Part A + a Part B element → leave DRAFT + hold metafield + log.
+ *   HELD  — borderline / vision-unavailable / unknown → leave DRAFT + hold + log.
+ *           (Treated identically to BLOCK by the caller: never activates.)
+ *
+ * Two tiers of check:
+ *   (0) CHEAP AUTO-PASS ($0, no vision): a plain natural-texture material whose
+ *       TITLE carries no foliage/motif keyword is settlement-MOOT (a solid
+ *       grasscloth/cork/silk with no leaves can't satisfy Part A). This covers
+ *       the entire tier-0 textures block (the first ~10 days of the rotation),
+ *       so the loop is settlement-safe immediately at ~$0/run.
+ *   (1) VISION GATE (Gemini 2.5-flash, ~$0.0006/image): everything else — every
+ *       motif/print/botanical product that is NOT an auto-pass texture. Downloads
+ *       the primary image and asks the model the Part A / Part B / Acceptable
+ *       booleans, then applies the binding verdict locally.
+ *
+ * FAIL-CLOSED: lock.sh (settlement SHA verifier) runs once at construction. If it
+ * fails, no motif/vision product may activate this run (they all return HELD);
+ * plain auto-pass textures still pass (they never depended on the vision path).
+ */
+const fs = require('fs');
+const os = require('os');
+const path = require('path');
+const https = require('https');
+const { execFileSync } = require('child_process');
+
+// ── texture material lexicon (auto-pass tier) ────────────────────────────────
+// Prompt-specified plain-texture set. A product is a candidate auto-pass only if
+// its material (metafield OR title-derived) is one of these solid naturals.
+const TEXTURE_MATERIALS = [
+  'silk', 'grasscloth', 'cork', 'sisal', 'raffia', 'abaca', 'jute', 'linen',
+  'hemp', 'paperweave', 'grass', 'seagrass', 'leather', 'suede', 'wool', 'mohair',
+];
+const TEXTURE_MAT_RE = new RegExp('\\b(' + TEXTURE_MATERIALS.join('|') + ')\\b', 'i');
+// 'grass' would match 'grasscloth' anyway; 'paperweave' also spelled 'paper weave'.
+const TEXTURE_MAT_RE2 = /paper\s*weave/i;
+
+// Motif / foliage keywords. If ANY appears in the title, the product is NOT a
+// solid texture — it carries a motif and must be vision-gated (never auto-passed).
+const MOTIF_RE =
+  /floral|flower|leaf|leaves|palm|frond|banana|bird|butterfly|tropical|scenic|toile|chinoiserie|bloom|vine|jungle|garden|grape|peacock|foliage|botanic/i;
+
+// ── orchestrator forensic log (shared with the settlement skill) ─────────────
+const ORCH_LOG = path.join(os.homedir(),
+  'Projects/wallco-ai/data/settlement-audit/orchestrator-log.jsonl');
+function appendOrchestrator(entry) {
+  try {
+    fs.mkdirSync(path.dirname(ORCH_LOG), { recursive: true });
+    fs.appendFileSync(ORCH_LOG, JSON.stringify(entry) + '\n');
+  } catch (_) { /* forensic log best-effort; never block a run on it */ }
+}
+
+// ── cost logging (cost-tracker) ──────────────────────────────────────────────
+const COST_LOG = path.join(os.homedir(), '.claude/skills/cost-tracker/scripts/log.js');
+// Gemini 2.5-flash vision: a settlement image call is ~1 image (~258 vision
+// tokens/tile) + a short prompt + a tiny JSON answer. Bill a flat conservative
+// estimate so the ledger stays honest without token accounting per call.
+const GEMINI_INPUT_TOKENS_PER_CALL = 800;   // prompt + ~258 image tokens, rounded up
+const GEMINI_OUTPUT_TOKENS_PER_CALL = 120;  // small JSON verdict
+function logVisionCost() {
+  try {
+    execFileSync('node', [COST_LOG,
+      '--api', 'gemini_2_5_flash',
+      '--units', `${GEMINI_INPUT_TOKENS_PER_CALL}:input_token,${GEMINI_OUTPUT_TOKENS_PER_CALL}:output_token`,
+      '--app', 'dw-rotation-activator',
+      '--note', 'settlement vision gate'], { encoding: 'utf8', stdio: 'ignore' });
+  } catch (_) { /* ledger best-effort */ }
+  // computed dollar value for inline display + return
+  return GEMINI_INPUT_TOKENS_PER_CALL * 7.5e-8 + GEMINI_OUTPUT_TOKENS_PER_CALL * 3e-7;
+}
+
+// ── the gate ─────────────────────────────────────────────────────────────────
+class SettlementGate {
+  constructor() {
+    // FAIL-CLOSED lock check — verify the settlement binding SHAs once per run.
+    this.lockOk = false;
+    this.lockMsg = '';
+    try {
+      execFileSync('bash', [path.join(os.homedir(), '.claude/skills/settlement/lock.sh')],
+        { encoding: 'utf8', stdio: 'pipe' });
+      this.lockOk = true;
+    } catch (e) {
+      this.lockMsg = (e.stdout || e.stderr || e.message || 'lock.sh failed').toString().slice(0, 200);
+    }
+    // Gemini keys — keep BOTH so a per-key quota cap (429 "monthly spending cap")
+    // on one key falls through to the other instead of HELD-ing every tier-1
+    // product. Order: generic GEMINI_API_KEY first (its own cap), then wallco.
+    const env = fs.readFileSync(os.homedir() + '/Projects/secrets-manager/.env', 'utf8');
+    const clean = (v) => (v || '').replace(/['"]/g, '').trim();
+    const kGen = clean((env.match(/^GEMINI_API_KEY=(.*)$/m) || [])[1]);
+    const kWallco = clean((env.match(/^GEMINI_API_KEY_WALLCO=(.*)$/m) || [])[1]);
+    this.geminiKeys = [kGen, kWallco].filter((k, i, a) => k && a.indexOf(k) === i);
+    this.geminiKey = this.geminiKeys[0] || '';   // primary (back-compat)
+    this.visionCalls = 0;
+    this.visionCostTotal = 0;
+    this.autoPassCount = 0;
+  }
+
+  lockStatus() { return { ok: this.lockOk, msg: this.lockMsg }; }
+  stats() {
+    return { visionCalls: this.visionCalls, visionCostTotal: this.visionCostTotal,
+      autoPassCount: this.autoPassCount };
+  }
+
+  // Cheap auto-pass test: solid texture material + NO motif keyword in title.
+  isAutoPassTexture(title, material) {
+    const t = String(title || '');
+    if (MOTIF_RE.test(t)) return false;               // any motif keyword → NOT solid texture
+    const matStr = `${material || ''} ${t}`;          // material metafield OR title-derived
+    return TEXTURE_MAT_RE.test(matStr) || TEXTURE_MAT_RE2.test(matStr);
+  }
+
+  // Fetch an image URL to a base64 buffer (follows one redirect).
+  fetchImageB64(url, depth = 0) {
+    return new Promise((resolve) => {
+      if (!url || depth > 3) return resolve(null);
+      https.get(url, (r) => {
+        if (r.statusCode >= 300 && r.statusCode < 400 && r.headers.location) {
+          r.resume();
+          return resolve(this.fetchImageB64(r.headers.location, depth + 1));
+        }
+        if (r.statusCode !== 200) { r.resume(); return resolve(null); }
+        const chunks = [];
+        r.on('data', (c) => chunks.push(c));
+        r.on('end', () => resolve(Buffer.concat(chunks).toString('base64')));
+      }).on('error', () => resolve(null));
+    });
+  }
+
+  // Gemini 2.5-flash: return the settlement booleans for the produced image.
+  // Iterates over available keys, falling through a 429 / quota-cap to the next.
+  // Returns { ok:true, partA, partB, acceptable } or { ok:false, why }.
+  async visionDetect(b64, mime) {
+    const keys = this.geminiKeys && this.geminiKeys.length ? this.geminiKeys
+      : (this.geminiKey ? [this.geminiKey] : []);
+    if (!keys.length) return { ok: false, why: 'no-gemini-key' };
+    let last = { ok: false, why: 'no-attempt' };
+    for (const key of keys) {
+      const r = await this._visionCall(b64, mime, key);
+      if (r.ok) return r;
+      last = r;
+      // only fall through on rate/quota; a hard error (parse) shouldn't loop keys.
+      if (!/^vision-http-429$/.test(r.why || '')) break;
+    }
+    return last;
+  }
+
+  async _visionCall(b64, mime, key) {
+    const prompt =
+      'You are a legal-compliance image classifier for a wallcovering catalog. Look ONLY at what is ' +
+      'visibly depicted in this pattern image. Answer STRICTLY as JSON with these boolean keys:\n' +
+      '"a1_directional_foliage": true if the design shows a REPEATING pattern of leaves, palm fronds, or ' +
+      'similar foliage with DIRECTIONAL VARIATION (leaves point in more than one direction).\n' +
+      '"a2_open_space": true if there is visible OPEN / negative space between the leaves (not edge-to-edge coverage).\n' +
+      '"a3_multiple_ink_colors": true if the foliage/leaf layer uses MORE THAN ONE color (excluding the background).\n' +
+      '"partB_element": true if ANY of these specific elements is visibly depicted: bananas or banana pods, ' +
+      'grapes, birds (any species), or butterflies (any species).\n' +
+      '"acceptable_element": true if the design shows tree trunks, clearly represented branches, OR fruit/animal ' +
+      'elements OTHER THAN bananas/banana-pods/grapes/birds/butterflies.\n' +
+      'Report only what is actually visible. Return ONLY the JSON object, no prose.';
+    const body = {
+      contents: [{ parts: [
+        { inline_data: { mime_type: mime || 'image/jpeg', data: b64 } },
+        { text: prompt },
+      ] }],
+      generationConfig: { temperature: 0, responseMimeType: 'application/json' },
+    };
+    const data = JSON.stringify(body);
+    const res = await new Promise((resolve) => {
+      const req = https.request({
+        host: 'generativelanguage.googleapis.com',
+        path: `/v1beta/models/gemini-2.5-flash:generateContent?key=${key}`,
+        method: 'POST',
+        headers: { 'Content-Type': 'application/json', 'Content-Length': Buffer.byteLength(data) },
+      }, (r) => { let d = ''; r.on('data', (c) => d += c);
+        r.on('end', () => resolve({ status: r.statusCode, body: d })); });
+      req.on('error', (e) => resolve({ status: 0, err: e.message }));
+      req.write(data); req.end();
+    });
+    if (res.status !== 200) return { ok: false, why: `vision-http-${res.status}` };
+    let j;
+    try { j = JSON.parse(res.body); } catch { return { ok: false, why: 'vision-parse' }; }
+    let obj;
+    try { obj = JSON.parse(j.candidates?.[0]?.content?.parts?.[0]?.text || '{}'); }
+    catch { return { ok: false, why: 'verdict-parse' }; }
+    // require the 5 expected keys — a partial answer is UNKNOWN (fail-closed).
+    const keys = ['a1_directional_foliage', 'a2_open_space', 'a3_multiple_ink_colors',
+      'partB_element', 'acceptable_element'];
+    if (!keys.every((k) => typeof obj[k] === 'boolean')) return { ok: false, why: 'incomplete-verdict', obj };
+    const partA = obj.a1_directional_foliage && obj.a2_open_space && obj.a3_multiple_ink_colors;
+    return { ok: true, partA, partB: obj.partB_element, acceptable: obj.acceptable_element, raw: obj };
+  }
+
+  // Apply the BINDING verdict rule to the vision booleans.
+  // PROHIBITED iff (full Part A) AND (Part B). Everything else PASS.
+  verdictFromVision(v) {
+    if (v.partA && v.partB) {
+      return { verdict: 'BLOCK', reason: `fullPartA+partB(${JSON.stringify(v.raw)})` };
+    }
+    return { verdict: 'PASS', reason: v.partA ? 'partA-but-no-partB' : 'partA-not-fully-satisfied' };
+  }
+
+  /*
+   * evaluate(product) — the per-product entry point.
+   * product = { shopify_id, title, vendor, dw_sku, material, imageUrl }
+   * Returns { verdict:'PASS'|'BLOCK'|'HELD', tier:'auto-pass-texture'|'vision', reason, cost }.
+   * Caller activates ONLY on verdict === 'PASS'.
+   */
+  async evaluate(product) {
+    const { shopify_id, title, vendor, dw_sku, material, imageUrl } = product;
+
+    // (0) CHEAP AUTO-PASS — solid texture, no foliage motif → settlement MOOT.
+    if (this.isAutoPassTexture(title, material)) {
+      this.autoPassCount++;
+      return { verdict: 'PASS', tier: 'auto-pass-texture',
+        reason: 'solid-texture-no-motif', cost: 0 };
+    }
+
+    // (1) VISION GATE for everything else.
+    // Fail-closed on lock failure: no motif/vision product activates this run.
+    if (!this.lockOk) {
+      const rec = { verdict: 'HELD', tier: 'vision', reason: 'lock-failed:' + this.lockMsg, cost: 0 };
+      appendOrchestrator({ ts: new Date().toISOString().slice(0, 10), skus: dw_sku || shopify_id,
+        pattern: title, verdict: 'NEEDS REVIEW', reason: 'settlement-lock-failed',
+        source: 'dw-rotation-activator' });
+      return rec;
+    }
+
+    const b64 = await this.fetchImageB64(imageUrl);
+    if (!b64) {
+      // No image to check → cannot clear settlement → HELD (fail-closed). (The
+      // 5-field gate independently requires an image, so this is belt-and-braces.)
+      appendOrchestrator({ ts: new Date().toISOString().slice(0, 10), skus: dw_sku || shopify_id,
+        pattern: title, verdict: 'NEEDS REVIEW', reason: 'no-image-for-settlement',
+        source: 'dw-rotation-activator' });
+      return { verdict: 'HELD', tier: 'vision', reason: 'no-image', cost: 0 };
+    }
+    const mime = /\.png(\?|$)/i.test(imageUrl || '') ? 'image/png' : 'image/jpeg';
+    const v = await this.visionDetect(b64, mime);
+    this.visionCalls++;
+    const cost = logVisionCost();
+    this.visionCostTotal += cost;
+
+    if (!v.ok) {
+      // vision unavailable / incomplete → BORDERLINE → HELD by default.
+      appendOrchestrator({ ts: new Date().toISOString().slice(0, 10), skus: dw_sku || shopify_id,
+        pattern: title, verdict: 'NEEDS REVIEW', reason: 'vision-' + (v.why || 'error'),
+        source: 'dw-rotation-activator' });
+      return { verdict: 'HELD', tier: 'vision', reason: 'vision-' + (v.why || 'error'), cost };
+    }
+
+    const dec = this.verdictFromVision(v);
+    if (dec.verdict === 'BLOCK') {
+      appendOrchestrator({ ts: new Date().toISOString().slice(0, 10), skus: dw_sku || shopify_id,
+        pattern: title, verdict: 'BLOCK', reason: dec.reason, source: 'dw-rotation-activator' });
+      return { verdict: 'BLOCK', tier: 'vision', reason: dec.reason, cost };
+    }
+    return { verdict: 'PASS', tier: 'vision', reason: dec.reason, cost };
+  }
+}
+
+module.exports = { SettlementGate, TEXTURE_MATERIALS, MOTIF_RE };
diff --git a/verification/rollout/before/dw-rotation-activator/rotate-activate.js b/verification/rollout/before/dw-rotation-activator/rotate-activate.js
new file mode 100644
index 0000000..c19eea9
--- /dev/null
+++ b/verification/rollout/before/dw-rotation-activator/rotate-activate.js
@@ -0,0 +1,426 @@
+#!/usr/bin/env node
+/*
+ * rotate-activate.js — the ROTATION ACTIVATOR.
+ *
+ * Companion to dw-five-field-step0/bulk-fivefield-exec.py. That drain builds the
+ * MISSING Sample/roll variants for the ~5k drafts that need field-fixes. THIS
+ * activator handles the OTHER ~10k drafts that are ALREADY 5-field-complete and
+ * just need to go live — plus any field-fixed product that now passes the gate.
+ *
+ * Each run it takes the next N drafts from the CANONICAL ordered queue
+ * (lib/rotation-order.js — textures-first + vendor round-robin, identical to the
+ * calendar's projection), RE-VERIFIES the 5-field gate LIVE per product
+ * (sample variant + sellable variant + price>0 + description + >=2 tags + width),
+ * and ONLY flips status→ACTIVE + adds the 'New Arrival' tag + publishes to the
+ * Online Store on a PASS. Incomplete products are SKIPPED and logged (never
+ * activate a broken product) — they'll be picked up once the field-fix drain
+ * completes them, and re-tried on the next rotation pass.
+ *
+ * HARD RAILS:
+ *   - Never touches Schumacher (excluded at the SQL source — internal-only).
+ *   - Never activates without image AND width AND real price AND sample variant.
+ *   - Daily activation cap (default 500/day) via its OWN date-stamped ledger
+ *     (activation ≠ variant-create, so it does NOT touch budget.cjs; the two
+ *     lanes are independent and neither starves the other).
+ *   - Idempotent + resumable: already-ACTIVE products fall out of the DRAFT query;
+ *     the audit JSONL records every decision.
+ *   - Never mass-activate: per-run cap (--max) drives a small per-slot batch.
+ *   - GMC exclusion: publishes to all channels EXCEPT Google & YouTube (the $4.25
+ *     sample-price-leak rule), mirroring activate-gated.js.
+ *
+ * Store = designer-laboratory-sandbox.myshopify.com (LIVE), API 2024-10.
+ *
+ * Usage:
+ *   node rotate-activate.js --dry-run [--max N]   # project next N, no writes
+ *   node rotate-activate.js --max N --commit      # activate up to N gate-passers
+ *   node rotate-activate.js --commit              # use the daily activation remainder
+ */
+'use strict';
+const https = require('https');
+const fs = require('fs');
+const os = require('os');
+const path = require('path');
+const { execFileSync } = require('child_process');
+const { ROTATION_ORDER_SQL } = require('./lib/rotation-order.js');
+const { SettlementGate } = require('./lib/settlement-gate.js');
+const { fiveFieldExtra } = require('./lib/five-field-extra.js');
+const { mfrGate } = require('./lib/mfr-gate.js');
+const { reusedMfrSet, stagingColorFor } = require('./lib/mfr-gate-resolve.js');
+// Canonical showroom-vendor primitive (list + logic live in fix-live-board/config). Showroom-only
+// vendors are addressable-not-discoverable: never rotate them into the New Arrivals discoverability
+// flow (activate + 'New Arrival' tag + browse-channel publish). Never hardcode a vendor — edit
+// showroom-vendors.json. TK-11186.
+const { isShowroomVendor } = require(path.join(process.env.HOME, 'Projects/fix-live-board/config/showroom-vendor.cjs'));
+const { validateBeforeActivate, toImageList } =
+  require(path.join(os.homedir(), 'Projects/Designer-Wallcoverings/shopify/scripts/lib/validate-before-activate.js'));
+
+const args = process.argv.slice(2);
+const flag = (n) => args.includes(n);
+const val = (n, d) => { const i = args.indexOf(n); return i >= 0 ? args[i + 1] : d; };
+const COMMIT = flag('--commit');
+const DRY = flag('--dry-run') || !COMMIT;   // safe-by-default: no --commit ⇒ dry-run
+const CLI_MAX = val('--max', null);
+
+const STORE = 'designer-laboratory-sandbox.myshopify.com';
+const API = '2024-10';
+const OUTDIR = path.join(__dirname, 'out');
+const TODAY = new Date().toISOString().slice(0, 10);
+const AUDIT = path.join(OUTDIR, `rotation-activations-${TODAY}.jsonl`);
+// Daily activation ledger — its OWN lane (activation is not a variant-create, so it
+// must not debit budget.cjs). Simple date-stamped counter file.
+const LEDGER = path.join(OUTDIR, `activation-ledger-${TODAY}.json`);
+const DAILY_ACTIVATION_CAP = parseInt(process.env.DW_ACTIVATION_CAP || '500', 10);
+const GOOGLE_PUBLICATION_ID = 'gid://shopify/Publication/29646651457';
+
+fs.mkdirSync(OUTDIR, { recursive: true });
+
+const env = fs.readFileSync(os.homedir() + '/Projects/secrets-manager/.env', 'utf8');
+const TOKEN = (env.match(/^SHOPIFY_ADMIN_TOKEN=(.*)$/m) || [])[1].replace(/['"]/g, '').trim();
+if (!TOKEN) { console.error('no SHOPIFY_ADMIN_TOKEN'); process.exit(1); }
+
+const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
+
+function psql(sql) {
+  return execFileSync('psql', ['-At', '-F', '\t', '-d', 'dw_unified', '-c', sql],
+    { encoding: 'utf8', maxBuffer: 1 << 28 }).trim();
+}
+
+function gql(query, variables) {
+  return new Promise((res) => {
+    const data = JSON.stringify({ query, variables });
+    const req = https.request({
+      host: STORE, path: `/admin/api/${API}/graphql.json`, method: 'POST',
+      headers: { 'X-Shopify-Access-Token': TOKEN, 'Content-Type': 'application/json',
+        'Content-Length': Buffer.byteLength(data) },
+    }, (r) => { let d = ''; r.on('data', (c) => d += c);
+      r.on('end', () => { try { res({ status: r.statusCode, json: JSON.parse(d) }); }
+        catch { res({ status: r.statusCode, raw: d.slice(0, 400) }); } }); });
+    req.on('error', (e) => res({ status: 0, err: e.message }));
+    req.write(data); req.end();
+  });
+}
+async function gqlRetry(q, v) {
+  for (let a = 0; a < 5; a++) {
+    const r = await gql(q, v);
+    const t = r.json && r.json.errors && JSON.stringify(r.json.errors).includes('THROTTLED');
+    if (r.status === 429 || t) { await sleep(2000 * (a + 1)); continue; }
+    await sleep(300); return r;
+  }
+  return { status: 429, raw: 'throttled' };
+}
+
+// ── daily activation ledger (own lane) ────────────────────────────────────────
+function ledgerUsed() {
+  try { return JSON.parse(fs.readFileSync(LEDGER, 'utf8')).used || 0; } catch { return 0; }
+}
+function ledgerBump(n) {
+  const used = ledgerUsed() + n;
+  try { fs.writeFileSync(LEDGER, JSON.stringify({ date: TODAY, used })); } catch (_) {}
+  return used;
+}
+
+// ── publish helpers (mirror activate-gated.js; GMC-excluded) ──────────────────
+let PUBS = null;
+async function loadPubs() {
+  if (PUBS) return PUBS;
+  const r = await gqlRetry(`{publications(first:50){edges{node{id name}}}}`, {});
+  PUBS = (r.json?.data?.publications?.edges || []).map((e) => e.node)
+    .filter((p) => p.id !== GOOGLE_PUBLICATION_ID);
+  return PUBS;
+}
+async function publishToChannels(pid) {
+  const pubs = await loadPubs();
+  if (!pubs.length) return { published: false, why: 'no-publications-scope' };
+  const input = pubs.map((p) => ({ publicationId: p.id }));
+  const r = await gqlRetry(
+    `mutation($id:ID!,$input:[PublicationInput!]!){publishablePublish(id:$id,input:$input){userErrors{field message}}}`,
+    { id: pid, input });
+  const ue = r.json?.data?.publishablePublish?.userErrors || [];
+  const real = ue.filter((e) => !/already|cannot be published to itself/i.test(e.message || ''));
+  if (real.length) return { published: false, errors: real };
+  return { published: true, channels: pubs.length };
+}
+
+// ── load the canonical ordered DRAFT queue (textures-first + round-robin) ──────
+// Enrich each row from its vendor staging table would be costly across 62 vendors;
+// instead we re-verify the gate from the LIVE Shopify product (images, variants,
+// metafields, body, tags) which is authoritative at activation time. The order
+// and identity come from shopify_products via lib/rotation-order.js.
+function loadQueue() {
+  const raw = psql(ROTATION_ORDER_SQL);
+  if (!raw) return [];
+  return raw.split('\n').map((l) => {
+    const [shopify_id, vendor, dw_sku, title, product_type, mat_tier, rr] = l.split('\t');
+    return { shopify_id, vendor, dw_sku, title, product_type,
+      mat_tier: parseInt(mat_tier, 10), rr: parseInt(rr, 10) };
+  });
+}
+
+const STATUS_Q = `query($ids:[ID!]!){nodes(ids:$ids){... on Product{
+  id status title vendor descriptionHtml tags
+  images(first:50){nodes{url}}
+  variants(first:20){nodes{price sku}}
+  metafields(first:80){nodes{namespace key value}}
+}}}`;
+const mfVal = (mfs, ns, key) => { const m = (mfs || []).find((x) => x.namespace === ns && x.key === key); return m ? m.value : ''; };
+const ACTIVATE = `mutation($id:ID!){productUpdate(input:{id:$id,status:ACTIVE}){product{id status} userErrors{field message}}}`;
+const TAGS_ADD = `mutation($id:ID!,$tags:[String!]!){tagsAdd(id:$id,tags:$tags){userErrors{field message}}}`;
+// internal.settlement_hold metafield — marks a DRAFT held by the settlement gate.
+const SET_HOLD = `mutation($mfs:[MetafieldsSetInput!]!){metafieldsSet(metafields:$mfs){userErrors{field message}}}`;
+async function setSettlementHold(pid, verdict, reason) {
+  const value = JSON.stringify({ verdict, reason: String(reason).slice(0, 400),
+    ts: new Date().toISOString(), by: 'dw-rotation-activator' });
+  return gqlRetry(SET_HOLD, { mfs: [{ ownerId: pid, namespace: 'internal', key: 'settlement_hold',
+    type: 'json', value }] });
+}
+// primary image + material from the live product node (reused by the gate).
+function primaryImageUrl(n) { return (n.images?.nodes || [])[0]?.url || ''; }
+function materialFromNode(n) {
+  const mfs = n.metafields?.nodes || [];
+  return mfVal(mfs, 'global', 'material') || mfVal(mfs, 'custom', 'material') || mfVal(mfs, 'specs', 'material') || '';
+}
+// Resolve the manufacturer SKU the same way the go-live-gate canary does: prefer the
+// metafield (dwc/custom/global.manufacturer_sku), fall back to nothing (the mirror's
+// mfr_sku column isn't on the live node — the metafield IS the live truth).
+function resolvedMfrFromNode(n) {
+  const mfs = n.metafields?.nodes || [];
+  return (mfVal(mfs, 'dwc', 'manufacturer_sku') || mfVal(mfs, 'custom', 'manufacturer_sku') ||
+    mfVal(mfs, 'global', 'manufacturer_sku') || '').trim();
+}
+
+function pidToGid(shopify_id) {
+  // shopify_id already looks like gid://shopify/Product/NNN in this table.
+  return shopify_id.startsWith('gid://') ? shopify_id : `gid://shopify/Product/${String(shopify_id).replace(/.*\//, '')}`;
+}
+
+// Build the validate-before-activate shape from the LIVE product node and re-run
+// the SINGLE canonical gate. This is the "re-verify 5-field gate live" step.
+function gateFromLive(n, dwSku, vendor) {
+  const mfs = n.metafields?.nodes || [];
+  const liveImgs = (n.images?.nodes || []).map((x) => x.url);
+  const width = mfVal(mfs, 'global', 'width') || mfVal(mfs, 'custom', 'width');
+  const material = mfVal(mfs, 'global', 'material') || mfVal(mfs, 'custom', 'material') || mfVal(mfs, 'specs', 'material');
+  const specs = {
+    width, length: mfVal(mfs, 'global', 'length'), repeat: mfVal(mfs, 'global', 'repeat'),
+    material, unitOfMeasure: mfVal(mfs, 'global', 'unit_of_measure') || '',
+  };
+  return validateBeforeActivate({
+    title: n.title, dwSku: dwSku || '', vendor, tags: n.tags || [],
+    descriptionHtml: n.descriptionHtml || '',
+    specs,
+    // vendorSpecs mirrors specs: we treat what's present on the live product as the
+    // provided set (we're not blocking on a spec the vendor genuinely lacks; width
+    // stays hard-required inside the validator).
+    vendorSpecs: specs,
+    images: liveImgs, vendorImages: liveImgs,
+    variants: (n.variants?.nodes || []).map((v) => ({ sku: v.sku })),
+  });
+}
+
+// Extra "5-field" invariants the prompt calls out explicitly, layered on top of
+// the canonical gate: a sellable (non-sample) variant with price>0, a sample
+// variant, and >=2 tags. (The canonical gate already covers width+image+desc+
+// sample+title-guards; this makes the price>0 + sellable-variant + >=2-tags
+// requirement explicit and independent of vendor quote-only exemptions.)
+// ── PRIVATE-LABEL LEAK GUARD ──────────────────────────────────────────────
+// A product must NEVER go customer-facing (DRAFT→ACTIVE) with the upstream SOURCE
+// name in its title or vendor. Durable fix for the 2026-07-21 incident where the
+// activator flipped Greenland cork duplicates ACTIVE with "| Greenland" still in
+// the title (vendor="Greenland" should be "Phillipe Romano"). Fail-safe: this can
+// only BLOCK an activation, never cause one.
+//
+// SELF-CONTAINED COPY of the canonical denylist — kept decoupled by design
+// (DTD verdict B, 2026-07-21: a ~/Projects app must not cross-import a portable
+// ~/.claude/skills dir). CANONICAL SOURCE OF TRUTH:
+//   ~/.claude/skills/dw-leak-scanner/denylist.json  (+ memory dw-leak-scanner)
+// When that denylist changes, mirror the change here.
+//
+// HARD tokens are never a legitimate pattern/color name → checked in title AND vendor.
+// VENDOR-only tokens can appear as a real pattern/place name (e.g. a "Chesapeake"
+// pattern or a "York"/"Seabrook" motif) → blocked only when they are the VENDOR
+// (the source), never merely a word in the title. ('schumacher' is intentionally
+// omitted — the denylist treats it as a legitimately-shown repped brand, not a leak.)
+// WORD-BOUNDARY matched (\btoken\b), NOT substring — critical so 'versa' matches
+// "Versa Designed Surfaces" (a Momentum leak) but NOT "Versace" (a legit luxury
+// brand DW sells), and 'york' matches the York source but not "Yorkshire".
+const PL_LEAK_HARD = ['wallquest', 'nextwall', 'command54', 'command 54', 'desima', 'carlsten',
+  'greenland', 'yorkwall', 'lillian august', 'nicolette mayer', 'versa designed surfaces',
+  'rigo', 'rigowall', 'rigo wallcovering'];
+const PL_LEAK_VENDOR_ONLY = ['chesapeake', 'seabrook', 'brewster', 'york', 'momentum', 'versa'];
+const _wb = (tok) => new RegExp('\\b' + tok.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') + '\\b', 'i');
+const _HARD_RE = PL_LEAK_HARD.map((t) => [t, _wb(t)]);       // [token, RegExp] pairs
+const _VENDOR_RE = PL_LEAK_VENDOR_ONLY.map((t) => [t, _wb(t)]); // [token, RegExp] pairs
+function leakGuard(title, vendor) {
+  const t = title || '', v = vendor || '';
+  for (const [tok, re] of _HARD_RE) if (re.test(t) || re.test(v)) return { ok: false, reason: `private-label-leak:${tok}` };
+  for (const [tok, re] of _VENDOR_RE) if (re.test(v)) return { ok: false, reason: `private-label-leak:${tok}` };
+  return { ok: true };
+}
+
+(async () => {
+  const queue = loadQueue();
+  const tier0 = queue.filter((q) => q.mat_tier === 0).length;
+  console.log(`queue: ${queue.length} DRAFTs in canonical order (tier0 textures=${tier0}, rest=${queue.length - tier0})`);
+
+  // SETTLEMENT GATE — construct once (runs lock.sh fail-closed). Plain textures
+  // auto-pass at $0; motif/print/botanical products are Gemini-vision-gated.
+  // MFR-PROVENANCE GATE — load the cross-vendor reused-code set ONCE (the internal-
+  // counter bug class), then per product resolve the live mfr metafield + its staging
+  // color name and BLOCK any DRAFT→ACTIVE whose mfr is blank / reused / fabricated
+  // (Carnegie "Grain 6300 → 63001…" placeholder-color class). TK-11063.
+  const reusedMfrs = reusedMfrSet();
+  console.log(`mfr-gate: ${reusedMfrs.size} mfr code(s) reused across >1 vendor (internal-counter watch)`);
+  let mfrBlocked = 0;
+
+  const settlement = new SettlementGate();
+  const ls = settlement.lockStatus();
+  console.log(`settlement gate: lock=${ls.ok ? 'PASS' : 'FAIL (' + ls.msg + ')'} — ` +
+    `${ls.ok ? 'motif products vision-gated' : 'motif products HELD this run (textures still pass)'}`);
+  let settlementHeld = 0, settlementBlocked = 0;
+
+  // budget: activation lane
+  const used = ledgerUsed();
+  let cap;
+  if (DRY) {
+    cap = CLI_MAX != null ? parseInt(CLI_MAX, 10) : 50;
+  } else {
+    const remaining = Math.max(0, DAILY_ACTIVATION_CAP - used);
+    const want = CLI_MAX != null ? parseInt(CLI_MAX, 10) : remaining;
+    cap = Math.min(want, remaining);
+    if (cap <= 0) {
+      console.log(`[budget] daily activation cap reached (${used}/${DAILY_ACTIVATION_CAP}). Nothing to do this run.`);
+      return;
+    }
+    console.log(`[budget] activation lane: used ${used}/${DAILY_ACTIVATION_CAP} today → activating up to ${cap} this run.`);
+  }
+  console.log(`mode=${DRY ? 'DRY-RUN' : 'COMMIT'}  cap_this_run=${cap}\n`);
+
+  let activated = 0, published = 0, skipped = 0, alreadyActive = 0, scanned = 0;
+  const projection = []; // for dry-run reporting
+
+  // We walk the ordered queue, batch-fetching live status 50 at a time, and stop
+  // as soon as we've ACTIVATED (or, in dry-run, projected) `cap` gate-passers.
+  for (let i = 0; i < queue.length; i += 50) {
+    if (activated >= cap) break;
+    const batch = queue.slice(i, i + 50);
+    const byGid = new Map(batch.map((q) => [pidToGid(q.shopify_id), q]));
+    const r = await gqlRetry(STATUS_Q, { ids: [...byGid.keys()] });
+    for (const n of (r.json?.data?.nodes || [])) {
+      if (activated >= cap) break;
+      if (!n) continue;
+      const q = byGid.get(n.id);
+      scanned++;
+      if (n.status === 'ACTIVE') { alreadyActive++; continue; }
+      if (n.status !== 'DRAFT') { continue; }   // ARCHIVED → leave (never un-archive)
+
+      // Showroom-only vendors stay out of the discoverable rotation entirely: this activator's
+      // job is activate + 'New Arrival' tag + browse-channel publish, all discoverability actions
+      // a showroom line must never receive. Leave the product DRAFT for its own showroom flow. TK-11186.
+      if (isShowroomVendor(q && q.vendor)) {
+        skipped++;
+        fs.appendFileSync(AUDIT, JSON.stringify({ ts: new Date().toISOString(), shopify_id: n.id, vendor: q && q.vendor, dw_sku: q && q.dw_sku, action: 'skip-showroom-vendor' }) + '\n');
+        continue;
+      }
+
+      const gate = gateFromLive(n, q && q.dw_sku, q && q.vendor);
+      const extra = fiveFieldExtra(n);
+      const leak = leakGuard(n.title, q && q.vendor);
+      // MFR-PROVENANCE gate (TK-11063). Resolve the live mfr metafield, its cross-vendor
+      // reuse flag, and its staging color name, then run the pure gate. Staging lookup is
+      // only worth doing when the code is otherwise present + not reused (the fabricated
+      // class is unique-and-present), so we short-circuit the DB read on blank/reused.
+      const mfrCode = resolvedMfrFromNode(n);
+      const reused = !!mfrCode && reusedMfrs.has(mfrCode);
+      const stagingColor = (mfrCode && !reused) ? stagingColorFor(q && q.vendor, mfrCode) : null;
+      const mfr = mfrGate({ vendor: q && q.vendor, mfr: mfrCode,
+        reusedAcrossVendors: reused, stagingColorName: stagingColor });
+      const passes = gate.ok && extra.ok && leak.ok && mfr.ok;
+      if (!mfr.ok) mfrBlocked++;
+      const rec = { ts: new Date().toISOString(), shopify_id: n.id, vendor: q && q.vendor,
+        dw_sku: q && q.dw_sku, mat_tier: q && q.mat_tier, rr: q && q.rr,
+        title: n.title, passes, mfr_code: mfrCode,
+        reasons: [...(gate.ok ? [] : gate.reasons), ...(extra.ok ? [] : extra.reasons),
+                  ...(leak.ok ? [] : [leak.reason]), ...(mfr.ok ? [] : mfr.reasons)] };
+
+      if (!passes) {
+        skipped++;
+        // NEVER activate a broken product — log + skip. It flows through the
+        // field-fix drain and is re-tried on the next rotation pass. If the ONLY
+        // failure is the mfr-provenance gate, tag Needs-MfrSKU so the drain/human
+        // can restore the real code (COMMIT mode only; the tag itself is reversible).
+        if (!DRY && !mfr.ok && gate.ok && extra.ok && leak.ok) {
+          try { await gqlRetry(TAGS_ADD, { id: n.id, tags: ['Needs-MfrSKU'] }); } catch (_) {}
+        }
+        fs.appendFileSync(AUDIT, JSON.stringify({ ...rec, action: 'skip-gate' }) + '\n');
+        continue;
+      }
+
+      // ── SETTLEMENT GATE (runs AFTER the 5-field gate, BEFORE any DRAFT→ACTIVE) ──
+      // Plain textures auto-pass at $0; everything else is Gemini-vision-checked.
+      // Only verdict === 'PASS' may proceed; BLOCK/HELD leave the product DRAFT,
+      // set internal.settlement_hold, and log to the activator + orchestrator audits.
+      const sv = await settlement.evaluate({
+        shopify_id: n.id, title: n.title, vendor: q && q.vendor, dw_sku: q && q.dw_sku,
+        material: materialFromNode(n), imageUrl: primaryImageUrl(n),
+      });
+      rec.settlement = { verdict: sv.verdict, tier: sv.tier, reason: sv.reason, cost: sv.cost };
+      if (sv.verdict !== 'PASS') {
+        if (sv.verdict === 'BLOCK') settlementBlocked++; else settlementHeld++;
+        skipped++;
+        // hold + skip. In COMMIT mode set the metafield so the hold is durable on
+        // the product; in DRY mode we only record it (no writes).
+        if (!DRY) { try { await setSettlementHold(n.id, sv.verdict, sv.reason); } catch (_) {} }
+        fs.appendFileSync(AUDIT, JSON.stringify({ ...rec,
+          action: sv.verdict === 'BLOCK' ? 'settlement-block' : 'settlement-hold' }) + '\n');
+        continue;
+      }
+
+      if (DRY) {
+        projection.push(rec);
+        activated++; // count projected activations toward the cap so the dry-run shows the real next-N
+        fs.appendFileSync(AUDIT, JSON.stringify({ ...rec, action: 'dryrun-would-activate' }) + '\n');
+        continue;
+      }
+
+      // COMMIT: flip → ACTIVE, add 'New Arrival', publish to channels (ex-Google).
+      const ar = await gqlRetry(ACTIVATE, { id: n.id });
+      const aue = ar.json?.data?.productUpdate?.userErrors;
+      if (aue && aue.length) {
+        skipped++;
+        fs.appendFileSync(AUDIT, JSON.stringify({ ...rec, action: 'activate-error', errors: aue }) + '\n');
+        continue;
+      }
+      activated++;
+      ledgerBump(1);
+      // add 'New Arrival' tag (idempotent — tagsAdd is a no-op if present)
+      await gqlRetry(TAGS_ADD, { id: n.id, tags: ['New Arrival'] });
+      // publish to Online Store (+ others, minus Google)
+      let pub = false;
+      try { const p = await publishToChannels(n.id); pub = !!p.published;
+        if (!pub) console.log(`  ⚠ ${q && q.dw_sku} ACTIVE but publish failed: ${JSON.stringify(p.errors || p.why).slice(0, 120)}`);
+      } catch (e) { console.log(`  ⚠ ${q && q.dw_sku} publish error: ${String(e.message).slice(0, 120)}`); }
+      if (pub) published++;
+      fs.appendFileSync(AUDIT, JSON.stringify({ ...rec, action: 'activated', published: pub, tag: 'New Arrival' }) + '\n');
+      if (activated % 25 === 0) process.stdout.write(`\r  activated ${activated}/${cap}…`);
+      await sleep(350);
+    }
+    await sleep(150);
+  }
+
+  const sstat = settlement.stats();
+  console.log(`\n=== ROTATION ACTIVATOR ${DRY ? 'DRY-RUN' : 'RUN'} DONE ===`);
+  console.log(`scanned=${scanned}  ${DRY ? 'would-activate' : 'activated'}=${activated}  published=${published}  skipped(gate-fail)=${skipped}  alreadyActive=${alreadyActive}`);
+  console.log(`mfr-gate: blocked ${mfrBlocked} product(s) for blank/reused/fabricated mfr provenance`);
+  console.log(`settlement: auto-pass-textures=${sstat.autoPassCount}  vision-calls=${sstat.visionCalls}  blocked=${settlementBlocked}  held=${settlementHeld}`);
+  console.log(`settlement cost: textures $0 (local) + vision ${sstat.visionCalls} calls = $${sstat.visionCostTotal.toFixed(5)} (Gemini 2.5-flash; ~$0.0006/img)`);
+  if (!DRY) console.log(`daily activation ledger: ${ledgerUsed()}/${DAILY_ACTIVATION_CAP}`);
+  console.log(`audit → ${AUDIT}`);
+
+  if (DRY && projection.length) {
+    console.log(`\n--- next ${Math.min(projection.length, 50)} activations (proof: textures lead, vendors interleave) ---`);
+    const pad = (s, n) => String(s == null ? '' : s).padEnd(n).slice(0, n);
+    console.log(pad('#', 4) + pad('tier', 5) + pad('vendor', 24) + 'title');
+    projection.slice(0, 50).forEach((p, idx) =>
+      console.log(pad(idx + 1, 4) + pad(p.mat_tier === 0 ? 'TEX' : '·', 5) + pad(p.vendor, 24) + String(p.title || p.dw_sku || '').slice(0, 44)));
+  }
+})().catch((e) => { console.error('rotate-activate failed:', e.message); process.exit(1); });
diff --git a/verification/rollout/canary-before.json b/verification/rollout/canary-before.json
new file mode 100644
index 0000000..bf7329c
--- /dev/null
+++ b/verification/rollout/canary-before.json
@@ -0,0 +1,10259 @@
+{
+  "timestamp": "2026-09-09T17:12:25.108Z",
+  "products": [
+    {
+      "id": "gid://shopify/Product/7923565461555",
+      "title": "Carnegie Alpine 21 Wallcovering",
+      "handle": "carnegie-alpine-alabaster-1",
+      "vendor": "Carnegie",
+      "status": "DRAFT",
+      "tags": [
+        "7362wa21",
+        "7362wa21-wallcoverings",
+        "Alabaster",
+        "Alpine",
+        "Carnegie",
+        "carnegie-split-draft",
+        "display_variant",
+        "Light",
+        "split-batch:TK-10686",
+        "Wallcoverings",
+        "Woven"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/44754597019699",
+            "sku": "DWAG-381609",
+            "title": "Fabric",
+            "price": "52.49"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44754597052467",
+            "sku": "DWAG-381609-sample",
+            "title": "Memo Sample",
+            "price": "4.25"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": [
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/7362a21_swatch_1_8128396b-25f4-4559-94f5-5a3d93f5bd72.jpg?v=1787108045"
+          },
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/7362a21_swatch_1_722ca676-537f-41e7-a9e9-c0cc8dd2facd.jpg?v=1788298242"
+          },
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/7362a23_swatch_1.jpg?v=1788298242"
+          }
+        ]
+      },
+      "metafields": {
+        "nodes": [
+          {
+            "namespace": "custom",
+            "key": "manufacturer_sku",
+            "value": "7362wa21-wallcoverings"
+          },
+          {
+            "namespace": "dwc",
+            "key": "manufacturer_sku",
+            "value": "7362wa21-wallcoverings"
+          },
+          {
+            "namespace": "global",
+            "key": "Brand",
+            "value": "Carnegie"
+          },
+          {
+            "namespace": "global",
+            "key": "Width",
+            "value": "54\" (137 cm)"
+          },
+          {
+            "namespace": "custom",
+            "key": "Width",
+            "value": "54\" (137 cm)"
+          },
+          {
+            "namespace": "global",
+            "key": "Content",
+            "value": "100% Polypropylene"
+          },
+          {
+            "namespace": "global",
+            "key": "Contents",
+            "value": "100% Polypropylene"
+          },
+          {
+            "namespace": "global",
+            "key": "Cleaning Code",
+            "value": "WS & BC - Water/Solvent & Bleach Cleanable"
+          },
+          {
+            "namespace": "custom",
+            "key": "Cleaning Code",
+            "value": "WS & BC - Water/Solvent & Bleach Cleanable"
+          },
+          {
+            "namespace": "global",
+            "key": "Finish",
+            "value": "Finish-Free"
+          },
+          {
+            "namespace": "global",
+            "key": "Backing",
+            "value": "Heavy Acrylic Heavy Acrylic: This backing provides a coating to enhance adhesion and prevent bleed through of adhesives and is preferred for heavier duty installs such as moveable wall systems."
+          },
+          {
+            "namespace": "custom",
+            "key": "Backing",
+            "value": "Heavy Acrylic Heavy Acrylic: This backing provides a coating to enhance adhesion and prevent bleed through of adhesives and is preferred for heavier duty installs such as moveable wall systems."
+          },
+          {
+            "namespace": "global",
+            "key": "Flammability",
+            "value": "ASTM E84 Class A / Class 1"
+          },
+          {
+            "namespace": "custom",
+            "key": "Flammability",
+            "value": "ASTM E84 Class A / Class 1"
+          },
+          {
+            "namespace": "global",
+            "key": "Origin",
+            "value": "Denmark"
+          },
+          {
+            "namespace": "custom",
+            "key": "Origin",
+            "value": "Denmark"
+          },
+          {
+            "namespace": "global",
+            "key": "Country of Origin",
+            "value": "Denmark"
+          },
+          {
+            "namespace": "custom",
+            "key": "Country of Origin",
+            "value": "Denmark"
+          },
+          {
+            "namespace": "global",
+            "key": "Type",
+            "value": "Wallcoverings"
+          },
+          {
+            "namespace": "custom",
+            "key": "Color",
+            "value": "Alabaster"
+          },
+          {
+            "namespace": "global",
+            "key": "Color",
+            "value": "Alabaster"
+          },
+          {
+            "namespace": "custom",
+            "key": "Color Hex",
+            "value": "#e4e4e1"
+          },
+          {
+            "namespace": "custom",
+            "key": "swatch_hex",
+            "value": "#e4e4e1"
+          },
+          {
+            "namespace": "dwc",
+            "key": "dw_sku",
+            "value": "DWAG-381609"
+          },
+          {
+            "namespace": "dwc",
+            "key": "pattern_name",
+            "value": "Alpine"
+          },
+          {
+            "namespace": "dwc",
+            "key": "width",
+            "value": "54\" (137 cm)"
+          },
+          {
+            "namespace": "dwc",
+            "key": "content",
+            "value": "100% Polypropylene"
+          },
+          {
+            "namespace": "dwc",
+            "key": "finish",
+            "value": "Finish-Free"
+          },
+          {
+            "namespace": "dwc",
+            "key": "backing",
+            "value": "Heavy Acrylic Heavy Acrylic: This backing provides a coating to enhance adhesion and prevent bleed through of adhesives and is preferred for heavier duty installs such as moveable wall systems."
+          },
+          {
+            "namespace": "dwc",
+            "key": "cleaning_code",
+            "value": "WS & BC - Water/Solvent & Bleach Cleanable"
+          },
+          {
+            "namespace": "dwc",
+            "key": "flammability",
+            "value": "ASTM E84 Class A / Class 1"
+          },
+          {
+            "namespace": "dwc",
+            "key": "origin",
+            "value": "Denmark"
+          },
+          {
+            "namespace": "dwc",
+            "key": "product_type",
+            "value": "Wallcoverings"
+          },
+          {
+            "namespace": "custom",
+            "key": "brand",
+            "value": "Carnegie"
+          },
+          {
+            "namespace": "custom",
+            "key": "real_vendor",
+            "value": "Carnegie"
+          },
+          {
+            "namespace": "custom",
+            "key": "manufacturer_specs",
+            "value": "{\"manufacturer\":\"Carnegie\",\"manufacturer_sku\":\"7362wa21-wallcoverings\",\"source_url\":\"https://carnegiefabrics.com/alpine-7362-wallcoverings\",\"specs\":{\"Type\":\"Modernfold Pre-Approved Skyfold Pre-Approved\",\"Width\":\"54\\\" (137 cm)\",\"Backing\":\"Heavy Acrylic Heavy Acrylic: This backing provides a coating to enhance adhesion and prevent bleed through of adhesives and is preferred for heavier duty installs such as moveable wall systems.\",\"Free of\":\"PVC Red List Chemicals Stain resistant finishes\",\"Contents\":\"100% Polypropylene\",\"Warranty\":\"10 years\",\"ACT Symbols\":\"\",\"Flammability\":\"ASTM E84 Class A / Class 1\",\"Cleaning Code\":\"WS & BC - Water/Solvent & Bleach Cleanable\",\"Backing Note(s)\":\"Heavy Acrylic: This backing provides a coating to enhance adhesion and prevent bleed through of adhesives and is preferred for heavier duty installs such as moveable wall systems.\",\"Manufactured In\":\"Denmark\",\"Backing (as stocked)\":\"Heavy Acrylic Heavy Acrylic: This backing provides a coating to enhance adhesion and prevent bleed through of adhesives and is preferred for heavier duty installs such as moveable wall systems.\",\"Finish/es (as stocked)\":\"Finish-Free\",\"Weight per Linear Yard\":\"11.8 oz\",\"Standards and Certifications\":\"HHI (Healthier Hospitals Initiative) Kaiser Permanente LEED Mindful Materials\",\"Product Specifications Spec Sheet Health Product Declaration Download Product HPD Cleaning Documents Maintenance and Cleaning Instructions Flame Certificates ASTM e84 Install Documents Durable Woven Acrylic Backed Wallcovering Installation Instructions Programs/ Partnerships Programs\":\"Modernfold Pre-Approvals Skyfold Pre-Approvals GSA Advantage\"}}"
+          },
+          {
+            "namespace": "carnegie",
+            "key": "manufacturer_sku",
+            "value": "7362wa21-wallcoverings"
+          },
+          {
+            "namespace": "carnegie",
+            "key": "source_url",
+            "value": "https://carnegiefabrics.com/alpine-7362-wallcoverings"
+          },
+          {
+            "namespace": "carnegie",
+            "key": "type",
+            "value": "Modernfold Pre-Approved Skyfold Pre-Approved"
+          },
+          {
+            "namespace": "carnegie",
+            "key": "width",
+            "value": "54\" (137 cm)"
+          },
+          {
+            "namespace": "carnegie",
+            "key": "backing",
+            "value": "Heavy Acrylic Heavy Acrylic: This backing provides a coating to enhance adhesion and prevent bleed through of adhesives and is preferred for heavier duty installs such as moveable wall systems."
+          },
+          {
+            "namespace": "carnegie",
+            "key": "free_of",
+            "value": "PVC Red List Chemicals Stain resistant finishes"
+          },
+          {
+            "namespace": "carnegie",
+            "key": "contents",
+            "value": "100% Polypropylene"
+          },
+          {
+            "namespace": "carnegie",
+            "key": "warranty",
+            "value": "10 years"
+          },
+          {
+            "namespace": "carnegie",
+            "key": "flammability",
+            "value": "ASTM E84 Class A / Class 1"
+          },
+          {
+            "namespace": "carnegie",
+            "key": "cleaning_code",
+            "value": "WS & BC - Water/Solvent & Bleach Cleanable"
+          },
+          {
+            "namespace": "carnegie",
+            "key": "backing_note_s",
+            "value": "Heavy Acrylic: This backing provides a coating to enhance adhesion and prevent bleed through of adhesives and is preferred for heavier duty installs such as moveable wall systems."
+          },
+          {
+            "namespace": "carnegie",
+            "key": "manufactured_in",
+            "value": "Denmark"
+          },
+          {
+            "namespace": "carnegie",
+            "key": "backing_as_stocked",
+            "value": "Heavy Acrylic Heavy Acrylic: This backing provides a coating to enhance adhesion and prevent bleed through of adhesives and is preferred for heavier duty installs such as moveable wall systems."
+          },
+          {
+            "namespace": "carnegie",
+            "key": "finish_es_as_stocked",
+            "value": "Finish-Free"
+          },
+          {
+            "namespace": "carnegie",
+            "key": "weight_per_linear_yard",
+            "value": "11.8 oz"
+          },
+          {
+            "namespace": "carnegie",
+            "key": "standards_and_certifications",
+            "value": "HHI (Healthier Hospitals Initiative) Kaiser Permanente LEED Mindful Materials"
+          },
+          {
+            "namespace": "carnegie",
+            "key": "product_specifications_spec_sheet_health_produ_e49d2928",
+            "value": "Modernfold Pre-Approvals Skyfold Pre-Approvals GSA Advantage"
+          },
+          {
+            "namespace": "custom",
+            "key": "material",
+            "value": "100% Polypropylene"
+          },
+          {
+            "namespace": "custom",
+            "key": "fire_rating",
+            "value": "ASTM E84 Class A / Class 1"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7896454332467",
+      "title": "Linen Madras",
+      "handle": "linen-madras",
+      "vendor": "Christian Fischbacher",
+      "status": "DRAFT",
+      "tags": [
+        "Christian Fischbacher",
+        "Collezione Italia",
+        "Collezione-Italia-Enrichment",
+        "Fabric",
+        "Fischbacher-staged-2026-07",
+        "Needs-Description",
+        "Needs-Specs",
+        "Needs-Width"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/44585593405491",
+            "sku": "10645.500",
+            "title": "500",
+            "price": "0.00"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44585593438259",
+            "sku": "10645.505",
+            "title": "505",
+            "price": "0.00"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44585593471027",
+            "sku": "10645.507",
+            "title": "507",
+            "price": "0.00"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44585593503795",
+            "sku": "10645.517",
+            "title": "517",
+            "price": "0.00"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": [
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/linenmadras_10645_507_1.jpg?v=1784739044"
+          },
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/fischbacher_fabrics_linen_madras_3_1.jpg?v=1784739044"
+          },
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/fischbacher_fabrics_linen_madras_10645_505_1.jpg?v=1784739044"
+          }
+        ]
+      },
+      "metafields": {
+        "nodes": [
+          {
+            "namespace": "fischbacher",
+            "key": "mfr_sku",
+            "value": "10645"
+          },
+          {
+            "namespace": "fischbacher",
+            "key": "line",
+            "value": "Collezione Italia"
+          },
+          {
+            "namespace": "fischbacher",
+            "key": "source_pdp",
+            "value": "https://fischbacher1819.com/linen-madras-10645.html"
+          },
+          {
+            "namespace": "enrich",
+            "key": "palette",
+            "value": "[{\"hex\":\"#beb6ab\",\"name\":\"Pebble\",\"bucket\":\"Neutral\",\"pct\":26},{\"hex\":\"#eeeef0\",\"name\":\"Chalk\",\"bucket\":\"White\",\"pct\":15},{\"hex\":\"#c8c1b7\",\"name\":\"Greige\",\"bucket\":\"Neutral\",\"pct\":14},{\"hex\":\"#cfc9c1\",\"name\":\"Dove\",\"bucket\":\"Gray\",\"pct\":14},{\"hex\":\"#eae8ea\",\"name\":\"Porcelain\",\"bucket\":\"White\",\"pct\":13},{\"hex\":\"#b5ab9c\",\"name\":\"Mushroom\",\"bucket\":\"Neutral\",\"pct\":9}]"
+          },
+          {
+            "namespace": "enrich",
+            "key": "color_primary",
+            "value": "Pebble"
+          },
+          {
+            "namespace": "enrich",
+            "key": "color_bucket",
+            "value": "Neutral"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7867560886323",
+      "title": "Cork, Dove Wallcoverings | Designtex",
+      "handle": "cork-dove-dwdx-220334",
+      "vendor": "Designtex",
+      "status": "DRAFT",
+      "tags": [
+        "Collection: Biophilia",
+        "Designtex",
+        "display_variant",
+        "Dove",
+        "Needs-Description",
+        "Priced Per Yard",
+        "Wallcovering"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/44462676869171",
+            "sku": "DWDX-220334",
+            "title": "Sold Per Yard",
+            "price": "39.82"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44462676901939",
+            "sku": "DWDX-220334-Sample",
+            "title": "Sample",
+            "price": "4.25"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": [
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/8260051__41097.1712930572.jpg?v=1782351623"
+          }
+        ]
+      },
+      "metafields": {
+        "nodes": [
+          {
+            "namespace": "custom",
+            "key": "manufacturer_sku",
+            "value": "8260051"
+          },
+          {
+            "namespace": "global",
+            "key": "manufacturer_sku",
+            "value": "8260051"
+          },
+          {
+            "namespace": "global",
+            "key": "Brand",
+            "value": "Designtex"
+          },
+          {
+            "namespace": "global",
+            "key": "dw_sku",
+            "value": "DWDX-220334"
+          },
+          {
+            "namespace": "global",
+            "key": "width",
+            "value": "54 Inches"
+          },
+          {
+            "namespace": "custom",
+            "key": "width",
+            "value": "54 Inches"
+          },
+          {
+            "namespace": "global",
+            "key": "pattern_name",
+            "value": "Cork"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_name",
+            "value": "Cork"
+          },
+          {
+            "namespace": "custom",
+            "key": "color",
+            "value": "Dove"
+          },
+          {
+            "namespace": "global",
+            "key": "color",
+            "value": "Dove"
+          },
+          {
+            "namespace": "dwc",
+            "key": "color",
+            "value": "Dove"
+          },
+          {
+            "namespace": "global",
+            "key": "material",
+            "value": "100% Vinyl (without Prop 65 Phthalates)"
+          },
+          {
+            "namespace": "custom",
+            "key": "material",
+            "value": "100% Vinyl (without Prop 65 Phthalates)"
+          },
+          {
+            "namespace": "custom",
+            "key": "collection_name",
+            "value": "Biophilia"
+          },
+          {
+            "namespace": "custom",
+            "key": "cost",
+            "value": "22.0"
+          },
+          {
+            "namespace": "custom",
+            "key": "price_updated_at",
+            "value": "2026-06-25"
+          },
+          {
+            "namespace": "global",
+            "key": "unit_of_measure",
+            "value": "YARD"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7664490610739",
+      "title": "Serene Elegance: Heron on Pink Background Japonisme | Architectural Wallcoverings",
+      "handle": "serene-elegance-heron-on-aquamarine-background-wallpaper-copia-1",
+      "vendor": "DW Bespoke Studio",
+      "status": "DRAFT",
+      "tags": [
+        "AI-Analyzed-v2",
+        "Animal",
+        "Animal/Insects",
+        "Architectural",
+        "Bedroom",
+        "Bird",
+        "Birds",
+        "Burnt Sienna",
+        "Chinoiserie",
+        "Class A Fire Rated",
+        "Commercial",
+        "Contemporary",
+        "Custom Wallcovering",
+        "Dining Room",
+        "display_variant",
+        "Dusty Rose",
+        "DW Bespoke Studio",
+        "DW Bespoke Studios To Go",
+        "Herons",
+        "Japonisme",
+        "Living Room",
+        "material-group-non-woven",
+        "Needs-Width",
+        "Non-woven",
+        "Off-white",
+        "Paper",
+        "Pink",
+        "Red",
+        "Rose Quartz",
+        "Scenic",
+        "Serene",
+        "Serene Elegance: Heron on Pink Background Japonisme",
+        "Wallcovering"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/44019754991667",
+            "sku": "Dig-240410-25-type-2-vinyl-Sample",
+            "title": "Type 2 Textured Vinyl / 2ft x 1ft Sample",
+            "price": "12.00"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/43608345509939",
+            "sku": "Dig-240410-Sample-25-gold-2x12",
+            "title": "Gold Textured Metallic / 2ft x 12ft",
+            "price": "324.00"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/43608345542707",
+            "sku": "Dig-240410-Sample-25-gold-2x27",
+            "title": "Gold Textured Metallic / 2ft x 27ft",
+            "price": "620.00"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44019755024435",
+            "sku": "Dig-240410-Sample-25-gold-sample",
+            "title": "Gold Textured Metallic / 2ft x 1ft Sample",
+            "price": "12.00"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/43608344395827",
+            "sku": "Dig-240410-Sample-25-ps-2x12",
+            "title": "Peel and Stick / 2ft x 12ft",
+            "price": "233.00"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44019755057203",
+            "sku": "Dig-240410-Sample-25-",
+            "title": "Peel and Stick / 2ft x 1ft Sample",
+            "price": "12.00"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/43608344559667",
+            "sku": "Dig-240410-Sample-25-pre-2x12",
+            "title": "Prepasted / 2ft x 12ft",
+            "price": "179.00"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44019755089971",
+            "sku": "Dig-240410-25-pre-sample",
+            "title": "Prepasted / 2ft x 1ft Sample",
+            "price": "12.00"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/43608345313331",
+            "sku": "Dig-240410-Sample-25-silver-2x12",
+            "title": "Silver Textured Metallic / 2ft x 12ft",
+            "price": "324.00"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/43608345346099",
+            "sku": "Dig-240410-Sample-25-silver-2x27",
+            "title": "Silver Textured Metallic / 2ft x 27ft",
+            "price": "668.00"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44035238297651",
+            "sku": "Dig-240410-Sample-25-silver-sample",
+            "title": "Silver Textured Metallic / 2ft x 1ft Sample",
+            "price": "12.00"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/43672755404851",
+            "sku": "Dig-240410-Sample-25-non-pasted-2x12",
+            "title": "Type 2 PVC Free Paper / 2ft x 12ft",
+            "price": "233.00"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/43672755437619",
+            "sku": "Dig-240410-Sample-25-non-pasted-2x27",
+            "title": "Type 2 PVC Free Paper / 2ft x 27ft",
+            "price": "505.00"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44035238330419",
+            "sku": "Dig-240410-Sample-25-non-pasted-Sample",
+            "title": "Type 2 PVC Free Paper / 2ft x 1ft Sample",
+            "price": "12.00"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/43672755208243",
+            "sku": "Dig-240410-Sample-25-type-2-vinyl-2x12",
+            "title": "Type 2 Textured Vinyl / 2ft x 12ft",
+            "price": "233.00"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/43672755241011",
+            "sku": "Dig-240410-Sample-25-type-2-vinyl-2x27",
+            "title": "Type 2 Textured Vinyl / 2ft x 27ft",
+            "price": "505.00"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": [
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/heronroomsetting01_c7bd82e1-66a2-4ae8-84bf-f44fceac1832.jpg?v=1756852006"
+          }
+        ]
+      },
+      "metafields": {
+        "nodes": [
+          {
+            "namespace": "global",
+            "key": "description_tag",
+            "value": "Discover the 'Heron on AquaMarine Background Wallcovering' by Designer Wallcoverings. This elegant design features white cranes with an intricate overlapping flight pattern, perfect for adding timeless sophistication to any space. Ideal for both residential and commercial interiors. Order now for a serene transformation!"
+          },
+          {
+            "namespace": "global",
+            "key": "title_tag",
+            "value": "Serene Elegance: Heron on Pink Background Wallcovering | DW Bespoke Studios"
+          },
+          {
+            "namespace": "mc-facebook",
+            "key": "google_product_category",
+            "value": "115"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_details",
+            "value": "[{\"name\":\"Dusty Rose\",\"hex\":\"#D59998\",\"percentage\":14.1},{\"name\":\"Taupe\",\"hex\":\"#9D7F79\",\"percentage\":13.9},{\"name\":\"Greige\",\"hex\":\"#C7B4A9\",\"percentage\":13.4},{\"name\":\"Rose\",\"hex\":\"#BE8684\",\"percentage\":12.8},{\"name\":\"Oatmeal\",\"hex\":\"#D8CDBB\",\"percentage\":12.5},{\"name\":\"Chocolate\",\"hex\":\"#4A2E2D\",\"percentage\":11.6},{\"name\":\"Mocha\",\"hex\":\"#85605D\",\"percentage\":10.9}]"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_hex",
+            "value": "#D59998"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_name",
+            "value": "Serene Elegance: Heron on Pink Background Wallcovering"
+          },
+          {
+            "namespace": "custom",
+            "key": "fire_rating",
+            "value": "Inquire for more Information"
+          },
+          {
+            "namespace": "dwc",
+            "key": "pattern_name",
+            "value": "Serene Elegance: Heron on Pink Background Wallcovering"
+          },
+          {
+            "namespace": "dwc",
+            "key": "brand",
+            "value": "DW Bespoke Studio"
+          },
+          {
+            "namespace": "custom",
+            "key": "brand",
+            "value": "DW Bespoke Studio"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_1_hex",
+            "value": "#D59998"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_1_percentage",
+            "value": "14.1"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_1_name",
+            "value": "Dusty Rose"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_2_hex",
+            "value": "#9D7F79"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_2_percentage",
+            "value": "13.9"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_2_name",
+            "value": "Taupe"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_3_hex",
+            "value": "#C7B4A9"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_3_percentage",
+            "value": "13.4"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_3_name",
+            "value": "Greige"
+          },
+          {
+            "namespace": "custom",
+            "key": "hue_coverage",
+            "value": "{\"red\":35.1,\"orange\":0.0,\"yellow\":0.0,\"green\":0.0,\"teal\":0.0,\"blue\":0.0,\"purple\":0.0,\"pink\":5.6,\"brown\":14.2,\"gold\":3.7,\"beige\":20.0,\"white\":10.5,\"black\":1.2,\"gray\":13.4}"
+          },
+          {
+            "namespace": "custom",
+            "key": "cov_pink",
+            "value": "5.6"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_id",
+            "value": "dw-bespoke-studio::t2::serene elegance heron on background japonisme"
+          },
+          {
+            "namespace": "custom",
+            "key": "product_class",
+            "value": "Wallcovering"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_normalized_at",
+            "value": "2026-07-28T15:44:25Z"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_palette",
+            "value": "[{\"hex\":\"#B67E7D\",\"pct\":25.8},{\"hex\":\"#D1C4B3\",\"pct\":25.8},{\"hex\":\"#D89E9D\",\"pct\":19.2},{\"hex\":\"#633E3D\",\"pct\":6.5},{\"hex\":\"#A5988B\",\"pct\":6.0},{\"hex\":\"#735C57\",\"pct\":6.0},{\"hex\":\"#3A2723\",\"pct\":5.4},{\"hex\":\"#966563\",\"pct\":5.3}]"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7948441550899",
+      "title": "Bordighera Blue Green Grasscloth Wallcovering | Fentucci",
+      "handle": "bordighera-blue-green-grasscloth-wallcovering-fentucci",
+      "vendor": "Fentucci",
+      "status": "DRAFT",
+      "tags": [
+        "color:Blue Green",
+        "display_variant",
+        "Fentucci",
+        "Grasscloth",
+        "Natural Wallcovering",
+        "Needs-Image",
+        "TWIL Naturals"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/44831598346291",
+            "sku": "GRS-26250",
+            "title": "Per Yard",
+            "price": "32.85"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44831598379059",
+            "sku": "GRS-26250-Sample",
+            "title": "Sample",
+            "price": "4.25"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": []
+      },
+      "metafields": {
+        "nodes": [
+          {
+            "namespace": "global",
+            "key": "width",
+            "value": "36\" Wide (trim to 34\")"
+          },
+          {
+            "namespace": "global",
+            "key": "unit_of_measure",
+            "value": "Priced Per Yard"
+          },
+          {
+            "namespace": "global",
+            "key": "Content",
+            "value": "Natural Grasscloth"
+          },
+          {
+            "namespace": "global",
+            "key": "Brand",
+            "value": "Fentucci"
+          },
+          {
+            "namespace": "global",
+            "key": "Collection",
+            "value": "TWIL Naturals"
+          },
+          {
+            "namespace": "custom",
+            "key": "manufacturer_sku",
+            "value": "C4522T"
+          },
+          {
+            "namespace": "dwc",
+            "key": "manufacturer_sku",
+            "value": "C4522T"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_name",
+            "value": "Bordighera"
+          },
+          {
+            "namespace": "dwc",
+            "key": "pattern_name",
+            "value": "Bordighera"
+          },
+          {
+            "namespace": "dwc",
+            "key": "order_unit",
+            "value": "Yard"
+          },
+          {
+            "namespace": "dwc",
+            "key": "width",
+            "value": "36\" Wide (trim to 34\")"
+          },
+          {
+            "namespace": "custom",
+            "key": "width",
+            "value": "36\" Wide (trim to 34\")"
+          },
+          {
+            "namespace": "global",
+            "key": "length",
+            "value": "8 Yards"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7799066066995",
+      "title": "Cheetah Brown Wallcovering | Graduate Collection",
+      "handle": "cheetah-brown-wallpaper-graduate-collection",
+      "vendor": "Graduate Collection UK",
+      "status": "DRAFT",
+      "tags": [
+        "AI-Analyzed-v2",
+        "Animal Print",
+        "Animal/Insects",
+        "Architectural",
+        "Bedroom",
+        "Beige",
+        "Bird",
+        "Botanical",
+        "Boutique Hotel",
+        "Brown",
+        "Cheetah",
+        "Cheetah Brown Wallcovering",
+        "Chocolate",
+        "Commercial",
+        "Contemporary",
+        "Dark Brown",
+        "Dining Room",
+        "display_variant",
+        "Dramatic",
+        "Earth Tones",
+        "Eclectic",
+        "Emerald Green",
+        "Entertainment Room",
+        "Figurative",
+        "Glamorous",
+        "Glamour",
+        "Gold",
+        "Graduate Collection",
+        "Graduate Collection UK",
+        "Illustrative",
+        "Leopard",
+        "Living Room",
+        "Luxurious",
+        "Maximalist",
+        "Metallics",
+        "Natural Fiber",
+        "Neutrals",
+        "Non-woven",
+        "Paper",
+        "Pattern",
+        "Peach",
+        "Scenic",
+        "Sophisticated",
+        "Toucan",
+        "Tropical",
+        "Wallcovering",
+        "Warm Tones",
+        "Yellow"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/44118802694195",
+            "sku": "DWGC-200002-SAMPLE",
+            "title": "Sample",
+            "price": "5.00"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44118802726963",
+            "sku": "DWGC-200002",
+            "title": "Sold Per Roll - 20.5\" wide x 11-yds",
+            "price": "205.00"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": [
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/cheetah-brown-wallpaper-graduate-collection-36995078750259.jpg?v=1785452517"
+          },
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/cheetah-brown-wallpaper-graduate-collection-36995078783027.jpg?v=1785452518"
+          },
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/cheetah-brown-wallpaper-graduate-collection-36995078815795.jpg?v=1785452522"
+          },
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/cheetah-brown-wallpaper-graduate-collection-37155304112179.jpg?v=1785452525"
+          },
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/cheetah-brown-wallpaper-graduate-collection-37155304079411.jpg?v=1785452524"
+          }
+        ]
+      },
+      "metafields": {
+        "nodes": [
+          {
+            "namespace": "global",
+            "key": "MATCH",
+            "value": "Half Drop"
+          },
+          {
+            "namespace": "global",
+            "key": "Contents",
+            "value": "Wallpaper"
+          },
+          {
+            "namespace": "global",
+            "key": "application",
+            "value": "Paste the wall"
+          },
+          {
+            "namespace": "global",
+            "key": "length",
+            "value": "10m (10.94 yards)"
+          },
+          {
+            "namespace": "global",
+            "key": "Collection",
+            "value": "Graduate Collection"
+          },
+          {
+            "namespace": "global",
+            "key": "Brand",
+            "value": "Graduate Collection"
+          },
+          {
+            "namespace": "global",
+            "key": "features",
+            "value": "Designed and made in the UK"
+          },
+          {
+            "namespace": "global",
+            "key": "design",
+            "value": "Animal Print"
+          },
+          {
+            "namespace": "global",
+            "key": "width",
+            "value": "52cm (20.47\")"
+          },
+          {
+            "namespace": "global",
+            "key": "repeat",
+            "value": "52cm (20.47\")"
+          },
+          {
+            "namespace": "global",
+            "key": "dw_sku",
+            "value": "DWGC-200002"
+          },
+          {
+            "namespace": "global",
+            "key": "pattern_name",
+            "value": "Cheetah"
+          },
+          {
+            "namespace": "global",
+            "key": "color",
+            "value": "Brown"
+          },
+          {
+            "namespace": "global",
+            "key": "product_type_spec",
+            "value": "Wallpaper"
+          },
+          {
+            "namespace": "global",
+            "key": "color_hex",
+            "value": "#8B4513"
+          },
+          {
+            "namespace": "dwc",
+            "key": "dw_sku",
+            "value": "DWGC-200002"
+          },
+          {
+            "namespace": "dwc",
+            "key": "pattern_name",
+            "value": "Cheetah"
+          },
+          {
+            "namespace": "dwc",
+            "key": "color",
+            "value": "Brown"
+          },
+          {
+            "namespace": "dwc",
+            "key": "product_type",
+            "value": "Wallpaper"
+          },
+          {
+            "namespace": "dwc",
+            "key": "color_hex",
+            "value": "#8B4513"
+          },
+          {
+            "namespace": "dwc",
+            "key": "width",
+            "value": "52cm (20.47\")"
+          },
+          {
+            "namespace": "dwc",
+            "key": "repeat",
+            "value": "52cm (20.47\")"
+          },
+          {
+            "namespace": "dwc",
+            "key": "MATCH",
+            "value": "Half Drop"
+          },
+          {
+            "namespace": "dwc",
+            "key": "collection",
+            "value": "Graduate Collection"
+          },
+          {
+            "namespace": "dwc",
+            "key": "Brand",
+            "value": "Graduate Collection"
+          },
+          {
+            "namespace": "global",
+            "key": "ai_color_tags",
+            "value": "Brown, Green, Gold, Peach, Beige"
+          },
+          {
+            "namespace": "global",
+            "key": "background_color",
+            "value": "Brown"
+          },
+          {
+            "namespace": "global",
+            "key": "ai_description",
+            "value": "This wallpaper features a lush jungle scene with cheetahs, birds, and tropical foliage. The rich brown background and gold accents create a luxurious and sophisticated mood."
+          },
+          {
+            "namespace": "dwc",
+            "key": "ai_color_tags",
+            "value": "Brown, Green, Gold, Peach, Beige"
+          },
+          {
+            "namespace": "dwc",
+            "key": "background_color",
+            "value": "Brown"
+          },
+          {
+            "namespace": "dwc",
+            "key": "ai_description",
+            "value": "This wallpaper features a lush jungle scene with cheetahs, birds, and tropical foliage. The rich brown background and gold accents create a luxurious and sophisticated mood."
+          },
+          {
+            "namespace": "dwc",
+            "key": "design",
+            "value": "Animal Print"
+          },
+          {
+            "namespace": "dwc",
+            "key": "features",
+            "value": "Designed and made in the UK"
+          },
+          {
+            "namespace": "dwc",
+            "key": "application",
+            "value": "Paste the wall"
+          },
+          {
+            "namespace": "custom",
+            "key": "manufacturer_sku",
+            "value": "LH1CHEWALBRO"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_name",
+            "value": "Cheetah"
+          },
+          {
+            "namespace": "custom",
+            "key": "collection_name",
+            "value": "Graduate Collection"
+          },
+          {
+            "namespace": "custom",
+            "key": "width",
+            "value": "52cm (20.47\")"
+          },
+          {
+            "namespace": "specs",
+            "key": "pattern_repeat",
+            "value": "52cm (20.47\")"
+          },
+          {
+            "namespace": "specs",
+            "key": "adhesive",
+            "value": "Beeline wallpaper paste (paste the wall)"
+          },
+          {
+            "namespace": "specs",
+            "key": "application",
+            "value": "Paste the wall"
+          },
+          {
+            "namespace": "specs",
+            "key": "match_type",
+            "value": "Half Drop"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_details",
+            "value": "[{\"name\":\"Coffee\",\"hex\":\"#52433E\",\"percentage\":19.8},{\"name\":\"Taupe\",\"hex\":\"#AB9F79\",\"percentage\":13.2},{\"name\":\"Bone\",\"hex\":\"#E1D8C2\",\"percentage\":12.4},{\"name\":\"Mocha\",\"hex\":\"#766954\",\"percentage\":10.1},{\"name\":\"Charcoal\",\"hex\":\"#413D36\",\"percentage\":10},{\"name\":\"Ebony\",\"hex\":\"#2D2C28\",\"percentage\":9.9},{\"name\":\"Graphite\",\"hex\":\"#4D5649\",\"percentage\":8.2}]"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_hex",
+            "value": "#52433E"
+          },
+          {
+            "namespace": "custom",
+            "key": "background_color",
+            "value": "brown"
+          },
+          {
+            "namespace": "specs",
+            "key": "style",
+            "value": "tropical"
+          },
+          {
+            "namespace": "specs",
+            "key": "pattern",
+            "value": "animal"
+          },
+          {
+            "namespace": "custom",
+            "key": "brand",
+            "value": "Graduate Collection"
+          },
+          {
+            "namespace": "custom",
+            "key": "material",
+            "value": "Wallpaper"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_repeat",
+            "value": "52cm (20.47\")"
+          },
+          {
+            "namespace": "custom",
+            "key": "color",
+            "value": "Brown"
+          },
+          {
+            "namespace": "custom",
+            "key": "fire_rating",
+            "value": "Inquire for more Information"
+          },
+          {
+            "namespace": "global",
+            "key": "manufacturer_sku",
+            "value": "LH1CHEWALBRO"
+          },
+          {
+            "namespace": "global",
+            "key": "metafield_migrated_at",
+            "value": "2026-04-16T02:01:28Z"
+          },
+          {
+            "namespace": "custom",
+            "key": "package_dimensions",
+            "value": "55 × 4 × 4 in"
+          },
+          {
+            "namespace": "custom",
+            "key": "package_length",
+            "value": "55 in"
+          },
+          {
+            "namespace": "custom",
+            "key": "package_width",
+            "value": "4 in"
+          },
+          {
+            "namespace": "custom",
+            "key": "package_height",
+            "value": "4 in"
+          },
+          {
+            "namespace": "custom",
+            "key": "package_weight",
+            "value": "8 lb"
+          },
+          {
+            "namespace": "custom",
+            "key": "weight_text",
+            "value": "8 LB"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_1_hex",
+            "value": "#52433E"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_1_percentage",
+            "value": "19.8"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_1_name",
+            "value": "Coffee"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_2_hex",
+            "value": "#AB9F79"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_2_percentage",
+            "value": "13.2"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_2_name",
+            "value": "Taupe"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_3_hex",
+            "value": "#E1D8C2"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_3_percentage",
+            "value": "12.4"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_3_name",
+            "value": "Bone"
+          },
+          {
+            "namespace": "custom",
+            "key": "hue_coverage",
+            "value": "{\"red\":6.1,\"orange\":1.6,\"yellow\":3.7,\"green\":13.4,\"teal\":5.4,\"blue\":0.0,\"purple\":0.0,\"pink\":0.0,\"brown\":44.9,\"gold\":15.7,\"beige\":14.5,\"white\":2.9,\"black\":4.7,\"gray\":11.3}"
+          },
+          {
+            "namespace": "custom",
+            "key": "cov_beige",
+            "value": "14.5"
+          },
+          {
+            "namespace": "custom",
+            "key": "cov_brown",
+            "value": "44.9"
+          },
+          {
+            "namespace": "custom",
+            "key": "cov_yellow",
+            "value": "3.7"
+          },
+          {
+            "namespace": "custom",
+            "key": "cov_gold",
+            "value": "15.7"
+          },
+          {
+            "namespace": "custom",
+            "key": "product_class",
+            "value": "Wallcovering"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_normalized_at",
+            "value": "2026-07-28T15:44:25Z"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_palette",
+            "value": "[{\"hex\":\"#574841\",\"pct\":42.4},{\"hex\":\"#39332E\",\"pct\":15.7},{\"hex\":\"#6D6350\",\"pct\":10.7},{\"hex\":\"#BDA27D\",\"pct\":7.0},{\"hex\":\"#F5DFCB\",\"pct\":6.5},{\"hex\":\"#8E9378\",\"pct\":6.1},{\"hex\":\"#89775D\",\"pct\":6.0},{\"hex\":\"#C5C6AB\",\"pct\":5.6}]"
+          },
+          {
+            "namespace": "internal",
+            "key": "settlement_hold",
+            "value": "{\"verdict\":\"HELD\",\"reason\":\"vision-vision-http-429\",\"ts\":\"2026-09-09T16:25:29.944Z\",\"by\":\"dw-rotation-activator\"}"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7902339956787",
+      "title": "Lced Coffee | Greenland",
+      "handle": "lced-coffee-greenland",
+      "vendor": "Greenland",
+      "status": "DRAFT",
+      "tags": [
+        "Cork",
+        "Greenland",
+        "Needs-Price",
+        "quotes",
+        "Wallcovering"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/44606039556147",
+            "sku": "DWGL-H192NQ8309",
+            "title": "Roll",
+            "price": "0.00"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44606039588915",
+            "sku": "DWGL-H192NQ8309-Sample",
+            "title": "Sample",
+            "price": "4.25"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": [
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/H192NQ8309_1254e329-bc2d-4143-9194-02f2a4299cf8.jpg?v=1785395413"
+          }
+        ]
+      },
+      "metafields": {
+        "nodes": [
+          {
+            "namespace": "custom",
+            "key": "pattern_name",
+            "value": "Lced coffee"
+          },
+          {
+            "namespace": "custom",
+            "key": "material",
+            "value": "Cork"
+          },
+          {
+            "namespace": "specs",
+            "key": "composition",
+            "value": "CORK 100%"
+          },
+          {
+            "namespace": "custom",
+            "key": "width",
+            "value": "91.5 cm/36''"
+          },
+          {
+            "namespace": "custom",
+            "key": "min_order",
+            "value": "5.5 meters / 6 yards"
+          },
+          {
+            "namespace": "global",
+            "key": "Substrate",
+            "value": "Non Woven"
+          },
+          {
+            "namespace": "custom",
+            "key": "fire_rating",
+            "value": "ASTM E84 Class A"
+          },
+          {
+            "namespace": "custom",
+            "key": "manufacturer_sku",
+            "value": "H192NQ8309"
+          },
+          {
+            "namespace": "global",
+            "key": "Brand",
+            "value": "Greenland"
+          },
+          {
+            "namespace": "global",
+            "key": "unit_of_measure",
+            "value": "Priced Per Roll (Quote)"
+          },
+          {
+            "namespace": "global",
+            "key": "width_inches",
+            "value": "36.0"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7944491794483",
+      "title": "Demoiselle demoiselle-jute-slate-haw0067-02 | Harlequin",
+      "handle": "demoiselle-demoiselle-jute-slate-haw0067-02-harlequin",
+      "vendor": "Harlequin",
+      "status": "DRAFT",
+      "tags": [
+        "Collection-Colour-1-Wallpapers",
+        "DWHA",
+        "Harlequin",
+        "harlequin-onboard-2026",
+        "Needs-Width",
+        "wallcovering"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/44819626524723",
+            "sku": "DWHA-570160",
+            "title": "Single Roll",
+            "price": "208.14"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44819626557491",
+            "sku": "DWHA-570160-Sample",
+            "title": "Sample",
+            "price": "4.25"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": [
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/DWHA-570160.jpg?v=1788523229"
+          }
+        ]
+      },
+      "metafields": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7519945523251",
+      "title": "Subtle Leaf Taupe Grey - Gray Commercial Wallcovering | Koroseal",
+      "handle": "dwk-29000-tak-aa01-01-designer-wallcoverings-los-angeles",
+      "vendor": "Koroseal",
+      "status": "DRAFT",
+      "tags": [
+        "2026 Inventory",
+        "Architectural Wallcoverings",
+        "Bedroom",
+        "Botanical",
+        "Class A Fire Rated",
+        "Commercial Wallcovering",
+        "Contemporary",
+        "display_variant",
+        "DWK-29000",
+        "Exquisite Foils",
+        "Gray",
+        "Grey",
+        "Hallway",
+        "Light Gray",
+        "Living Room",
+        "Metal Leaf",
+        "Metallic Foil",
+        "Modern",
+        "Organic Modern",
+        "quotes",
+        "Showroom Line",
+        "Silver",
+        "Sophisticated",
+        "TAK-AA01-01",
+        "Taupe",
+        "Texture",
+        "Textured",
+        "Tile",
+        "Tin",
+        "Wallcovering"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/43931273363507",
+            "sku": "DWK-29000",
+            "title": "Default Title",
+            "price": "4.25"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": [
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/TAKUMI_TAK-AA01-01__FOIL__new.jpg?v=1739409068"
+          }
+        ]
+      },
+      "metafields": {
+        "nodes": [
+          {
+            "namespace": "global",
+            "key": "description_tag",
+            "value": "Architectural wallcoverings for commercial and high-end interiors. Specification-grade materials from your one stop resource for over 20 years."
+          },
+          {
+            "namespace": "mc-facebook",
+            "key": "google_product_category",
+            "value": "2334"
+          },
+          {
+            "namespace": "custom",
+            "key": "product_category",
+            "value": "Home & Garden > Building Materials"
+          },
+          {
+            "namespace": "dwc",
+            "key": "background_color",
+            "value": "Gray"
+          },
+          {
+            "namespace": "dwc",
+            "key": "pattern_name",
+            "value": "Subtle Leaf"
+          },
+          {
+            "namespace": "dwc",
+            "key": "real_vendor",
+            "value": "Koroseal"
+          },
+          {
+            "namespace": "dwc",
+            "key": "brand",
+            "value": "Koroseal"
+          },
+          {
+            "namespace": "global",
+            "key": "lead_time",
+            "value": "3-5 Business Days"
+          },
+          {
+            "namespace": "global",
+            "key": "v_prods_quantity_order_min",
+            "value": "2"
+          },
+          {
+            "namespace": "global",
+            "key": "v_prods_quantity_order_units",
+            "value": "2"
+          },
+          {
+            "namespace": "global",
+            "key": "Brand",
+            "value": "Koroseal"
+          },
+          {
+            "namespace": "global",
+            "key": "SubBrand",
+            "value": "Koroseal"
+          },
+          {
+            "namespace": "global",
+            "key": "Designer",
+            "value": "LUZ1-11"
+          },
+          {
+            "namespace": "global",
+            "key": "Backing",
+            "value": "Paper"
+          },
+          {
+            "namespace": "global",
+            "key": "Fire-Rating",
+            "value": "Class A, ASTM E-84"
+          },
+          {
+            "namespace": "global",
+            "key": "Composition",
+            "value": "Tin"
+          },
+          {
+            "namespace": "global",
+            "key": "width",
+            "value": "36.2 in. (92 cm.)"
+          },
+          {
+            "namespace": "global",
+            "key": "length",
+            "value": "8.1 yards (7.4 m.)"
+          },
+          {
+            "namespace": "global",
+            "key": "repeat",
+            "value": "N/A"
+          },
+          {
+            "namespace": "global",
+            "key": "Vert-Rpt",
+            "value": "N/A"
+          },
+          {
+            "namespace": "global",
+            "key": "Horz-Rpt",
+            "value": "N/A"
+          },
+          {
+            "namespace": "global",
+            "key": "MATCH",
+            "value": "Approximate Match"
+          },
+          {
+            "namespace": "global",
+            "key": "Type",
+            "value": "Exquisite Foils"
+          },
+          {
+            "namespace": "dwc",
+            "key": "color",
+            "value": "Taupe Grey"
+          },
+          {
+            "namespace": "global",
+            "key": "title_tag",
+            "value": "Subtle Leaf Taupe Grey (TAK-AA01-01) | Architectural Wallcoverings"
+          },
+          {
+            "namespace": "custom",
+            "key": "manufacturer_sku",
+            "value": "TAK-AA01-01"
+          },
+          {
+            "namespace": "dwc",
+            "key": "manufacturer_sku",
+            "value": "TAK-AA01-01"
+          },
+          {
+            "namespace": "specs",
+            "key": "width",
+            "value": "36.2 in. (92 cm.)"
+          },
+          {
+            "namespace": "specs",
+            "key": "material",
+            "value": "Tin"
+          },
+          {
+            "namespace": "specs",
+            "key": "pattern_repeat",
+            "value": "N/A"
+          },
+          {
+            "namespace": "specs",
+            "key": "roll_length",
+            "value": "8.1 yards (7.4 m.)"
+          },
+          {
+            "namespace": "specs",
+            "key": "collection",
+            "value": "Koroseal"
+          },
+          {
+            "namespace": "specs",
+            "key": "fire_rating_us",
+            "value": "Class A, ASTM E-84"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_name",
+            "value": "Subtle Leaf Taupe Grey"
+          },
+          {
+            "namespace": "custom",
+            "key": "width",
+            "value": "36.2 in. (92 cm.)"
+          },
+          {
+            "namespace": "custom",
+            "key": "collection_name",
+            "value": "Koroseal"
+          },
+          {
+            "namespace": "custom",
+            "key": "material",
+            "value": "Tin"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_repeat",
+            "value": "0"
+          },
+          {
+            "namespace": "global",
+            "key": "fire_rating",
+            "value": "Class A, ASTM E-84"
+          },
+          {
+            "namespace": "global",
+            "key": "Collection",
+            "value": "Koroseal"
+          },
+          {
+            "namespace": "custom",
+            "key": "fire_rating",
+            "value": "Class A, ASTM E-84"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_details",
+            "value": "[{\"name\":\"Pewter\",\"hex\":\"#9E9A92\",\"percentage\":14.8},{\"name\":\"Smoke\",\"hex\":\"#8E8981\",\"percentage\":13.8},{\"name\":\"Gray\",\"hex\":\"#857F77\",\"percentage\":12.6},{\"name\":\"Mushroom\",\"hex\":\"#ABA79F\",\"percentage\":10.6}]"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_hex",
+            "value": "#9E9A92"
+          },
+          {
+            "namespace": "custom",
+            "key": "brand",
+            "value": "Koroseal"
+          },
+          {
+            "namespace": "custom",
+            "key": "color",
+            "value": "Gray"
+          },
+          {
+            "namespace": "dwc",
+            "key": "width",
+            "value": "36.2 in. (92 cm.)"
+          },
+          {
+            "namespace": "dwc",
+            "key": "repeat",
+            "value": "0"
+          },
+          {
+            "namespace": "dwc",
+            "key": "contents",
+            "value": "Tin"
+          },
+          {
+            "namespace": "custom",
+            "key": "real_vendor",
+            "value": "Koroseal"
+          },
+          {
+            "namespace": "dwc",
+            "key": "collection",
+            "value": "Koroseal"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_1_hex",
+            "value": "#9E9A92"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_1_percentage",
+            "value": "14.8"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_1_name",
+            "value": "Pewter"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_2_hex",
+            "value": "#8E8981"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_2_percentage",
+            "value": "13.8"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_2_name",
+            "value": "Smoke"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_3_hex",
+            "value": "#857F77"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_3_percentage",
+            "value": "12.6"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_3_name",
+            "value": "Gray"
+          },
+          {
+            "namespace": "custom",
+            "key": "hue_coverage",
+            "value": "{\"red\":0.0,\"orange\":0.0,\"yellow\":0.0,\"green\":0.0,\"teal\":0.0,\"blue\":0.0,\"purple\":0.0,\"pink\":0.0,\"brown\":0.0,\"gold\":0.1,\"beige\":43.0,\"white\":0.0,\"black\":0.0,\"gray\":100.0}"
+          },
+          {
+            "namespace": "custom",
+            "key": "cov_gray",
+            "value": "100.0"
+          },
+          {
+            "namespace": "custom",
+            "key": "cov_gold",
+            "value": "0.1"
+          },
+          {
+            "namespace": "custom",
+            "key": "showroom_line",
+            "value": "true"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_id",
+            "value": "koroseal::t2::subtle leaf"
+          },
+          {
+            "namespace": "custom",
+            "key": "material_category",
+            "value": "Metallic"
+          },
+          {
+            "namespace": "custom",
+            "key": "product_class",
+            "value": "Wallcovering"
+          },
+          {
+            "namespace": "custom",
+            "key": "style_tagged_at",
+            "value": "2026-07-28T13:44:11Z"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_normalized_at",
+            "value": "2026-07-28T15:44:25Z"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_palette",
+            "value": "[{\"hex\":\"#98938B\",\"pct\":77.7},{\"hex\":\"#807A71\",\"pct\":15.9},{\"hex\":\"#ADAAA1\",\"pct\":6.4}]"
+          },
+          {
+            "namespace": "custom",
+            "key": "motif_tagged_at",
+            "value": "2026-07-30T14:31:30Z"
+          },
+          {
+            "namespace": "custom",
+            "key": "is_commercial",
+            "value": "true"
+          },
+          {
+            "namespace": "custom",
+            "key": "market_segment",
+            "value": "Commercial"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7875193438259",
+      "title": "Amir, Grey Wallcoverings | Malibu Wallcovering",
+      "handle": "amir-grey-dwbr-170902",
+      "vendor": "Malibu Wallpaper",
+      "status": "DRAFT",
+      "tags": [
+        "Collection: Textures & Wovens Resource",
+        "display_variant",
+        "Grey",
+        "Malibu Wallpaper",
+        "Needs-Image",
+        "Priced Per Single Roll",
+        "Wallcovering"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/44487412383795",
+            "sku": "DWBR-170902",
+            "title": "Single Roll",
+            "price": "19.91"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44487412416563",
+            "sku": "DWBR-170902-Sample",
+            "title": "Sample",
+            "price": "4.25"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": []
+      },
+      "metafields": {
+        "nodes": [
+          {
+            "namespace": "custom",
+            "key": "manufacturer_sku",
+            "value": "4195-5347"
+          },
+          {
+            "namespace": "global",
+            "key": "manufacturer_sku",
+            "value": "4195-5347"
+          },
+          {
+            "namespace": "global",
+            "key": "Brand",
+            "value": "Malibu Wallpaper"
+          },
+          {
+            "namespace": "global",
+            "key": "dw_sku",
+            "value": "DWBR-170902"
+          },
+          {
+            "namespace": "global",
+            "key": "width",
+            "value": "54 Inches"
+          },
+          {
+            "namespace": "custom",
+            "key": "width",
+            "value": "54 Inches"
+          },
+          {
+            "namespace": "global",
+            "key": "pattern_name",
+            "value": "Amir"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_name",
+            "value": "Amir"
+          },
+          {
+            "namespace": "custom",
+            "key": "color",
+            "value": "Grey"
+          },
+          {
+            "namespace": "global",
+            "key": "color",
+            "value": "Grey"
+          },
+          {
+            "namespace": "dwc",
+            "key": "color",
+            "value": "Grey"
+          },
+          {
+            "namespace": "global",
+            "key": "material",
+            "value": "Fabric Backed Vinyl"
+          },
+          {
+            "namespace": "custom",
+            "key": "material",
+            "value": "Fabric Backed Vinyl"
+          },
+          {
+            "namespace": "custom",
+            "key": "collection_name",
+            "value": "Textures & Wovens Resource"
+          },
+          {
+            "namespace": "custom",
+            "key": "cost",
+            "value": "11.0"
+          },
+          {
+            "namespace": "custom",
+            "key": "price_updated_at",
+            "value": "2026-07-03"
+          },
+          {
+            "namespace": "global",
+            "key": "unit_of_measure",
+            "value": "Priced Per Single Roll"
+          },
+          {
+            "namespace": "global",
+            "key": "v_prods_quantity_order_min",
+            "value": "2"
+          },
+          {
+            "namespace": "global",
+            "key": "v_prods_quantity_order_units",
+            "value": "2"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7876833411123",
+      "title": "Abstract Flora 6800407, Made to Measure Mural Non-Woven Wallcoverings | Newwall",
+      "handle": "abstract-flora-6800407-made-to-measure-mural-non-woven-dwxw-1005916",
+      "vendor": "Newwall",
+      "status": "DRAFT",
+      "tags": [
+        "Collection: A",
+        "display_variant",
+        "Made to Measure Mural Non-Woven",
+        "Needs-Specs",
+        "Needs-Width",
+        "Newwall",
+        "Priced Per Single Roll",
+        "Wallcovering"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/44492346589235",
+            "sku": "DWXW-1005916",
+            "title": "Single Roll",
+            "price": "159.28"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44492346622003",
+            "sku": "DWXW-1005916-Sample",
+            "title": "Sample",
+            "price": "4.25"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": [
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/6800407-main-2.jpg?v=1783276831"
+          },
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/6800407-main-2_3670478a-6dd9-4ace-b858-a3329705b4d1.jpg?v=1783276831"
+          }
+        ]
+      },
+      "metafields": {
+        "nodes": [
+          {
+            "namespace": "custom",
+            "key": "manufacturer_sku",
+            "value": "6800407"
+          },
+          {
+            "namespace": "global",
+            "key": "manufacturer_sku",
+            "value": "6800407"
+          },
+          {
+            "namespace": "global",
+            "key": "Brand",
+            "value": "Newwall"
+          },
+          {
+            "namespace": "global",
+            "key": "dw_sku",
+            "value": "DWXW-1005916"
+          },
+          {
+            "namespace": "global",
+            "key": "pattern_name",
+            "value": "Abstract Flora 6800407"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_name",
+            "value": "Abstract Flora 6800407"
+          },
+          {
+            "namespace": "custom",
+            "key": "color",
+            "value": "Made to Measure Mural Non-Woven"
+          },
+          {
+            "namespace": "global",
+            "key": "color",
+            "value": "Made to Measure Mural Non-Woven"
+          },
+          {
+            "namespace": "dwc",
+            "key": "color",
+            "value": "Made to Measure Mural Non-Woven"
+          },
+          {
+            "namespace": "global",
+            "key": "material",
+            "value": "Non-Woven, Type II, Vinyl"
+          },
+          {
+            "namespace": "custom",
+            "key": "material",
+            "value": "Non-Woven, Type II, Vinyl"
+          },
+          {
+            "namespace": "custom",
+            "key": "collection_name",
+            "value": "A"
+          },
+          {
+            "namespace": "custom",
+            "key": "cost",
+            "value": "88.0"
+          },
+          {
+            "namespace": "custom",
+            "key": "price_updated_at",
+            "value": "2026-07-05"
+          },
+          {
+            "namespace": "global",
+            "key": "unit_of_measure",
+            "value": "Priced Per Single Roll"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7796246511667",
+      "title": "Andros - Dune Vegan Leather | Phillipe Romano",
+      "handle": "andros-dune-dwpr-425045",
+      "vendor": "Phillipe Romano",
+      "status": "DRAFT",
+      "tags": [
+        "Andros",
+        "Animal Skin",
+        "Bedroom",
+        "Beige",
+        "CA TB 117 Compliant",
+        "Camel",
+        "Class A Fire Rated",
+        "Color: Brown",
+        "Commercial",
+        "Commercial Wallcovering",
+        "Contemporary",
+        "Contract Grade",
+        "Dark Tan",
+        "display_variant",
+        "Dune",
+        "Embossed",
+        "Farmhouse",
+        "Faux Leather",
+        "Grasscloth",
+        "Grasscloth Weave",
+        "Hallway",
+        "Hospitality",
+        "IMO Marine Grade",
+        "Light Brown",
+        "Linen Texture",
+        "Living Room",
+        "Luxury",
+        "Medium Brown",
+        "NFPA 260 Compliant",
+        "Ostrich",
+        "Performance Fabric",
+        "Performance Vinyl",
+        "PFAS-Free",
+        "Phillipe Romano",
+        "Phthalate-Free",
+        "Polyester",
+        "Rustic",
+        "Tan",
+        "Textured",
+        "Traditional",
+        "Transitional",
+        "Upholstery",
+        "Upholstery Vinyl",
+        "Vegan Leather",
+        "Vinyl",
+        "Wallcovering",
+        "Warm"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/44107727568947",
+            "sku": "DWPN-100045",
+            "title": "Sample",
+            "price": "4.25"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": [
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/Blckout_Adagio_Cashew.jpg?v=1773217093"
+          },
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/adagio-adagio-blackout-fabric-philippe-romano-fabrics-2-swatch-spin.gif?v=1773254576"
+          },
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/588d75f8ceed644ae8ef38c18671e05d.png?v=1773223720"
+          },
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/ebc0a87c84c6f2fdd1ba0d12c2f859c4.png?v=1773223742"
+          },
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/937e352bfd5e2c48086a15520a05dc14.png?v=1773223764"
+          }
+        ]
+      },
+      "metafields": {
+        "nodes": [
+          {
+            "namespace": "specs",
+            "key": "brand",
+            "value": "Phillipe Romano"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_name",
+            "value": "Andros"
+          },
+          {
+            "namespace": "custom",
+            "key": "color",
+            "value": "Dune"
+          },
+          {
+            "namespace": "custom",
+            "key": "designer",
+            "value": "Phillipe Romano"
+          },
+          {
+            "namespace": "custom",
+            "key": "material",
+            "value": "Top: 100% Polyester | Backing: 4 Pass Acrylic"
+          },
+          {
+            "namespace": "custom",
+            "key": "width",
+            "value": "54 in (137.16 cm)"
+          },
+          {
+            "namespace": "custom",
+            "key": "fire_rating",
+            "value": "Inquire for more Information"
+          },
+          {
+            "namespace": "custom",
+            "key": "google_product_category",
+            "value": "Home & Garden > Decor > Wallpaper"
+          },
+          {
+            "namespace": "global",
+            "key": "description_tag",
+            "value": "Andros - Dune by Phillipe Romano. Premium performance material for commercial and residential interiors."
+          },
+          {
+            "namespace": "specs",
+            "key": "sku",
+            "value": "DWPR-425045"
+          },
+          {
+            "namespace": "specs",
+            "key": "type",
+            "value": "Blackout Fabric"
+          },
+          {
+            "namespace": "specs",
+            "key": "composition",
+            "value": "Top: 100% Polyester | Backing: 4 Pass Acrylic"
+          },
+          {
+            "namespace": "specs",
+            "key": "finish",
+            "value": "Spot Cleaning, Professional Dry Cleaning | Cleaning: W"
+          },
+          {
+            "namespace": "specs",
+            "key": "care",
+            "value": "Upholstery, Wallcovering"
+          },
+          {
+            "namespace": "private_label",
+            "key": "vendor_color_name",
+            "value": "Cashew"
+          },
+          {
+            "namespace": "private_label",
+            "key": "design",
+            "value": "Andros"
+          },
+          {
+            "namespace": "private_label",
+            "key": "real_vendor_name",
+            "value": "Pointe Fabrics"
+          },
+          {
+            "namespace": "global",
+            "key": "Type",
+            "value": "Blackout Fabric"
+          },
+          {
+            "namespace": "global",
+            "key": "Composition",
+            "value": "Top: 100% Polyester | Backing: 4 Pass Acrylic"
+          },
+          {
+            "namespace": "global",
+            "key": "Fire-Rating",
+            "value": "NFPA-701, CAN/ULC-S109-14"
+          },
+          {
+            "namespace": "global",
+            "key": "Brand",
+            "value": "Phillipe Romano"
+          },
+          {
+            "namespace": "global",
+            "key": "Vert-Rpt",
+            "value": "N/A"
+          },
+          {
+            "namespace": "global",
+            "key": "Horz-Rpt",
+            "value": "N/A"
+          },
+          {
+            "namespace": "global",
+            "key": "MATCH",
+            "value": "Random Match"
+          },
+          {
+            "namespace": "global",
+            "key": "Cleaning",
+            "value": "Stand Alone Drapery"
+          },
+          {
+            "namespace": "global",
+            "key": "Finish",
+            "value": "Spot Cleaning, Professional Dry Cleaning | Cleaning: W"
+          },
+          {
+            "namespace": "specs",
+            "key": "application",
+            "value": "Upholstery, Wallcovering"
+          },
+          {
+            "namespace": "global",
+            "key": "metafield_migrated_at",
+            "value": "2026-03-16T14:17:38Z"
+          },
+          {
+            "namespace": "global",
+            "key": "Contents",
+            "value": "Top: 100% Polyester"
+          },
+          {
+            "namespace": "global",
+            "key": "design",
+            "value": "Andros"
+          },
+          {
+            "namespace": "global",
+            "key": "Collection",
+            "value": "Contexture"
+          },
+          {
+            "namespace": "global",
+            "key": "fire_rating",
+            "value": "NFPA-701, CAN/ULC-S109-14"
+          },
+          {
+            "namespace": "global",
+            "key": "application",
+            "value": "Stand Alone Drapery"
+          },
+          {
+            "namespace": "specs",
+            "key": "width",
+            "value": "54.00"
+          },
+          {
+            "namespace": "specs",
+            "key": "material",
+            "value": "Top: 100% Polyester | Backing: 4 Pass Acrylic"
+          },
+          {
+            "namespace": "specs",
+            "key": "fire_rating",
+            "value": "NFPA-701, CAN/ULC-S109-14"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_details",
+            "value": "[{\"hex\":\"#E3D9C9\",\"pct\":55,\"name\":\"Beige\"},{\"hex\":\"#B19B84\",\"pct\":30,\"name\":\"Light Brown\"},{\"hex\":\"#635343\",\"pct\":15,\"name\":\"Dark Brown\"}]"
+          },
+          {
+            "namespace": "custom",
+            "key": "background_color",
+            "value": "tan"
+          },
+          {
+            "namespace": "specs",
+            "key": "pattern",
+            "value": "woven"
+          },
+          {
+            "namespace": "custom",
+            "key": "collection_name",
+            "value": "Contexture"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_hex",
+            "value": "#E3D9C9"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_repeat",
+            "value": "Inquire for more information"
+          },
+          {
+            "namespace": "dwc",
+            "key": "repeat",
+            "value": "1\""
+          },
+          {
+            "namespace": "dwc",
+            "key": "width",
+            "value": "54\""
+          },
+          {
+            "namespace": "custom",
+            "key": "manufacturer_sku",
+            "value": "PI-ADAGIO-CASHEW"
+          },
+          {
+            "namespace": "custom",
+            "key": "legacy_sku",
+            "value": "DWPR-425045"
+          },
+          {
+            "namespace": "global",
+            "key": "color_hex",
+            "value": "#D2B48C"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7664930455603",
+      "title": "Dropcloth Velvet Indigo - Navy Fabric | Ralph Lauren",
+      "handle": "ralph-90011-frl5327-01-ralph-lauren",
+      "vendor": "Ralph Lauren",
+      "status": "DRAFT",
+      "tags": [
+        "display_variant",
+        "Needs-Price"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/43611396866099",
+            "sku": "Ralph-90011",
+            "title": "Sample",
+            "price": "0.00"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": [
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/173107_2e286036-548a-4017-a640-15d999dd0608.webp?v=1757454981"
+          }
+        ]
+      },
+      "metafields": {
+        "nodes": [
+          {
+            "namespace": "global",
+            "key": "title_tag",
+            "value": "Dropcloth Velvet Indigo Fabric | Ralph Lauren Home"
+          },
+          {
+            "namespace": "global",
+            "key": "description_tag",
+            "value": "Shop Ralph Lauren Fabrics at Designer Wallcoverings – the trusted resource for architects and interior designers for over 20 years. Trade pricing available. Fast shipping. Samples available."
+          },
+          {
+            "namespace": "mc-facebook",
+            "key": "google_product_category",
+            "value": "4171"
+          },
+          {
+            "namespace": "global",
+            "key": "width",
+            "value": "52.25 in"
+          },
+          {
+            "namespace": "global",
+            "key": "repeat",
+            "value": "26.5 in"
+          },
+          {
+            "namespace": "global",
+            "key": "Vert-Rpt",
+            "value": "26.5 in"
+          },
+          {
+            "namespace": "global",
+            "key": "PATTERN_REPEAT_VERTICAL",
+            "value": "26.5 in"
+          },
+          {
+            "namespace": "global",
+            "key": "Horz-Rpt",
+            "value": "26.25 in"
+          },
+          {
+            "namespace": "global",
+            "key": "PATTERN_REPEAT_HORIZONTAL",
+            "value": "26.25 in"
+          },
+          {
+            "namespace": "global",
+            "key": "Contents",
+            "value": "66% Co 31% Vi 3% Pl"
+          },
+          {
+            "namespace": "global",
+            "key": "Collection",
+            "value": "Rue Boheme Fabrics"
+          },
+          {
+            "namespace": "global",
+            "key": "Cleaning-Code",
+            "value": "NO WASH, DRY CLEAN - P process (GENTLE), IRON COOL (1 spot - 110deg c), NO TUMBLE DRY, NO BLEACH"
+          },
+          {
+            "namespace": "global",
+            "key": "Weight",
+            "value": "12.4 oz/sq.yd"
+          },
+          {
+            "namespace": "global",
+            "key": "Martindale-#",
+            "value": "50000"
+          },
+          {
+            "namespace": "global",
+            "key": "MATCH",
+            "value": "Half drop"
+          },
+          {
+            "namespace": "global",
+            "key": "MATCH_TYPE",
+            "value": "Half drop"
+          },
+          {
+            "namespace": "global",
+            "key": "Tests-Passed",
+            "value": "EN1021-1 Cigarette - UPHOLSTERY; BS5852 Cigarette - UPHOLSTERY"
+          },
+          {
+            "namespace": "global",
+            "key": "Usage",
+            "value": "Cushions, Curtains And Blinds, Loose Covers, Upholstery"
+          },
+          {
+            "namespace": "global",
+            "key": "FABRIC_USAGE",
+            "value": "Cushions, Curtains And Blinds, Loose Covers, Upholstery"
+          },
+          {
+            "namespace": "global",
+            "key": "length",
+            "value": "Per Yard"
+          },
+          {
+            "namespace": "global",
+            "key": "v_prods_quantity_order_min",
+            "value": "1"
+          },
+          {
+            "namespace": "global",
+            "key": "v_prods_quantity_order_units",
+            "value": "1"
+          },
+          {
+            "namespace": "global",
+            "key": "unit_of_measure",
+            "value": "Priced Per Yard"
+          },
+          {
+            "namespace": "global",
+            "key": "Brand",
+            "value": "Ralph Lauren"
+          },
+          {
+            "namespace": "dwc",
+            "key": "background_color",
+            "value": "Navy"
+          },
+          {
+            "namespace": "dwc",
+            "key": "real_vendor",
+            "value": "Designers Guild"
+          },
+          {
+            "namespace": "dwc",
+            "key": "brand",
+            "value": "Ralph Lauren"
+          },
+          {
+            "namespace": "global",
+            "key": "type",
+            "value": "Fabric"
+          },
+          {
+            "namespace": "custom",
+            "key": "manufacturer_sku",
+            "value": "FRL5327/01"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_name",
+            "value": "Dropcloth Velvet Indigo"
+          },
+          {
+            "namespace": "custom",
+            "key": "collection_name",
+            "value": "Rue Boheme Fabrics"
+          },
+          {
+            "namespace": "custom",
+            "key": "width",
+            "value": "52.25 in"
+          },
+          {
+            "namespace": "specs",
+            "key": "pattern_repeat",
+            "value": "26.5 in"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_details",
+            "value": "[{\"name\":\"Midnight\",\"hex\":\"#0F2442\",\"percentage\":45},{\"name\":\"Indigo\",\"hex\":\"#263F61\",\"percentage\":30},{\"name\":\"Denim\",\"hex\":\"#5F85A6\",\"percentage\":15},{\"name\":\"Light Gray\",\"hex\":\"#D1D5D9\",\"percentage\":10}]"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_hex",
+            "value": "#0F2442"
+          },
+          {
+            "namespace": "specs",
+            "key": "repeat_vertical",
+            "value": "0"
+          },
+          {
+            "namespace": "specs",
+            "key": "repeat_horizontal",
+            "value": "0"
+          },
+          {
+            "namespace": "dwc",
+            "key": "collection",
+            "value": "Rue Boheme Fabrics"
+          },
+          {
+            "namespace": "dwc",
+            "key": "width",
+            "value": "52.25 in"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_repeat",
+            "value": "26.5 in"
+          },
+          {
+            "namespace": "dwc",
+            "key": "repeat",
+            "value": "26.5 in"
+          },
+          {
+            "namespace": "custom",
+            "key": "material",
+            "value": "66% Co 31% Vi 3% Pl"
+          },
+          {
+            "namespace": "dwc",
+            "key": "contents",
+            "value": "66% Co 31% Vi 3% Pl"
+          },
+          {
+            "namespace": "custom",
+            "key": "brand",
+            "value": "Ralph Lauren"
+          },
+          {
+            "namespace": "custom",
+            "key": "fire_rating",
+            "value": "Inquire for more Information"
+          },
+          {
+            "namespace": "custom",
+            "key": "color",
+            "value": "Navy"
+          },
+          {
+            "namespace": "custom",
+            "key": "real_vendor",
+            "value": "Designers Guild"
+          },
+          {
+            "namespace": "dwc",
+            "key": "manufacturer_sku",
+            "value": "FRL5327/01"
+          },
+          {
+            "namespace": "dwc",
+            "key": "pattern_name",
+            "value": "Dropcloth Velvet Indigo"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_1_hex",
+            "value": "#0F2442"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_1_percentage",
+            "value": "45.0"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_1_name",
+            "value": "Midnight"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_2_hex",
+            "value": "#263F61"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_2_percentage",
+            "value": "30.0"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_2_name",
+            "value": "Indigo"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_3_hex",
+            "value": "#5F85A6"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_3_percentage",
+            "value": "15.0"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_3_name",
+            "value": "Denim"
+          },
+          {
+            "namespace": "custom",
+            "key": "hue_coverage",
+            "value": "{\"red\":0.0,\"orange\":0.0,\"yellow\":0.0,\"green\":0.0,\"teal\":10.8,\"blue\":98.9,\"purple\":0.0,\"pink\":0.0,\"brown\":0.0,\"gold\":0.0,\"beige\":0.0,\"white\":0.0,\"black\":19.8,\"gray\":0.0}"
+          },
+          {
+            "namespace": "custom",
+            "key": "cov_blue",
+            "value": "98.9"
+          },
+          {
+            "namespace": "custom",
+            "key": "showroom_line",
+            "value": "true"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7896894603315",
+      "title": "Flower Garden, Blue Wallcoverings | Rebel Walls",
+      "handle": "flower-garden-blue-wallcoverings-dwrw-361343",
+      "vendor": "Rebel Walls",
+      "status": "DRAFT",
+      "tags": [
+        "Blue",
+        "Collection: Shutterstock",
+        "Mural",
+        "Non-Woven",
+        "Priced Per Square Meter",
+        "Rebel Walls",
+        "Wall Mural"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/44588275499059",
+            "sku": "DWRW-361343",
+            "title": "Mural (per m²)",
+            "price": "191.00"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44588275531827",
+            "sku": "DWRW-361343-Sample",
+            "title": "Sample",
+            "price": "4.25"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": [
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/R20373_interior1.jpg?v=1784792422"
+          }
+        ]
+      },
+      "metafields": {
+        "nodes": [
+          {
+            "namespace": "custom",
+            "key": "manufacturer_sku",
+            "value": "R20373"
+          },
+          {
+            "namespace": "global",
+            "key": "manufacturer_sku",
+            "value": "R20373"
+          },
+          {
+            "namespace": "global",
+            "key": "Brand",
+            "value": "Rebel Walls"
+          },
+          {
+            "namespace": "global",
+            "key": "dw_sku",
+            "value": "DWRW-361343"
+          },
+          {
+            "namespace": "global",
+            "key": "width",
+            "value": "19.7 in / 0.5 m"
+          },
+          {
+            "namespace": "custom",
+            "key": "width",
+            "value": "19.7 in / 0.5 m"
+          },
+          {
+            "namespace": "global",
+            "key": "pattern_name",
+            "value": "Flower Garden"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_name",
+            "value": "Flower Garden"
+          },
+          {
+            "namespace": "custom",
+            "key": "color",
+            "value": "Blue"
+          },
+          {
+            "namespace": "global",
+            "key": "color",
+            "value": "Blue"
+          },
+          {
+            "namespace": "dwc",
+            "key": "color",
+            "value": "Blue"
+          },
+          {
+            "namespace": "custom",
+            "key": "fire_rating",
+            "value": "EU Fire Class B-s1, d0 and US Fire Class A"
+          },
+          {
+            "namespace": "global",
+            "key": "material",
+            "value": "Non-woven"
+          },
+          {
+            "namespace": "custom",
+            "key": "material",
+            "value": "Non-woven"
+          },
+          {
+            "namespace": "custom",
+            "key": "collection_name",
+            "value": "Shutterstock"
+          },
+          {
+            "namespace": "internal",
+            "key": "settlement_hold",
+            "value": "{\"verdict\":\"HELD\",\"reason\":\"vision-vision-http-429\",\"ts\":\"2026-09-09T16:25:31.362Z\",\"by\":\"dw-rotation-activator\"}"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7911519977523",
+      "title": "Arrowroot Atmosphere",
+      "handle": "arrowroot-atmosphere",
+      "vendor": "Romo",
+      "status": "DRAFT",
+      "tags": [
+        "Beige",
+        "Brown",
+        "Coastal",
+        "Contemporary",
+        "display_variant",
+        "Grasscloth",
+        "Light Beige",
+        "Off-white",
+        "Priced Per Single Roll",
+        "Romo",
+        "Stripe",
+        "Taupe",
+        "Textured",
+        "Wallcovering"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/44660311982131",
+            "sku": "DWRM-240198",
+            "title": "Single Roll",
+            "price": "905.88"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44660312014899",
+            "sku": "DWRM-240198-Sample",
+            "title": "Sample",
+            "price": "4.25"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": [
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/MW148-01-arrowroot-wallcovering-atmosphere_01.jpg?v=1785783818"
+          }
+        ]
+      },
+      "metafields": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7832784764979",
+      "title": "Parlor Velvet Pillow Lumbar 14X22 Nougat | Scalamandre",
+      "handle": "parlor-velvet-pillow-lumbar-14x22-nougat-scalamandre",
+      "vendor": "Scalamandre",
+      "status": "DRAFT",
+      "tags": [
+        "Collection:CS0105",
+        "display_variant",
+        "Imported",
+        "Needs-Image",
+        "Pillow",
+        "Scalamandre",
+        "Shape:Lumbar"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/44294581583923",
+            "sku": "DWSC-700814",
+            "title": "14 X 22",
+            "price": "394.82"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": [
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/SC_0001LBDK27324.jpg?v=1781952527"
+          }
+        ]
+      },
+      "metafields": {
+        "nodes": [
+          {
+            "namespace": "pillow",
+            "key": "mfr_sku",
+            "value": "SCLBDK273240001"
+          },
+          {
+            "namespace": "pillow",
+            "key": "display_sku",
+            "value": "SC LBDK27324 0001"
+          },
+          {
+            "namespace": "pillow",
+            "key": "pattern_name",
+            "value": "PARLOR VELVET PILLOW"
+          },
+          {
+            "namespace": "pillow",
+            "key": "color_name",
+            "value": "NOUGAT"
+          },
+          {
+            "namespace": "pillow",
+            "key": "collection_code",
+            "value": "CS0105"
+          },
+          {
+            "namespace": "pillow",
+            "key": "shape",
+            "value": "Lumbar"
+          },
+          {
+            "namespace": "pillow",
+            "key": "dimensions",
+            "value": "14 X 22"
+          },
+          {
+            "namespace": "pillow",
+            "key": "width_inches",
+            "value": "14.0"
+          },
+          {
+            "namespace": "pillow",
+            "key": "length_inches",
+            "value": "22.0"
+          },
+          {
+            "namespace": "pillow",
+            "key": "face_content",
+            "value": "75% COTTON 25% VISCOSE"
+          },
+          {
+            "namespace": "pillow",
+            "key": "trim",
+            "value": "FURNITURE / LIGHTING"
+          },
+          {
+            "namespace": "pillow",
+            "key": "country_of_origin",
+            "value": "U.S.A."
+          },
+          {
+            "namespace": "pillow",
+            "key": "price_retail_msrp",
+            "value": "340.6"
+          },
+          {
+            "namespace": "custom",
+            "key": "price",
+            "value": "394.82"
+          },
+          {
+            "namespace": "global",
+            "key": "price",
+            "value": "394.82"
+          },
+          {
+            "namespace": "global",
+            "key": "list_price",
+            "value": "394.82"
+          },
+          {
+            "namespace": "global",
+            "key": "retail_price",
+            "value": "394.82"
+          },
+          {
+            "namespace": "global",
+            "key": "MSRP",
+            "value": "394.82"
+          },
+          {
+            "namespace": "global",
+            "key": "WHLS-Price",
+            "value": "262.0"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7548495069235",
+      "title": "Framed Art with cigs",
+      "handle": "framed-art-with-cigs",
+      "vendor": "Steve Abrams Studios",
+      "status": "DRAFT",
+      "tags": [
+        "AI-Analyzed-v2",
+        "Architectural",
+        "Bedroom",
+        "Black",
+        "Class A Fire Rated",
+        "Commercial",
+        "Contemporary",
+        "Cream",
+        "Dining Room",
+        "display_variant",
+        "Eggshell",
+        "Framed Art with cigs",
+        "Glamorous",
+        "Gray",
+        "Light Blue",
+        "Living Room",
+        "material-group-non-woven",
+        "Needs-Width",
+        "Paper",
+        "Solid",
+        "Sophisticated",
+        "Steve Abrams Studios",
+        "Texture",
+        "Traditional",
+        "Victorian",
+        "Wallcovering",
+        "White"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/43230211964979",
+            "sku": "",
+            "title": "12x16 Black Frame",
+            "price": "150.00"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/43230211997747",
+            "sku": "",
+            "title": "White Mat",
+            "price": "150.00"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/43230218879027",
+            "sku": "",
+            "title": "Frame Style",
+            "price": "150.00"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44173979877427",
+            "sku": "SAMPLE-7548495069235",
+            "title": "Sample",
+            "price": "4.25"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": [
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/SF_FRgxwh_MSs_8x8_DIG-320251_1.png?v=1742580005"
+          }
+        ]
+      },
+      "metafields": {
+        "nodes": [
+          {
+            "namespace": "mc-facebook",
+            "key": "google_product_category",
+            "value": "500044"
+          },
+          {
+            "namespace": "global",
+            "key": "description_tag",
+            "value": "Discover Framed Art with cigs from Steve Abrams Studios. premium wallcovering ideal for residential and commercial interiors. Ships free on orders $100+."
+          },
+          {
+            "namespace": "global",
+            "key": "title_tag",
+            "value": "Framed Art with cigs Wallcovering by Steve Abrams Studios"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_hex",
+            "value": "#FFFFFF"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_details",
+            "value": "[{\"name\":\"White\",\"hex\":\"#FFFFFF\",\"percentage\":30.7},{\"name\":\"Off White\",\"hex\":\"#F2F2EB\",\"percentage\":15.1},{\"name\":\"Slate Blue\",\"hex\":\"#546576\",\"percentage\":12.7},{\"name\":\"Charcoal\",\"hex\":\"#3B3C3C\",\"percentage\":12.2},{\"name\":\"Black\",\"hex\":\"#141415\",\"percentage\":11.7},{\"name\":\"Bone\",\"hex\":\"#D8D8D4\",\"percentage\":4}]"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_name",
+            "value": "Framed Art With Cigs"
+          },
+          {
+            "namespace": "custom",
+            "key": "fire_rating",
+            "value": "Inquire for more Information"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_1_hex",
+            "value": "#FFFFFF"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_1_percentage",
+            "value": "30.7"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_1_name",
+            "value": "White"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_2_hex",
+            "value": "#F2F2EB"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_2_percentage",
+            "value": "15.1"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_2_name",
+            "value": "Off White"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_3_hex",
+            "value": "#546576"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_3_percentage",
+            "value": "12.7"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_3_name",
+            "value": "Slate Blue"
+          },
+          {
+            "namespace": "custom",
+            "key": "hue_coverage",
+            "value": "{\"red\":0.0,\"orange\":0.0,\"yellow\":0.0,\"green\":0.0,\"teal\":0.0,\"blue\":6.7,\"purple\":0.0,\"pink\":0.0,\"brown\":0.0,\"gold\":0.0,\"beige\":0.0,\"white\":58.8,\"black\":14.8,\"gray\":16.4}"
+          },
+          {
+            "namespace": "custom",
+            "key": "cov_white",
+            "value": "58.8"
+          },
+          {
+            "namespace": "custom",
+            "key": "cov_gray",
+            "value": "16.4"
+          },
+          {
+            "namespace": "custom",
+            "key": "cov_black",
+            "value": "14.8"
+          },
+          {
+            "namespace": "custom",
+            "key": "product_class",
+            "value": "Wallcovering"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_normalized_at",
+            "value": "2026-07-28T15:44:25Z"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_palette",
+            "value": "[{\"hex\":\"#F6F4EF\",\"pct\":45.3},{\"hex\":\"#343435\",\"pct\":19.8},{\"hex\":\"#4D667E\",\"pct\":15.0},{\"hex\":\"#1F1F20\",\"pct\":9.4},{\"hex\":\"#C7CACA\",\"pct\":6.3},{\"hex\":\"#717B86\",\"pct\":4.2}]"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7552732594227",
+      "title": "Grassmarket Check | Thibaut",
+      "handle": "dwtt-80942-designer-wallcoverings-los-angeles",
+      "vendor": "Thibaut",
+      "status": "DRAFT",
+      "tags": [
+        "Architectural",
+        "beige",
+        "black",
+        "display_variant",
+        "Geometric",
+        "Pattern",
+        "Plaid",
+        "red",
+        "T10204",
+        "Thibaut",
+        "Traditional",
+        "Unknown",
+        "Wallcovering"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/43243602444339",
+            "sku": "DWTT-80942-SAMPLE",
+            "title": "Sample",
+            "price": "4.25"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/43243602477107",
+            "sku": "DWTT-80942",
+            "title": "Sold Per (27\" x 4.5yds)",
+            "price": "114.03"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": [
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/dwtt-80942-designer-wallcoverings-los-angeles-37499942600755.jpg?v=1785455675"
+          }
+        ]
+      },
+      "metafields": {
+        "nodes": [
+          {
+            "namespace": "global",
+            "key": "description_tag",
+            "value": "This classic check pattern wallpaper adds a touch of sophistication to any space. The rich burgundy and black hues create a warm and inviting atmosphere, perfect for creating a cozy and stylish interior."
+          },
+          {
+            "namespace": "mc-facebook",
+            "key": "google_product_category",
+            "value": "115"
+          },
+          {
+            "namespace": "global",
+            "key": "v_prods_quantity_order_units",
+            "value": "2"
+          },
+          {
+            "namespace": "global",
+            "key": "v_prod_quantity_order_min",
+            "value": "2"
+          },
+          {
+            "namespace": "global",
+            "key": "title",
+            "value": "Wallcoverings"
+          },
+          {
+            "namespace": "custom",
+            "key": "collection_name",
+            "value": "Grassmarket Check Type 2 Red Wallpaper | Thibaut"
+          },
+          {
+            "namespace": "custom",
+            "key": "manufacturer_sku",
+            "value": "T10204"
+          },
+          {
+            "namespace": "dwc",
+            "key": "pattern_name",
+            "value": "Wallcoverings"
+          },
+          {
+            "namespace": "dwc",
+            "key": "color",
+            "value": "Red"
+          },
+          {
+            "namespace": "global",
+            "key": "Color-Way",
+            "value": "Red"
+          },
+          {
+            "namespace": "global",
+            "key": "Brand",
+            "value": "Thibaut"
+          },
+          {
+            "namespace": "dwc",
+            "key": "real_vendor",
+            "value": "Thibaut Design"
+          },
+          {
+            "namespace": "global",
+            "key": "title_tag",
+            "value": "Wallcoverings Red (T10204) | Architectural Wallcoverings"
+          },
+          {
+            "namespace": "dwc",
+            "key": "background_color",
+            "value": "Red"
+          },
+          {
+            "namespace": "global",
+            "key": "Color-of-Pattern",
+            "value": "Red"
+          },
+          {
+            "namespace": "global",
+            "key": "Color-1",
+            "value": "Burgundy"
+          },
+          {
+            "namespace": "global",
+            "key": "Color-2",
+            "value": "Black"
+          },
+          {
+            "namespace": "global",
+            "key": "Color-3",
+            "value": "Beige"
+          },
+          {
+            "namespace": "global",
+            "key": "Style",
+            "value": "Traditional"
+          },
+          {
+            "namespace": "global",
+            "key": "Type",
+            "value": "Geometric"
+          },
+          {
+            "namespace": "global",
+            "key": "Construction",
+            "value": "Non-Woven"
+          },
+          {
+            "namespace": "global",
+            "key": "Usage",
+            "value": "Living Room, Office, Bedroom"
+          },
+          {
+            "namespace": "dwc",
+            "key": "ai_generated_description",
+            "value": "This classic check pattern wallpaper adds a touch of sophistication to any space. The rich burgundy and black hues create a warm and inviting atmosphere, perfect for creating a cozy and stylish interior."
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_name",
+            "value": "Unknown"
+          },
+          {
+            "namespace": "custom",
+            "key": "background_color",
+            "value": "red"
+          },
+          {
+            "namespace": "global",
+            "key": "v_prods_quantity_order_min",
+            "value": "2"
+          },
+          {
+            "namespace": "global",
+            "key": "lead_time",
+            "value": "3-5 Business Days"
+          },
+          {
+            "namespace": "global",
+            "key": "Lead-Time-in-Days",
+            "value": "5"
+          },
+          {
+            "namespace": "global",
+            "key": "Ship-From",
+            "value": "USA"
+          },
+          {
+            "namespace": "global",
+            "key": "Memo-Sample-Available",
+            "value": "Yes"
+          },
+          {
+            "namespace": "global",
+            "key": "DOMESTIC",
+            "value": "Yes"
+          },
+          {
+            "namespace": "global",
+            "key": "Direction",
+            "value": "Up the Bolt"
+          },
+          {
+            "namespace": "global",
+            "key": "Country",
+            "value": "USA"
+          },
+          {
+            "namespace": "global",
+            "key": "Country-of-Origin",
+            "value": "USA"
+          },
+          {
+            "namespace": "global",
+            "key": "COUNTRY_OF_ORIGIN",
+            "value": "USA"
+          },
+          {
+            "namespace": "global",
+            "key": "Bullet-Point-1",
+            "value": "Unknown  Wallcovering by Thibaut"
+          },
+          {
+            "namespace": "global",
+            "key": "Bullet-Point-2",
+            "value": "Premium Thibaut Wallcovering"
+          },
+          {
+            "namespace": "global",
+            "key": "Bullet-Point-3",
+            "value": "Free Samples Available | Ships from USA"
+          },
+          {
+            "namespace": "dwc",
+            "key": "order_unit",
+            "value": "Single Roll"
+          },
+          {
+            "namespace": "global",
+            "key": "design",
+            "value": "Plaid/Check"
+          },
+          {
+            "namespace": "specs",
+            "key": "repeat_v",
+            "value": "21"
+          },
+          {
+            "namespace": "specs",
+            "key": "repeat_h",
+            "value": "20.5"
+          },
+          {
+            "namespace": "custom",
+            "key": "color",
+            "value": "Red"
+          },
+          {
+            "namespace": "custom",
+            "key": "brand",
+            "value": "Thibaut"
+          },
+          {
+            "namespace": "dwc",
+            "key": "brand",
+            "value": "Thibaut"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_repeat",
+            "value": "21"
+          },
+          {
+            "namespace": "custom",
+            "key": "fire_rating",
+            "value": "Inquire for more Information"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_hex",
+            "value": "#822222"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_details",
+            "value": "[{\"name\":\"Garnet\",\"hex\":\"#822222\",\"percentage\":45},{\"name\":\"Black\",\"hex\":\"#191919\",\"percentage\":30},{\"name\":\"Cherry\",\"hex\":\"#A63636\",\"percentage\":15},{\"name\":\"Ecru\",\"hex\":\"#D1C9B5\",\"percentage\":10}]"
+          },
+          {
+            "namespace": "dwc",
+            "key": "collection",
+            "value": "Grassmarket Check Type 2 Red Wallpaper | Thibaut"
+          },
+          {
+            "namespace": "dwc",
+            "key": "manufacturer_sku",
+            "value": "T10204"
+          },
+          {
+            "namespace": "custom",
+            "key": "real_vendor",
+            "value": "Thibaut Design"
+          },
+          {
+            "namespace": "dwc",
+            "key": "repeat",
+            "value": "21"
+          },
+          {
+            "namespace": "custom",
+            "key": "vertical_repeat",
+            "value": "21"
+          },
+          {
+            "namespace": "custom",
+            "key": "horizontal_repeat",
+            "value": "20.5"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_1_hex",
+            "value": "#822222"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_1_percentage",
+            "value": "45.0"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_1_name",
+            "value": "Garnet"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_2_hex",
+            "value": "#191919"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_2_percentage",
+            "value": "30.0"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_2_name",
+            "value": "Black"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_3_hex",
+            "value": "#A63636"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_3_percentage",
+            "value": "15.0"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_3_name",
+            "value": "Cherry"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7864785993779",
+      "title": "Trdd 11362 - Trdd 11362 | Wolf Gordon Wallcoverings",
+      "handle": "trdd-11362-trdd-11362-wolf-gordon-wallcoverings",
+      "vendor": "Wolf Gordon",
+      "status": "DRAFT",
+      "tags": [
+        "display_variant",
+        "Needs-Image",
+        "Textile",
+        "Wolf Gordon"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/44450258452531",
+            "sku": "DWWG-532573",
+            "title": "Yard",
+            "price": "130.32"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44450258485299",
+            "sku": "DWWG-532573-Sample",
+            "title": "Sample",
+            "price": "4.25"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": []
+      },
+      "metafields": {
+        "nodes": [
+          {
+            "namespace": "custom",
+            "key": "width",
+            "value": "54.00 in"
+          },
+          {
+            "namespace": "global",
+            "key": "width",
+            "value": "54.00\""
+          },
+          {
+            "namespace": "global",
+            "key": "material",
+            "value": "Linen/Linen Blend"
+          },
+          {
+            "namespace": "global",
+            "key": "color",
+            "value": "- TRDD 11362"
+          },
+          {
+            "namespace": "global",
+            "key": "Collection",
+            "value": "Textile"
+          },
+          {
+            "namespace": "global",
+            "key": "repeat",
+            "value": "20\""
+          },
+          {
+            "namespace": "global",
+            "key": "title_tag",
+            "value": "Trdd 11362 - - Trdd 11362 Wallcovering by Wolf Gordon Wallcoverings"
+          },
+          {
+            "namespace": "global",
+            "key": "description_tag",
+            "value": "Authorized Dealer of TRDD 11362 by WOLF GORDON WALLCOVERINGS at Designer Wallcoverings"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_name",
+            "value": "TRDD 11362"
+          },
+          {
+            "namespace": "custom",
+            "key": "manufacturer_sku",
+            "value": "TRDD 11362"
+          },
+          {
+            "namespace": "custom",
+            "key": "material",
+            "value": "Linen/Linen Blend"
+          },
+          {
+            "namespace": "custom",
+            "key": "collection_name",
+            "value": "Textile"
+          },
+          {
+            "namespace": "custom",
+            "key": "color",
+            "value": "- TRDD 11362"
+          },
+          {
+            "namespace": "custom",
+            "key": "fire_rating",
+            "value": "ASTM E84 (Adhered) and IBC Section 803.1.2 - Class A | Flame Spread: 20 / Smoke Developed: 35"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_hex",
+            "value": "#F5F5DC"
+          },
+          {
+            "namespace": "dwc",
+            "key": "manufacturer_sku",
+            "value": "TRDD 11362"
+          },
+          {
+            "namespace": "dwc",
+            "key": "pattern_name",
+            "value": "TRDD 11362"
+          },
+          {
+            "namespace": "dwc",
+            "key": "color",
+            "value": "- TRDD 11362"
+          },
+          {
+            "namespace": "dwc",
+            "key": "brand",
+            "value": "Wolf Gordon"
+          },
+          {
+            "namespace": "specs",
+            "key": "style",
+            "value": "Traditional"
+          },
+          {
+            "namespace": "specs",
+            "key": "pattern",
+            "value": "Damask"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_repeat",
+            "value": "Straight Hang/Straight Match (directional)"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7923565559859",
+      "title": "Carnegie Alpine 22 Wallcovering",
+      "handle": "carnegie-alpine-bone-1",
+      "vendor": "Carnegie",
+      "status": "DRAFT",
+      "tags": [
+        "7362wa22",
+        "7362wa22-wallcoverings",
+        "Alpine",
+        "Bone",
+        "Carnegie",
+        "carnegie-split-draft",
+        "display_variant",
+        "Light",
+        "split-batch:TK-10686",
+        "Wallcoverings",
+        "Woven"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/44754597740595",
+            "sku": "DWAG-381610",
+            "title": "Fabric",
+            "price": "52.49"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44754597773363",
+            "sku": "DWAG-381610-sample",
+            "title": "Memo Sample",
+            "price": "4.25"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": [
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/7362a22_repeat_ff287d2c-6324-42c5-8af5-54442376eda9.jpg?v=1787108048"
+          },
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/7362a22_repeat_9ad0f0c7-a840-4067-a9a9-24e66f124e66.jpg?v=1788298243"
+          },
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/7362a23_swatch_1_8cf09dba-6c55-4c7b-a8b0-6c39c6137a5b.jpg?v=1788298242"
+          }
+        ]
+      },
+      "metafields": {
+        "nodes": [
+          {
+            "namespace": "custom",
+            "key": "manufacturer_sku",
+            "value": "7362wa22-wallcoverings"
+          },
+          {
+            "namespace": "dwc",
+            "key": "manufacturer_sku",
+            "value": "7362wa22-wallcoverings"
+          },
+          {
+            "namespace": "global",
+            "key": "Brand",
+            "value": "Carnegie"
+          },
+          {
+            "namespace": "global",
+            "key": "Width",
+            "value": "54\" (137 cm)"
+          },
+          {
+            "namespace": "custom",
+            "key": "Width",
+            "value": "54\" (137 cm)"
+          },
+          {
+            "namespace": "global",
+            "key": "Content",
+            "value": "100% Polypropylene"
+          },
+          {
+            "namespace": "global",
+            "key": "Contents",
+            "value": "100% Polypropylene"
+          },
+          {
+            "namespace": "global",
+            "key": "Cleaning Code",
+            "value": "WS & BC - Water/Solvent & Bleach Cleanable"
+          },
+          {
+            "namespace": "custom",
+            "key": "Cleaning Code",
+            "value": "WS & BC - Water/Solvent & Bleach Cleanable"
+          },
+          {
+            "namespace": "global",
+            "key": "Finish",
+            "value": "Finish-Free"
+          },
+          {
+            "namespace": "global",
+            "key": "Backing",
+            "value": "Heavy Acrylic Heavy Acrylic: This backing provides a coating to enhance adhesion and prevent bleed through of adhesives and is preferred for heavier duty installs such as moveable wall systems."
+          },
+          {
+            "namespace": "custom",
+            "key": "Backing",
+            "value": "Heavy Acrylic Heavy Acrylic: This backing provides a coating to enhance adhesion and prevent bleed through of adhesives and is preferred for heavier duty installs such as moveable wall systems."
+          },
+          {
+            "namespace": "global",
+            "key": "Flammability",
+            "value": "ASTM E84 Class A / Class 1"
+          },
+          {
+            "namespace": "custom",
+            "key": "Flammability",
+            "value": "ASTM E84 Class A / Class 1"
+          },
+          {
+            "namespace": "global",
+            "key": "Origin",
+            "value": "Denmark"
+          },
+          {
+            "namespace": "custom",
+            "key": "Origin",
+            "value": "Denmark"
+          },
+          {
+            "namespace": "global",
+            "key": "Country of Origin",
+            "value": "Denmark"
+          },
+          {
+            "namespace": "custom",
+            "key": "Country of Origin",
+            "value": "Denmark"
+          },
+          {
+            "namespace": "global",
+            "key": "Type",
+            "value": "Wallcoverings"
+          },
+          {
+            "namespace": "custom",
+            "key": "Color",
+            "value": "Bone"
+          },
+          {
+            "namespace": "global",
+            "key": "Color",
+            "value": "Bone"
+          },
+          {
+            "namespace": "custom",
+            "key": "Color Hex",
+            "value": "#e7ddc9"
+          },
+          {
+            "namespace": "custom",
+            "key": "swatch_hex",
+            "value": "#e7ddc9"
+          },
+          {
+            "namespace": "dwc",
+            "key": "dw_sku",
+            "value": "DWAG-381610"
+          },
+          {
+            "namespace": "dwc",
+            "key": "pattern_name",
+            "value": "Alpine"
+          },
+          {
+            "namespace": "dwc",
+            "key": "width",
+            "value": "54\" (137 cm)"
+          },
+          {
+            "namespace": "dwc",
+            "key": "content",
+            "value": "100% Polypropylene"
+          },
+          {
+            "namespace": "dwc",
+            "key": "finish",
+            "value": "Finish-Free"
+          },
+          {
+            "namespace": "dwc",
+            "key": "backing",
+            "value": "Heavy Acrylic Heavy Acrylic: This backing provides a coating to enhance adhesion and prevent bleed through of adhesives and is preferred for heavier duty installs such as moveable wall systems."
+          },
+          {
+            "namespace": "dwc",
+            "key": "cleaning_code",
+            "value": "WS & BC - Water/Solvent & Bleach Cleanable"
+          },
+          {
+            "namespace": "dwc",
+            "key": "flammability",
+            "value": "ASTM E84 Class A / Class 1"
+          },
+          {
+            "namespace": "dwc",
+            "key": "origin",
+            "value": "Denmark"
+          },
+          {
+            "namespace": "dwc",
+            "key": "product_type",
+            "value": "Wallcoverings"
+          },
+          {
+            "namespace": "custom",
+            "key": "brand",
+            "value": "Carnegie"
+          },
+          {
+            "namespace": "custom",
+            "key": "real_vendor",
+            "value": "Carnegie"
+          },
+          {
+            "namespace": "custom",
+            "key": "manufacturer_specs",
+            "value": "{\"manufacturer\":\"Carnegie\",\"manufacturer_sku\":\"7362wa22-wallcoverings\",\"source_url\":\"https://carnegiefabrics.com/alpine-7362-wallcoverings\",\"specs\":{\"Type\":\"Modernfold Pre-Approved Skyfold Pre-Approved\",\"Width\":\"54\\\" (137 cm)\",\"Backing\":\"Heavy Acrylic Heavy Acrylic: This backing provides a coating to enhance adhesion and prevent bleed through of adhesives and is preferred for heavier duty installs such as moveable wall systems.\",\"Free of\":\"PVC Red List Chemicals Stain resistant finishes\",\"Contents\":\"100% Polypropylene\",\"Warranty\":\"10 years\",\"ACT Symbols\":\"\",\"Flammability\":\"ASTM E84 Class A / Class 1\",\"Cleaning Code\":\"WS & BC - Water/Solvent & Bleach Cleanable\",\"Backing Note(s)\":\"Heavy Acrylic: This backing provides a coating to enhance adhesion and prevent bleed through of adhesives and is preferred for heavier duty installs such as moveable wall systems.\",\"Manufactured In\":\"Denmark\",\"Backing (as stocked)\":\"Heavy Acrylic Heavy Acrylic: This backing provides a coating to enhance adhesion and prevent bleed through of adhesives and is preferred for heavier duty installs such as moveable wall systems.\",\"Finish/es (as stocked)\":\"Finish-Free\",\"Weight per Linear Yard\":\"11.8 oz\",\"Standards and Certifications\":\"HHI (Healthier Hospitals Initiative) Kaiser Permanente LEED Mindful Materials\",\"Product Specifications Spec Sheet Health Product Declaration Download Product HPD Cleaning Documents Maintenance and Cleaning Instructions Flame Certificates ASTM e84 Install Documents Durable Woven Acrylic Backed Wallcovering Installation Instructions Programs/ Partnerships Programs\":\"Modernfold Pre-Approvals Skyfold Pre-Approvals GSA Advantage\"}}"
+          },
+          {
+            "namespace": "carnegie",
+            "key": "manufacturer_sku",
+            "value": "7362wa22-wallcoverings"
+          },
+          {
+            "namespace": "carnegie",
+            "key": "source_url",
+            "value": "https://carnegiefabrics.com/alpine-7362-wallcoverings"
+          },
+          {
+            "namespace": "carnegie",
+            "key": "type",
+            "value": "Modernfold Pre-Approved Skyfold Pre-Approved"
+          },
+          {
+            "namespace": "carnegie",
+            "key": "width",
+            "value": "54\" (137 cm)"
+          },
+          {
+            "namespace": "carnegie",
+            "key": "backing",
+            "value": "Heavy Acrylic Heavy Acrylic: This backing provides a coating to enhance adhesion and prevent bleed through of adhesives and is preferred for heavier duty installs such as moveable wall systems."
+          },
+          {
+            "namespace": "carnegie",
+            "key": "free_of",
+            "value": "PVC Red List Chemicals Stain resistant finishes"
+          },
+          {
+            "namespace": "carnegie",
+            "key": "contents",
+            "value": "100% Polypropylene"
+          },
+          {
+            "namespace": "carnegie",
+            "key": "warranty",
+            "value": "10 years"
+          },
+          {
+            "namespace": "carnegie",
+            "key": "flammability",
+            "value": "ASTM E84 Class A / Class 1"
+          },
+          {
+            "namespace": "carnegie",
+            "key": "cleaning_code",
+            "value": "WS & BC - Water/Solvent & Bleach Cleanable"
+          },
+          {
+            "namespace": "carnegie",
+            "key": "backing_note_s",
+            "value": "Heavy Acrylic: This backing provides a coating to enhance adhesion and prevent bleed through of adhesives and is preferred for heavier duty installs such as moveable wall systems."
+          },
+          {
+            "namespace": "carnegie",
+            "key": "manufactured_in",
+            "value": "Denmark"
+          },
+          {
+            "namespace": "carnegie",
+            "key": "backing_as_stocked",
+            "value": "Heavy Acrylic Heavy Acrylic: This backing provides a coating to enhance adhesion and prevent bleed through of adhesives and is preferred for heavier duty installs such as moveable wall systems."
+          },
+          {
+            "namespace": "carnegie",
+            "key": "finish_es_as_stocked",
+            "value": "Finish-Free"
+          },
+          {
+            "namespace": "carnegie",
+            "key": "weight_per_linear_yard",
+            "value": "11.8 oz"
+          },
+          {
+            "namespace": "carnegie",
+            "key": "standards_and_certifications",
+            "value": "HHI (Healthier Hospitals Initiative) Kaiser Permanente LEED Mindful Materials"
+          },
+          {
+            "namespace": "carnegie",
+            "key": "product_specifications_spec_sheet_health_produ_e49d2928",
+            "value": "Modernfold Pre-Approvals Skyfold Pre-Approvals GSA Advantage"
+          },
+          {
+            "namespace": "custom",
+            "key": "material",
+            "value": "100% Polypropylene"
+          },
+          {
+            "namespace": "custom",
+            "key": "fire_rating",
+            "value": "ASTM E84 Class A / Class 1"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7896452530227",
+      "title": "Velvet Marble",
+      "handle": "velvet-marble",
+      "vendor": "Christian Fischbacher",
+      "status": "DRAFT",
+      "tags": [
+        "Christian Fischbacher",
+        "Fabric",
+        "Fischbacher-staged-2026-07"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/44585580855347",
+            "sku": "14485.504",
+            "title": "504",
+            "price": "0.00"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44585580888115",
+            "sku": "14485.505",
+            "title": "505",
+            "price": "0.00"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44585580920883",
+            "sku": "14485.507",
+            "title": "507",
+            "price": "0.00"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44585580953651",
+            "sku": "14485.515",
+            "title": "515",
+            "price": "0.00"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": [
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/velvet_marble_14485_504_1.jpg?v=1784738941"
+          },
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/velvet_marble_14485_504_emotion_1.jpg?v=1784738941"
+          },
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/fischbacher_fabric_vogue_marble_persiac_aufwind_senso_velvetray_velvetpixwl_stardust_polaris_jamila_l_rgb_2.jpg?v=1784738941"
+          }
+        ]
+      },
+      "metafields": {
+        "nodes": [
+          {
+            "namespace": "fischbacher",
+            "key": "mfr_sku",
+            "value": "14485"
+          },
+          {
+            "namespace": "fischbacher",
+            "key": "line",
+            "value": "Christian Fischbacher"
+          },
+          {
+            "namespace": "fischbacher",
+            "key": "source_pdp",
+            "value": "https://fischbacher1819.com/velvet-marble-14485.html"
+          },
+          {
+            "namespace": "enrich",
+            "key": "palette",
+            "value": "[{\"hex\":\"#abb4ab\",\"name\":\"Ash\",\"bucket\":\"Gray\",\"pct\":27},{\"hex\":\"#a6b0a6\",\"name\":\"Celadon\",\"bucket\":\"Green\",\"pct\":26},{\"hex\":\"#c6cbc2\",\"name\":\"Silver\",\"bucket\":\"Gray\",\"pct\":14},{\"hex\":\"#bbc1b7\",\"name\":\"Pebble\",\"bucket\":\"Neutral\",\"pct\":13},{\"hex\":\"#daddd5\",\"name\":\"Platinum\",\"bucket\":\"Gray\",\"pct\":11},{\"hex\":\"#9aa59b\",\"name\":\"Smoke\",\"bucket\":\"Gray\",\"pct\":10}]"
+          },
+          {
+            "namespace": "enrich",
+            "key": "color_primary",
+            "value": "Ash"
+          },
+          {
+            "namespace": "enrich",
+            "key": "color_bucket",
+            "value": "Gray"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7867560919091",
+      "title": "Cork, Metallic Wallcoverings | Designtex",
+      "handle": "cork-metallic-dwdx-220335",
+      "vendor": "Designtex",
+      "status": "DRAFT",
+      "tags": [
+        "Collection: Biophilia",
+        "Designtex",
+        "display_variant",
+        "Metallic",
+        "Needs-Description",
+        "Priced Per Yard",
+        "Wallcovering"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/44462676934707",
+            "sku": "DWDX-220335",
+            "title": "Sold Per Yard",
+            "price": "39.82"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44462676967475",
+            "sku": "DWDX-220335-Sample",
+            "title": "Sample",
+            "price": "4.25"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": [
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/8260101__61450.1712930573.jpg?v=1782351625"
+          }
+        ]
+      },
+      "metafields": {
+        "nodes": [
+          {
+            "namespace": "custom",
+            "key": "manufacturer_sku",
+            "value": "8260101"
+          },
+          {
+            "namespace": "global",
+            "key": "manufacturer_sku",
+            "value": "8260101"
+          },
+          {
+            "namespace": "global",
+            "key": "Brand",
+            "value": "Designtex"
+          },
+          {
+            "namespace": "global",
+            "key": "dw_sku",
+            "value": "DWDX-220335"
+          },
+          {
+            "namespace": "global",
+            "key": "width",
+            "value": "54 Inches"
+          },
+          {
+            "namespace": "custom",
+            "key": "width",
+            "value": "54 Inches"
+          },
+          {
+            "namespace": "global",
+            "key": "pattern_name",
+            "value": "Cork"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_name",
+            "value": "Cork"
+          },
+          {
+            "namespace": "custom",
+            "key": "color",
+            "value": "Metallic"
+          },
+          {
+            "namespace": "global",
+            "key": "color",
+            "value": "Metallic"
+          },
+          {
+            "namespace": "dwc",
+            "key": "color",
+            "value": "Metallic"
+          },
+          {
+            "namespace": "global",
+            "key": "material",
+            "value": "100% Vinyl (without Prop 65 Phthalates)"
+          },
+          {
+            "namespace": "custom",
+            "key": "material",
+            "value": "100% Vinyl (without Prop 65 Phthalates)"
+          },
+          {
+            "namespace": "custom",
+            "key": "collection_name",
+            "value": "Biophilia"
+          },
+          {
+            "namespace": "custom",
+            "key": "cost",
+            "value": "22.0"
+          },
+          {
+            "namespace": "custom",
+            "key": "price_updated_at",
+            "value": "2026-06-25"
+          },
+          {
+            "namespace": "global",
+            "key": "unit_of_measure",
+            "value": "YARD"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7582548066355",
+      "title": "Hideo Bamboo Vintage 1970'S Mylar Chinoiserie | Architectural Wallcoverings",
+      "handle": "dig_74754_vintage_wallpaper_designer_wallpapers",
+      "vendor": "DW Bespoke Studio",
+      "status": "DRAFT",
+      "tags": [
+        "AI-Analyzed-v2",
+        "Architectural",
+        "Art Deco",
+        "Bedroom",
+        "Black",
+        "Botanical",
+        "Chinoiserie",
+        "Class A Fire Rated",
+        "Commercial",
+        "Custom Wallcovering",
+        "Dining Room",
+        "display_variant",
+        "DW Bespoke Studio",
+        "DW Bespoke Studios To Go",
+        "Floral",
+        "Glamorous",
+        "Hideo Bamboo Vintage 1970'S Mylar Chinoiserie",
+        "Light Blue",
+        "Light Cyan",
+        "Lilac",
+        "Mylar",
+        "Orchid Pink",
+        "Pink",
+        "Powder Room",
+        "Retro",
+        "Showroom Line",
+        "Sophisticated",
+        "Vinyl",
+        "Wallcovering"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/43321302351923",
+            "sku": "@gpt(\"Write a 5 line product description in the voice of an architectural digest journalist talking to high end interior designers and architects emphasizing DW Bespoke Studio Custom Capablities\"&",
+            "title": "2ft x 1ft Sample",
+            "price": "12.00"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": [
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/Authentic_Reproduction_1970s_Mylar_Wallpaper-74754_12b0c481-18a4-4e3b-83f0-e4f85b12d1d4.jpg?v=1756707131"
+          }
+        ]
+      },
+      "metafields": {
+        "nodes": [
+          {
+            "namespace": "global",
+            "key": "description_tag",
+            "value": "Complimentary Samples and Design Trade Pricing. Our professional sales staff at Designer Wallcoverings is here to assist with all of your interior designer product needs. We offer one stop purchasing of the most well respected names in the design trade as well as our own collections. 1-888-373-4564"
+          },
+          {
+            "namespace": "mc-facebook",
+            "key": "google_product_category",
+            "value": "2334"
+          },
+          {
+            "namespace": "global",
+            "key": "Brand",
+            "value": "DW Bespoke Studios"
+          },
+          {
+            "namespace": "global",
+            "key": "v_prods_quantity_order_units",
+            "value": "2"
+          },
+          {
+            "namespace": "global",
+            "key": "v_prods_quantity_order_min",
+            "value": "2"
+          },
+          {
+            "namespace": "global",
+            "key": "lead_time",
+            "value": "1-2 week for printing - Qty Pric"
+          },
+          {
+            "namespace": "global",
+            "key": "unit_of_measure",
+            "value": "Sold Per Unit"
+          },
+          {
+            "namespace": "global",
+            "key": "width",
+            "value": "24\""
+          },
+          {
+            "namespace": "global",
+            "key": "title",
+            "value": "Hideo Bamboo Vintage 1970'S Mylar Wallpaper | DW Bespoke Studios To Go"
+          },
+          {
+            "namespace": "custom",
+            "key": "collection_name",
+            "value": "Hideo Bamboo Vintage 1970'S Mylar Wallpaper | DW Bespoke Studios To Go"
+          },
+          {
+            "namespace": "global",
+            "key": "title_tag",
+            "value": "Hideo Bamboo Vintage 1970'S Mylar Wallcovering by DW Bespoke S..."
+          },
+          {
+            "namespace": "custom",
+            "key": "color_details",
+            "value": "[{\"name\":\"Lilac\",\"hex\":\"#cba6c5\",\"pct\":30},{\"name\":\"Black\",\"hex\":\"#2f2a28\",\"pct\":27},{\"name\":\"Jet\",\"hex\":\"#121214\",\"pct\":18},{\"name\":\"Alabaster\",\"hex\":\"#d7e4eb\",\"pct\":10},{\"name\":\"Violet\",\"hex\":\"#896d89\",\"pct\":9},{\"name\":\"Aubergine\",\"hex\":\"#483342\",\"pct\":6}]"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_hex",
+            "value": "#CBA4C5"
+          },
+          {
+            "namespace": "custom",
+            "key": "brand",
+            "value": "DW Bespoke Studios"
+          },
+          {
+            "namespace": "custom",
+            "key": "width",
+            "value": "24\""
+          },
+          {
+            "namespace": "dwc",
+            "key": "width",
+            "value": "24\""
+          },
+          {
+            "namespace": "dwc",
+            "key": "collection",
+            "value": "Hideo Bamboo Vintage 1970'S Mylar Wallpaper | DW Bespoke Studios To Go"
+          },
+          {
+            "namespace": "dwc",
+            "key": "brand",
+            "value": "DW Bespoke Studio"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_1_hex",
+            "value": "#CBA4C5"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_1_percentage",
+            "value": "17.4"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_1_name",
+            "value": "Lilac"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_2_hex",
+            "value": "#252425"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_2_percentage",
+            "value": "17.0"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_2_name",
+            "value": "Onyx"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_3_hex",
+            "value": "#0E0D0F"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_3_percentage",
+            "value": "12.6"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_3_name",
+            "value": "Black"
+          },
+          {
+            "namespace": "custom",
+            "key": "hue_coverage",
+            "value": "{\"red\":0.7,\"orange\":0.0,\"yellow\":0.1,\"green\":1.8,\"teal\":4.0,\"blue\":4.3,\"purple\":23.0,\"pink\":20.7,\"brown\":3.8,\"gold\":0.9,\"beige\":1.1,\"white\":7.8,\"black\":33.8,\"gray\":6.2}"
+          },
+          {
+            "namespace": "custom",
+            "key": "cov_black",
+            "value": "33.8"
+          },
+          {
+            "namespace": "custom",
+            "key": "cov_pink",
+            "value": "20.7"
+          },
+          {
+            "namespace": "custom",
+            "key": "showroom_line",
+            "value": "true"
+          },
+          {
+            "namespace": "custom",
+            "key": "material_category",
+            "value": "Mylar"
+          },
+          {
+            "namespace": "custom",
+            "key": "product_class",
+            "value": "Wallcovering"
+          },
+          {
+            "namespace": "custom",
+            "key": "material_tagged_at",
+            "value": "2026-07-28T03:43:02Z"
+          },
+          {
+            "namespace": "custom",
+            "key": "style_tagged_at",
+            "value": "2026-07-28T13:44:11Z"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_normalized_at",
+            "value": "2026-07-28T15:44:25Z"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_palette",
+            "value": "[{\"hex\":\"#161718\",\"pct\":27.3},{\"hex\":\"#DDA0D3\",\"pct\":15.8},{\"hex\":\"#2C2D2B\",\"pct\":13.5},{\"hex\":\"#86758A\",\"pct\":7.2},{\"hex\":\"#603F5C\",\"pct\":6.6},{\"hex\":\"#EFF5F6\",\"pct\":6.3},{\"hex\":\"#B9C9D6\",\"pct\":6.3},{\"hex\":\"#715771\",\"pct\":6.2}]"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7948443582515",
+      "title": "Castagneto Cream Grasscloth Wallcovering | Fentucci",
+      "handle": "castagneto-cream-grasscloth-wallcovering-fentucci",
+      "vendor": "Fentucci",
+      "status": "DRAFT",
+      "tags": [
+        "color:Cream",
+        "display_variant",
+        "Fentucci",
+        "Grasscloth",
+        "Natural Wallcovering",
+        "Needs-Image",
+        "TWIL Naturals"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/44831601033267",
+            "sku": "GRS-26270",
+            "title": "Per Yard",
+            "price": "32.85"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44831601066035",
+            "sku": "GRS-26270-Sample",
+            "title": "Sample",
+            "price": "4.25"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": []
+      },
+      "metafields": {
+        "nodes": [
+          {
+            "namespace": "global",
+            "key": "width",
+            "value": "36\" Wide (trim to 34\")"
+          },
+          {
+            "namespace": "global",
+            "key": "unit_of_measure",
+            "value": "Priced Per Yard"
+          },
+          {
+            "namespace": "global",
+            "key": "Content",
+            "value": "Natural Grasscloth"
+          },
+          {
+            "namespace": "global",
+            "key": "Brand",
+            "value": "Fentucci"
+          },
+          {
+            "namespace": "global",
+            "key": "Collection",
+            "value": "TWIL Naturals"
+          },
+          {
+            "namespace": "custom",
+            "key": "manufacturer_sku",
+            "value": "FAB257"
+          },
+          {
+            "namespace": "dwc",
+            "key": "manufacturer_sku",
+            "value": "FAB257"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_name",
+            "value": "Castagneto"
+          },
+          {
+            "namespace": "dwc",
+            "key": "pattern_name",
+            "value": "Castagneto"
+          },
+          {
+            "namespace": "dwc",
+            "key": "order_unit",
+            "value": "Yard"
+          },
+          {
+            "namespace": "dwc",
+            "key": "width",
+            "value": "36\" Wide (trim to 34\")"
+          },
+          {
+            "namespace": "custom",
+            "key": "width",
+            "value": "36\" Wide (trim to 34\")"
+          },
+          {
+            "namespace": "global",
+            "key": "length",
+            "value": "8 Yards"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7902340055091",
+      "title": "Blanc De Blanc | Greenland",
+      "handle": "blanc-de-blanc-greenland",
+      "vendor": "Greenland",
+      "status": "DRAFT",
+      "tags": [
+        "Cork",
+        "Greenland",
+        "Needs-Price",
+        "quotes",
+        "Wallcovering"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/44606040080435",
+            "sku": "DWGL-H192NQ8310",
+            "title": "Roll",
+            "price": "0.00"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44606040113203",
+            "sku": "DWGL-H192NQ8310-Sample",
+            "title": "Sample",
+            "price": "4.25"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": [
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/H192NQ8310_e2a90e12-f38c-4d18-b189-186b8ab9a75c.jpg?v=1785395420"
+          }
+        ]
+      },
+      "metafields": {
+        "nodes": [
+          {
+            "namespace": "custom",
+            "key": "pattern_name",
+            "value": "Blanc de blanc"
+          },
+          {
+            "namespace": "custom",
+            "key": "material",
+            "value": "Cork"
+          },
+          {
+            "namespace": "specs",
+            "key": "composition",
+            "value": "CORK 100%"
+          },
+          {
+            "namespace": "custom",
+            "key": "width",
+            "value": "91.5 cm/36''"
+          },
+          {
+            "namespace": "custom",
+            "key": "min_order",
+            "value": "5.5 meters / 6 yards"
+          },
+          {
+            "namespace": "global",
+            "key": "Substrate",
+            "value": "Non Woven"
+          },
+          {
+            "namespace": "custom",
+            "key": "fire_rating",
+            "value": "ASTM E84 Class A"
+          },
+          {
+            "namespace": "custom",
+            "key": "manufacturer_sku",
+            "value": "H192NQ8310"
+          },
+          {
+            "namespace": "global",
+            "key": "Brand",
+            "value": "Greenland"
+          },
+          {
+            "namespace": "global",
+            "key": "unit_of_measure",
+            "value": "Priced Per Roll (Quote)"
+          },
+          {
+            "namespace": "global",
+            "key": "width_inches",
+            "value": "36.0"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7943214694451",
+      "title": "Hide And Seek Linen/Duck Egg/Stone | Harlequin",
+      "handle": "hide-and-seek-linen-duck-egg-stone-harlequin",
+      "vendor": "Harlequin",
+      "status": "DRAFT",
+      "tags": [
+        "Collection-Book-Of-Little-Treasures-Wallpapers",
+        "DWHA",
+        "Harlequin",
+        "harlequin-onboard-2026",
+        "Needs-Width",
+        "wallcovering"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/44815912370227",
+            "sku": "DWHA-570297",
+            "title": "Single Roll",
+            "price": "168.33"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44815912402995",
+            "sku": "DWHA-570297-Sample",
+            "title": "Sample",
+            "price": "4.25"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": [
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/DWHA-570297.jpg?v=1788436844"
+          }
+        ]
+      },
+      "metafields": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7519945588787",
+      "title": "Subtle Leaf Gold - Gold Commercial Wallcovering | Koroseal",
+      "handle": "dwk-29001-tak-aa01-02-designer-wallcoverings-los-angeles",
+      "vendor": "Koroseal",
+      "status": "DRAFT",
+      "tags": [
+        "2026 Inventory",
+        "Architectural Wallcoverings",
+        "Bedroom",
+        "Black",
+        "Brass",
+        "Brown",
+        "Class A Fire Rated",
+        "Commercial Wallcovering",
+        "Contemporary",
+        "display_variant",
+        "DWK-29001",
+        "Exquisite Foils",
+        "Geometric",
+        "Glamorous",
+        "Gold",
+        "Gold Leaf",
+        "Honey",
+        "Hotel Lobby",
+        "Living Room",
+        "Luxe",
+        "Luxurious",
+        "Metal Leaf",
+        "Metallic Foil",
+        "Modern",
+        "Organic Modern",
+        "quotes",
+        "Showroom Line",
+        "TAK-AA01-02",
+        "Tile",
+        "Wallcovering",
+        "Yellow"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/43931273396275",
+            "sku": "DWK-29001",
+            "title": "Default Title",
+            "price": "4.25"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": [
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/TAKUMI-ROOMSET_TAK-AA01-02__FOIL.jpg?v=1739409073"
+          },
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/room-living_room-dwk-29001-tak-aa01-02-designer-wallcoverings-los-angeles.jpg?v=1775756632"
+          }
+        ]
+      },
+      "metafields": {
+        "nodes": [
+          {
+            "namespace": "global",
+            "key": "description_tag",
+            "value": "Architectural wallcoverings for commercial and high-end interiors. Specification-grade materials from your one stop resource for over 20 years."
+          },
+          {
+            "namespace": "mc-facebook",
+            "key": "google_product_category",
+            "value": "2334"
+          },
+          {
+            "namespace": "custom",
+            "key": "product_category",
+            "value": "Home & Garden > Building Materials"
+          },
+          {
+            "namespace": "dwc",
+            "key": "background_color",
+            "value": "Gold"
+          },
+          {
+            "namespace": "dwc",
+            "key": "pattern_name",
+            "value": "Subtle Leaf"
+          },
+          {
+            "namespace": "dwc",
+            "key": "real_vendor",
+            "value": "Koroseal"
+          },
+          {
+            "namespace": "dwc",
+            "key": "brand",
+            "value": "Koroseal"
+          },
+          {
+            "namespace": "global",
+            "key": "lead_time",
+            "value": "3-5 Business Days"
+          },
+          {
+            "namespace": "global",
+            "key": "v_prods_quantity_order_min",
+            "value": "2"
+          },
+          {
+            "namespace": "global",
+            "key": "v_prods_quantity_order_units",
+            "value": "2"
+          },
+          {
+            "namespace": "global",
+            "key": "Brand",
+            "value": "Koroseal"
+          },
+          {
+            "namespace": "global",
+            "key": "SubBrand",
+            "value": "Koroseal"
+          },
+          {
+            "namespace": "global",
+            "key": "Designer",
+            "value": "LUZ1-11"
+          },
+          {
+            "namespace": "global",
+            "key": "Backing",
+            "value": "Paper"
+          },
+          {
+            "namespace": "global",
+            "key": "Fire-Rating",
+            "value": "Class A, ASTM E-84"
+          },
+          {
+            "namespace": "global",
+            "key": "Composition",
+            "value": "Brass"
+          },
+          {
+            "namespace": "global",
+            "key": "width",
+            "value": "36.2 in. (92 cm.)"
+          },
+          {
+            "namespace": "global",
+            "key": "length",
+            "value": "8.1 yards (7.4 m.)"
+          },
+          {
+            "namespace": "global",
+            "key": "repeat",
+            "value": "N/A"
+          },
+          {
+            "namespace": "global",
+            "key": "Vert-Rpt",
+            "value": "N/A"
+          },
+          {
+            "namespace": "global",
+            "key": "Horz-Rpt",
+            "value": "N/A"
+          },
+          {
+            "namespace": "global",
+            "key": "MATCH",
+            "value": "Approximate Match"
+          },
+          {
+            "namespace": "global",
+            "key": "Type",
+            "value": "Exquisite Foils"
+          },
+          {
+            "namespace": "dwc",
+            "key": "color",
+            "value": "Gold"
+          },
+          {
+            "namespace": "global",
+            "key": "title_tag",
+            "value": "Subtle Leaf Gold (TAK-AA01-02) | Architectural Wallcoverings"
+          },
+          {
+            "namespace": "custom",
+            "key": "manufacturer_sku",
+            "value": "TAK-AA01-02"
+          },
+          {
+            "namespace": "dwc",
+            "key": "manufacturer_sku",
+            "value": "TAK-AA01-02"
+          },
+          {
+            "namespace": "specs",
+            "key": "width",
+            "value": "36.2 in. (92 cm.)"
+          },
+          {
+            "namespace": "specs",
+            "key": "material",
+            "value": "Brass"
+          },
+          {
+            "namespace": "specs",
+            "key": "pattern_repeat",
+            "value": "N/A"
+          },
+          {
+            "namespace": "specs",
+            "key": "roll_length",
+            "value": "8.1 yards (7.4 m.)"
+          },
+          {
+            "namespace": "specs",
+            "key": "collection",
+            "value": "Koroseal"
+          },
+          {
+            "namespace": "specs",
+            "key": "fire_rating_us",
+            "value": "Class A, ASTM E-84"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_name",
+            "value": "Subtle Leaf Gold"
+          },
+          {
+            "namespace": "custom",
+            "key": "width",
+            "value": "36.2 in. (92 cm.)"
+          },
+          {
+            "namespace": "custom",
+            "key": "collection_name",
+            "value": "Koroseal"
+          },
+          {
+            "namespace": "custom",
+            "key": "material",
+            "value": "Brass"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_repeat",
+            "value": "0"
+          },
+          {
+            "namespace": "global",
+            "key": "fire_rating",
+            "value": "Class A, ASTM E-84"
+          },
+          {
+            "namespace": "global",
+            "key": "Collection",
+            "value": "Koroseal"
+          },
+          {
+            "namespace": "custom",
+            "key": "fire_rating",
+            "value": "Class A, ASTM E-84"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_details",
+            "value": "[{\"name\":\"Ochre\",\"hex\":\"#B88E45\",\"percentage\":15.6},{\"name\":\"Espresso\",\"hex\":\"#3B290E\",\"percentage\":14.2},{\"name\":\"Sienna\",\"hex\":\"#A37331\",\"percentage\":13.7},{\"name\":\"Chocolate\",\"hex\":\"#543F20\",\"percentage\":13.1},{\"name\":\"Brown\",\"hex\":\"#6E491D\",\"percentage\":12.1},{\"name\":\"Tobacco\",\"hex\":\"#826033\",\"percentage\":11.4},{\"name\":\"Black\",\"hex\":\"#110D06\",\"percentage\":10.5},{\"name\":\"Sand\",\"hex\":\"#DDC790\",\"percentage\":9.4}]"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_hex",
+            "value": "#B88E45"
+          },
+          {
+            "namespace": "specs",
+            "key": "style",
+            "value": "modern"
+          },
+          {
+            "namespace": "custom",
+            "key": "brand",
+            "value": "Koroseal"
+          },
+          {
+            "namespace": "custom",
+            "key": "color",
+            "value": "Gold"
+          },
+          {
+            "namespace": "dwc",
+            "key": "width",
+            "value": "36.2 in. (92 cm.)"
+          },
+          {
+            "namespace": "dwc",
+            "key": "repeat",
+            "value": "0"
+          },
+          {
+            "namespace": "dwc",
+            "key": "contents",
+            "value": "Brass"
+          },
+          {
+            "namespace": "custom",
+            "key": "real_vendor",
+            "value": "Koroseal"
+          },
+          {
+            "namespace": "dwc",
+            "key": "collection",
+            "value": "Koroseal"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_1_hex",
+            "value": "#B88E45"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_1_percentage",
+            "value": "15.6"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_1_name",
+            "value": "Ochre"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_2_hex",
+            "value": "#3B290E"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_2_percentage",
+            "value": "14.2"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_2_name",
+            "value": "Espresso"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_3_hex",
+            "value": "#A37331"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_3_percentage",
+            "value": "13.7"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_3_name",
+            "value": "Sienna"
+          },
+          {
+            "namespace": "custom",
+            "key": "hue_coverage",
+            "value": "{\"red\":52.1,\"orange\":45.6,\"yellow\":3.1,\"green\":0.2,\"teal\":0.1,\"blue\":0.0,\"purple\":0.0,\"pink\":0.0,\"brown\":46.0,\"gold\":24.1,\"beige\":4.0,\"white\":2.9,\"black\":16.9,\"gray\":1.3}"
+          },
+          {
+            "namespace": "custom",
+            "key": "cov_yellow",
+            "value": "3.1"
+          },
+          {
+            "namespace": "custom",
+            "key": "cov_gold",
+            "value": "24.1"
+          },
+          {
+            "namespace": "custom",
+            "key": "cov_black",
+            "value": "16.9"
+          },
+          {
+            "namespace": "custom",
+            "key": "showroom_line",
+            "value": "true"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_id",
+            "value": "koroseal::t2::subtle leaf"
+          },
+          {
+            "namespace": "custom",
+            "key": "material_category",
+            "value": "Metallic"
+          },
+          {
+            "namespace": "custom",
+            "key": "product_class",
+            "value": "Wallcovering"
+          },
+          {
+            "namespace": "custom",
+            "key": "style_tagged_at",
+            "value": "2026-07-28T13:44:11Z"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_normalized_at",
+            "value": "2026-07-28T15:44:25Z"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_palette",
+            "value": "[{\"hex\":\"#674319\",\"pct\":27.9},{\"hex\":\"#9D6C2E\",\"pct\":20.0},{\"hex\":\"#442C0B\",\"pct\":13.7},{\"hex\":\"#C29545\",\"pct\":12.9},{\"hex\":\"#7D5A2C\",\"pct\":7.1},{\"hex\":\"#D0B167\",\"pct\":6.7},{\"hex\":\"#E8DBB7\",\"pct\":6.5},{\"hex\":\"#211708\",\"pct\":5.2}]"
+          },
+          {
+            "namespace": "custom",
+            "key": "is_commercial",
+            "value": "true"
+          },
+          {
+            "namespace": "custom",
+            "key": "market_segment",
+            "value": "Commercial"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7876272390195",
+      "title": "Amir, Dove Wallcoverings | Malibu Wallcovering",
+      "handle": "amir-dove-dwbr-170924",
+      "vendor": "Malibu Wallpaper",
+      "status": "DRAFT",
+      "tags": [
+        "Collection: Textures & Wovens Resource",
+        "display_variant",
+        "Dove",
+        "Malibu Wallpaper",
+        "Needs-Image",
+        "Priced Per Single Roll",
+        "Wallcovering"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/44490391322675",
+            "sku": "DWBR-170924",
+            "title": "Single Roll",
+            "price": "19.91"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44490391355443",
+            "sku": "DWBR-170924-Sample",
+            "title": "Sample",
+            "price": "4.25"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": []
+      },
+      "metafields": {
+        "nodes": [
+          {
+            "namespace": "custom",
+            "key": "manufacturer_sku",
+            "value": "4195-5346"
+          },
+          {
+            "namespace": "global",
+            "key": "manufacturer_sku",
+            "value": "4195-5346"
+          },
+          {
+            "namespace": "global",
+            "key": "Brand",
+            "value": "Malibu Wallpaper"
+          },
+          {
+            "namespace": "global",
+            "key": "dw_sku",
+            "value": "DWBR-170924"
+          },
+          {
+            "namespace": "global",
+            "key": "width",
+            "value": "54 Inches"
+          },
+          {
+            "namespace": "custom",
+            "key": "width",
+            "value": "54 Inches"
+          },
+          {
+            "namespace": "global",
+            "key": "pattern_name",
+            "value": "Amir"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_name",
+            "value": "Amir"
+          },
+          {
+            "namespace": "custom",
+            "key": "color",
+            "value": "Dove"
+          },
+          {
+            "namespace": "global",
+            "key": "color",
+            "value": "Dove"
+          },
+          {
+            "namespace": "dwc",
+            "key": "color",
+            "value": "Dove"
+          },
+          {
+            "namespace": "global",
+            "key": "material",
+            "value": "Fabric Backed Vinyl"
+          },
+          {
+            "namespace": "custom",
+            "key": "material",
+            "value": "Fabric Backed Vinyl"
+          },
+          {
+            "namespace": "custom",
+            "key": "collection_name",
+            "value": "Textures & Wovens Resource"
+          },
+          {
+            "namespace": "custom",
+            "key": "cost",
+            "value": "11.0"
+          },
+          {
+            "namespace": "custom",
+            "key": "price_updated_at",
+            "value": "2026-07-04"
+          },
+          {
+            "namespace": "global",
+            "key": "unit_of_measure",
+            "value": "Priced Per Single Roll"
+          },
+          {
+            "namespace": "global",
+            "key": "v_prods_quantity_order_min",
+            "value": "2"
+          },
+          {
+            "namespace": "global",
+            "key": "v_prods_quantity_order_units",
+            "value": "2"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7876849532979",
+      "title": "Abstract Flora 6800408, Made to Measure Mural Non-Woven Wallcoverings | Newwall",
+      "handle": "abstract-flora-6800408-made-to-measure-mural-non-woven-dwxw-1005917",
+      "vendor": "Newwall",
+      "status": "DRAFT",
+      "tags": [
+        "Collection: A",
+        "display_variant",
+        "Made to Measure Mural Non-Woven",
+        "Needs-Specs",
+        "Needs-Width",
+        "Newwall",
+        "Priced Per Single Roll",
+        "Wallcovering"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/44492386598963",
+            "sku": "DWXW-1005917",
+            "title": "Single Roll",
+            "price": "159.28"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44492386631731",
+            "sku": "DWXW-1005917-Sample",
+            "title": "Sample",
+            "price": "4.25"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": [
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/6800408-main-2.jpg?v=1783284030"
+          },
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/6800408-main-2_db55c5d9-3246-4444-be55-02d0e862b862.jpg?v=1783284030"
+          }
+        ]
+      },
+      "metafields": {
+        "nodes": [
+          {
+            "namespace": "custom",
+            "key": "manufacturer_sku",
+            "value": "6800408"
+          },
+          {
+            "namespace": "global",
+            "key": "manufacturer_sku",
+            "value": "6800408"
+          },
+          {
+            "namespace": "global",
+            "key": "Brand",
+            "value": "Newwall"
+          },
+          {
+            "namespace": "global",
+            "key": "dw_sku",
+            "value": "DWXW-1005917"
+          },
+          {
+            "namespace": "global",
+            "key": "pattern_name",
+            "value": "Abstract Flora 6800408"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_name",
+            "value": "Abstract Flora 6800408"
+          },
+          {
+            "namespace": "custom",
+            "key": "color",
+            "value": "Made to Measure Mural Non-Woven"
+          },
+          {
+            "namespace": "global",
+            "key": "color",
+            "value": "Made to Measure Mural Non-Woven"
+          },
+          {
+            "namespace": "dwc",
+            "key": "color",
+            "value": "Made to Measure Mural Non-Woven"
+          },
+          {
+            "namespace": "global",
+            "key": "material",
+            "value": "Non-Woven, Type II, Vinyl"
+          },
+          {
+            "namespace": "custom",
+            "key": "material",
+            "value": "Non-Woven, Type II, Vinyl"
+          },
+          {
+            "namespace": "custom",
+            "key": "collection_name",
+            "value": "A"
+          },
+          {
+            "namespace": "custom",
+            "key": "cost",
+            "value": "88.0"
+          },
+          {
+            "namespace": "custom",
+            "key": "price_updated_at",
+            "value": "2026-07-05"
+          },
+          {
+            "namespace": "global",
+            "key": "unit_of_measure",
+            "value": "Priced Per Single Roll"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7796252606515",
+      "title": "Alessio - Cream Linen Wallcoverings Fabric | Phillipe Romano",
+      "handle": "alessio-cream-linen-wallcoverings-philippe-romano-fabrics",
+      "vendor": "Phillipe Romano",
+      "status": "DRAFT",
+      "tags": [
+        "AI-Analyzed-v2",
+        "Alessio",
+        "Architectural",
+        "Bedroom",
+        "Beige",
+        "Champagne",
+        "Color: Beige",
+        "color:Bone",
+        "Commercial",
+        "Commercial Wallcovering",
+        "Contemporary",
+        "Contract Grade",
+        "Cream Linen",
+        "display_variant",
+        "Hallway",
+        "Hospitality",
+        "Light Beige",
+        "Living Room",
+        "Needs-Image",
+        "Needs-Price",
+        "Needs-Width",
+        "Oatmeal",
+        "Paper",
+        "Performance Fabric",
+        "Philippe Romano Fabrics",
+        "Phillipe Romano",
+        "Serene",
+        "Showroom Line",
+        "Stripe",
+        "Textured",
+        "Traditional",
+        "Transitional",
+        "Vinyl",
+        "Wallcovering",
+        "Wallcoverings",
+        "Yellow"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/44107741233203",
+            "sku": "DWPR-427233",
+            "title": "Sample",
+            "price": "4.25"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": [
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/WTE6712_WT_7b461589-2e72-48b0-b300-ad182d047c5b.jpg?v=1773217330"
+          },
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/alessio-cream-linen-wallcoverings-philippe-romano-fabrics-swatch-spin.gif?v=1773255044"
+          }
+        ]
+      },
+      "metafields": {
+        "nodes": [
+          {
+            "namespace": "custom",
+            "key": "real_vendor",
+            "value": "Philippe Romano Fabrics"
+          },
+          {
+            "namespace": "custom",
+            "key": "manufacturer_sku",
+            "value": "DWKK-132867"
+          },
+          {
+            "namespace": "specs",
+            "key": "brand",
+            "value": "Philippe Romano Fabrics"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_name",
+            "value": "Alessio"
+          },
+          {
+            "namespace": "custom",
+            "key": "color",
+            "value": "Cream Linen"
+          },
+          {
+            "namespace": "custom",
+            "key": "designer",
+            "value": "Philippe Romano"
+          },
+          {
+            "namespace": "custom",
+            "key": "material",
+            "value": "Cotton - 55%;Viscose - 45%"
+          },
+          {
+            "namespace": "custom",
+            "key": "width",
+            "value": "54In"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_repeat",
+            "value": "V: Wte6712.Wt.0"
+          },
+          {
+            "namespace": "custom",
+            "key": "google_product_category",
+            "value": "Home & Garden > Decor > Wallpaper"
+          },
+          {
+            "namespace": "global",
+            "key": "description_tag",
+            "value": "Alessio - Cream Linen Wallcoverings by Philippe Romano Fabrics. Cotton - 55%;Viscose - 45%. Width: 54In. Commercial and hospitality grade performance fabric."
+          },
+          {
+            "namespace": "specs",
+            "key": "sku",
+            "value": "DWKK-132867"
+          },
+          {
+            "namespace": "specs",
+            "key": "type",
+            "value": "Wallcoverings"
+          },
+          {
+            "namespace": "specs",
+            "key": "composition",
+            "value": "Cotton - 55%;Viscose - 45%"
+          },
+          {
+            "namespace": "custom",
+            "key": "background_color",
+            "value": "beige"
+          },
+          {
+            "namespace": "custom",
+            "key": "ai_generated_tags",
+            "value": "beige, cream"
+          },
+          {
+            "namespace": "private_label",
+            "key": "vendor_color_name",
+            "value": "Morning Tea"
+          },
+          {
+            "namespace": "private_label",
+            "key": "collection",
+            "value": "Phillipe Romano Elegante"
+          },
+          {
+            "namespace": "private_label",
+            "key": "real_vendor_name",
+            "value": "Philippe Romano Fabrics"
+          },
+          {
+            "namespace": "private_label",
+            "key": "vendor_sku",
+            "value": "DWKK-132867"
+          },
+          {
+            "namespace": "specs",
+            "key": "width",
+            "value": "54In"
+          },
+          {
+            "namespace": "specs",
+            "key": "material",
+            "value": "Cotton - 55%;Viscose - 45%"
+          },
+          {
+            "namespace": "specs",
+            "key": "repeat_v",
+            "value": "Wte6712.Wt.0"
+          },
+          {
+            "namespace": "specs",
+            "key": "collection",
+            "value": "Phillipe Romano Elegante"
+          },
+          {
+            "namespace": "specs",
+            "key": "product_type",
+            "value": "Wallcoverings"
+          },
+          {
+            "namespace": "global",
+            "key": "width",
+            "value": "54In"
+          },
+          {
+            "namespace": "global",
+            "key": "Type",
+            "value": "Wallcoverings"
+          },
+          {
+            "namespace": "global",
+            "key": "repeat",
+            "value": "V: Wte6712.Wt.0"
+          },
+          {
+            "namespace": "global",
+            "key": "Composition",
+            "value": "Cotton - 55%;Viscose - 45%"
+          },
+          {
+            "namespace": "global",
+            "key": "Brand",
+            "value": "Philippe Romano Fabrics"
+          },
+          {
+            "namespace": "global",
+            "key": "Vert-Rpt",
+            "value": "V: Wte6712.Wt.0"
+          },
+          {
+            "namespace": "global",
+            "key": "Horz-Rpt",
+            "value": "N/A"
+          },
+          {
+            "namespace": "global",
+            "key": "MATCH",
+            "value": "Random Match"
+          },
+          {
+            "namespace": "global",
+            "key": "Contents",
+            "value": "Cotton - 55%;Viscose - 45%"
+          },
+          {
+            "namespace": "global",
+            "key": "Collection",
+            "value": "Phillipe Romano Elegante"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_details",
+            "value": "[{\"name\":\"Bone\",\"hex\":\"#E0D9C3\",\"percentage\":14.7},{\"name\":\"Oatmeal\",\"hex\":\"#D8CFB7\",\"percentage\":13.6},{\"name\":\"Ecru\",\"hex\":\"#D1C8B0\",\"percentage\":13.3},{\"name\":\"Beige\",\"hex\":\"#D4CDB4\",\"percentage\":12.6}]"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_hex",
+            "value": "#E0D9C3"
+          },
+          {
+            "namespace": "custom",
+            "key": "brand",
+            "value": "Philippe Romano Fabrics"
+          },
+          {
+            "namespace": "custom",
+            "key": "collection_name",
+            "value": "Phillipe Romano Elegante"
+          },
+          {
+            "namespace": "dwc",
+            "key": "real_vendor",
+            "value": "Philippe Romano Fabrics"
+          },
+          {
+            "namespace": "dwc",
+            "key": "manufacturer_sku",
+            "value": "DWKK-132867"
+          },
+          {
+            "namespace": "dwc",
+            "key": "pattern_name",
+            "value": "Alessio"
+          },
+          {
+            "namespace": "dwc",
+            "key": "contents",
+            "value": "Cotton - 55%;Viscose - 45%"
+          },
+          {
+            "namespace": "dwc",
+            "key": "width",
+            "value": "54In"
+          },
+          {
+            "namespace": "dwc",
+            "key": "repeat",
+            "value": "V: Wte6712.Wt.0"
+          },
+          {
+            "namespace": "dwc",
+            "key": "collection",
+            "value": "Phillipe Romano Elegante"
+          },
+          {
+            "namespace": "dwc",
+            "key": "brand",
+            "value": "Phillipe Romano"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_1_hex",
+            "value": "#E0D9C3"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_1_percentage",
+            "value": "14.7"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_1_name",
+            "value": "Bone"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_2_hex",
+            "value": "#D8CFB7"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_2_percentage",
+            "value": "13.6"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_2_name",
+            "value": "Oatmeal"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_3_hex",
+            "value": "#D1C8B0"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_3_percentage",
+            "value": "13.3"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_3_name",
+            "value": "Ecru"
+          },
+          {
+            "namespace": "custom",
+            "key": "hue_coverage",
+            "value": "{\"red\":0.0,\"orange\":0.0,\"yellow\":0.0,\"green\":0.0,\"teal\":0.0,\"blue\":0.0,\"purple\":0.0,\"pink\":0.0,\"brown\":0.0,\"gold\":18.8,\"beige\":99.6,\"white\":97.7,\"black\":0.0,\"gray\":2.1}"
+          },
+          {
+            "namespace": "custom",
+            "key": "cov_beige",
+            "value": "99.6"
+          },
+          {
+            "namespace": "custom",
+            "key": "cov_yellow",
+            "value": "0.0"
+          },
+          {
+            "namespace": "custom",
+            "key": "showroom_line",
+            "value": "true"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7664930750515",
+      "title": "Dry Goods Weave Blue - Gray Fabric | Ralph Lauren",
+      "handle": "ralph-90020-frl5332-01-ralph-lauren",
+      "vendor": "Ralph Lauren",
+      "status": "DRAFT",
+      "tags": [
+        "display_variant",
+        "Needs-Price"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/43611397161011",
+            "sku": "Ralph-90020",
+            "title": "Sample",
+            "price": "0.00"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": [
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/173763_cc52435a-7976-40a6-b8ee-e2586984553a.webp?v=1757455451"
+          }
+        ]
+      },
+      "metafields": {
+        "nodes": [
+          {
+            "namespace": "global",
+            "key": "title_tag",
+            "value": "Dry Goods Weave Blue Fabric | Ralph Lauren Home"
+          },
+          {
+            "namespace": "global",
+            "key": "description_tag",
+            "value": "Shop Ralph Lauren Fabrics at Designer Wallcoverings – the trusted resource for architects and interior designers for over 20 years. Trade pricing available. Fast shipping. Samples available."
+          },
+          {
+            "namespace": "mc-facebook",
+            "key": "google_product_category",
+            "value": "4171"
+          },
+          {
+            "namespace": "global",
+            "key": "width",
+            "value": "59 in"
+          },
+          {
+            "namespace": "global",
+            "key": "repeat",
+            "value": "0 in"
+          },
+          {
+            "namespace": "global",
+            "key": "Vert-Rpt",
+            "value": "0 in"
+          },
+          {
+            "namespace": "global",
+            "key": "PATTERN_REPEAT_VERTICAL",
+            "value": "0 in"
+          },
+          {
+            "namespace": "global",
+            "key": "Horz-Rpt",
+            "value": "0 in"
+          },
+          {
+            "namespace": "global",
+            "key": "PATTERN_REPEAT_HORIZONTAL",
+            "value": "0 in"
+          },
+          {
+            "namespace": "global",
+            "key": "Contents",
+            "value": "70% Pl 30% Li"
+          },
+          {
+            "namespace": "global",
+            "key": "Collection",
+            "value": "Rue Boheme Fabrics"
+          },
+          {
+            "namespace": "global",
+            "key": "Cleaning-Code",
+            "value": "DRY CLEAN - P process (GENTLE), MACHINE WASH @ 30c GENTLE CYCLE, IRON COOL (1 spot - 110deg c), NO TUMBLE DRY, NO BLEACH"
+          },
+          {
+            "namespace": "global",
+            "key": "Weight",
+            "value": "26.1 oz/sq.yd"
+          },
+          {
+            "namespace": "global",
+            "key": "Martindale-#",
+            "value": "50000"
+          },
+          {
+            "namespace": "global",
+            "key": "MATCH",
+            "value": "Plain"
+          },
+          {
+            "namespace": "global",
+            "key": "MATCH_TYPE",
+            "value": "Plain"
+          },
+          {
+            "namespace": "global",
+            "key": "Tests-Passed",
+            "value": "EN1021-1 Cigarette - UPHOLSTERY"
+          },
+          {
+            "namespace": "global",
+            "key": "Usage",
+            "value": "Cushions, Curtains And Blinds, Loose Covers, Upholstery"
+          },
+          {
+            "namespace": "global",
+            "key": "FABRIC_USAGE",
+            "value": "Cushions, Curtains And Blinds, Loose Covers, Upholstery"
+          },
+          {
+            "namespace": "global",
+            "key": "length",
+            "value": "Per Yard"
+          },
+          {
+            "namespace": "global",
+            "key": "v_prods_quantity_order_min",
+            "value": "1"
+          },
+          {
+            "namespace": "global",
+            "key": "v_prods_quantity_order_units",
+            "value": "1"
+          },
+          {
+            "namespace": "global",
+            "key": "unit_of_measure",
+            "value": "Priced Per Yard"
+          },
+          {
+            "namespace": "global",
+            "key": "Brand",
+            "value": "Ralph Lauren"
+          },
+          {
+            "namespace": "dwc",
+            "key": "background_color",
+            "value": "Teal"
+          },
+          {
+            "namespace": "dwc",
+            "key": "real_vendor",
+            "value": "Designers Guild"
+          },
+          {
+            "namespace": "dwc",
+            "key": "brand",
+            "value": "Ralph Lauren"
+          },
+          {
+            "namespace": "global",
+            "key": "type",
+            "value": "Fabric"
+          },
+          {
+            "namespace": "global",
+            "key": "design",
+            "value": "Textured"
+          },
+          {
+            "namespace": "custom",
+            "key": "manufacturer_sku",
+            "value": "FRL5332/01"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_name",
+            "value": "Dry Goods Weave Blue"
+          },
+          {
+            "namespace": "custom",
+            "key": "collection_name",
+            "value": "Rue Boheme Fabrics"
+          },
+          {
+            "namespace": "custom",
+            "key": "width",
+            "value": "59 in"
+          },
+          {
+            "namespace": "specs",
+            "key": "pattern_repeat",
+            "value": "0 in"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_details",
+            "value": "[{\"name\":\"Slate\",\"hex\":\"#737B7D\",\"percentage\":45},{\"name\":\"Slate\",\"hex\":\"#646B6D\",\"percentage\":30},{\"name\":\"Smoke\",\"hex\":\"#858C8E\",\"percentage\":15},{\"name\":\"Gunmetal\",\"hex\":\"#585E60\",\"percentage\":10}]"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_hex",
+            "value": "#737B7D"
+          },
+          {
+            "namespace": "specs",
+            "key": "repeat_vertical",
+            "value": "0"
+          },
+          {
+            "namespace": "specs",
+            "key": "repeat_horizontal",
+            "value": "0"
+          },
+          {
+            "namespace": "dwc",
+            "key": "collection",
+            "value": "Rue Boheme Fabrics"
+          },
+          {
+            "namespace": "dwc",
+            "key": "width",
+            "value": "59 in"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_repeat",
+            "value": "0"
+          },
+          {
+            "namespace": "dwc",
+            "key": "repeat",
+            "value": "0"
+          },
+          {
+            "namespace": "custom",
+            "key": "material",
+            "value": "70% Pl 30% Li"
+          },
+          {
+            "namespace": "dwc",
+            "key": "contents",
+            "value": "70% Pl 30% Li"
+          },
+          {
+            "namespace": "custom",
+            "key": "brand",
+            "value": "Ralph Lauren"
+          },
+          {
+            "namespace": "custom",
+            "key": "color",
+            "value": "Gray"
+          },
+          {
+            "namespace": "custom",
+            "key": "real_vendor",
+            "value": "Designers Guild"
+          },
+          {
+            "namespace": "dwc",
+            "key": "manufacturer_sku",
+            "value": "FRL5332/01"
+          },
+          {
+            "namespace": "dwc",
+            "key": "pattern_name",
+            "value": "Dry Goods Weave Blue"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_1_hex",
+            "value": "#737B7D"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_1_percentage",
+            "value": "45.0"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_1_name",
+            "value": "Slate"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_2_hex",
+            "value": "#646B6D"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_2_percentage",
+            "value": "30.0"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_2_name",
+            "value": "Slate"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_3_hex",
+            "value": "#858C8E"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_3_percentage",
+            "value": "15.0"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_3_name",
+            "value": "Smoke"
+          },
+          {
+            "namespace": "custom",
+            "key": "hue_coverage",
+            "value": "{\"red\":0.0,\"orange\":0.0,\"yellow\":0.0,\"green\":0.0,\"teal\":98.4,\"blue\":0.0,\"purple\":0.0,\"pink\":0.0,\"brown\":0.0,\"gold\":0.0,\"beige\":0.0,\"white\":0.0,\"black\":0.0,\"gray\":97.4}"
+          },
+          {
+            "namespace": "custom",
+            "key": "cov_gray",
+            "value": "97.4"
+          },
+          {
+            "namespace": "custom",
+            "key": "showroom_line",
+            "value": "true"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7896894636083",
+      "title": "Flower Garden, Midnight Wallcoverings | Rebel Walls",
+      "handle": "flower-garden-midnight-wallcoverings-dwrw-361344",
+      "vendor": "Rebel Walls",
+      "status": "DRAFT",
+      "tags": [
+        "Collection: Shutterstock",
+        "Midnight",
+        "Mural",
+        "Non-Woven",
+        "Priced Per Square Meter",
+        "Rebel Walls",
+        "Wall Mural"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/44588275564595",
+            "sku": "DWRW-361344",
+            "title": "Mural (per m²)",
+            "price": "191.00"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44588275597363",
+            "sku": "DWRW-361344-Sample",
+            "title": "Sample",
+            "price": "4.25"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": [
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/R20374_interior1.jpg?v=1784792423"
+          }
+        ]
+      },
+      "metafields": {
+        "nodes": [
+          {
+            "namespace": "custom",
+            "key": "manufacturer_sku",
+            "value": "R20374"
+          },
+          {
+            "namespace": "global",
+            "key": "manufacturer_sku",
+            "value": "R20374"
+          },
+          {
+            "namespace": "global",
+            "key": "Brand",
+            "value": "Rebel Walls"
+          },
+          {
+            "namespace": "global",
+            "key": "dw_sku",
+            "value": "DWRW-361344"
+          },
+          {
+            "namespace": "global",
+            "key": "width",
+            "value": "19.7 in / 0.5 m"
+          },
+          {
+            "namespace": "custom",
+            "key": "width",
+            "value": "19.7 in / 0.5 m"
+          },
+          {
+            "namespace": "global",
+            "key": "pattern_name",
+            "value": "Flower Garden"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_name",
+            "value": "Flower Garden"
+          },
+          {
+            "namespace": "custom",
+            "key": "color",
+            "value": "Midnight"
+          },
+          {
+            "namespace": "global",
+            "key": "color",
+            "value": "Midnight"
+          },
+          {
+            "namespace": "dwc",
+            "key": "color",
+            "value": "Midnight"
+          },
+          {
+            "namespace": "custom",
+            "key": "fire_rating",
+            "value": "EU Fire Class B-s1, d0 and US Fire Class A"
+          },
+          {
+            "namespace": "global",
+            "key": "material",
+            "value": "Non-woven"
+          },
+          {
+            "namespace": "custom",
+            "key": "material",
+            "value": "Non-woven"
+          },
+          {
+            "namespace": "custom",
+            "key": "collection_name",
+            "value": "Shutterstock"
+          },
+          {
+            "namespace": "internal",
+            "key": "settlement_hold",
+            "value": "{\"verdict\":\"HELD\",\"reason\":\"vision-vision-http-429\",\"ts\":\"2026-09-09T16:25:32.466Z\",\"by\":\"dw-rotation-activator\"}"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7911508738099",
+      "title": "Arrowroot Parchment",
+      "handle": "arrowroot-parchment",
+      "vendor": "Romo",
+      "status": "DRAFT",
+      "tags": [
+        "Beige",
+        "Coastal",
+        "Dark Brown",
+        "display_variant",
+        "Grasscloth",
+        "Light Brown",
+        "Priced Per Single Roll",
+        "Romo",
+        "Tan",
+        "Textured",
+        "Traditional",
+        "Wallcovering"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/44660226293811",
+            "sku": "DWRM-240201",
+            "title": "Single Roll",
+            "price": "905.88"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44660226326579",
+            "sku": "DWRM-240201-Sample",
+            "title": "Sample",
+            "price": "4.25"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": [
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/MW148-04-arrowroot-wallcovering-parchment_01.jpg?v=1785782405"
+          },
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/MW148-04-arrowroot-wallcovering-parchment_01_0fd1d420-27b2-455b-8f98-6253ef4e4ecf.jpg?v=1785782405"
+          },
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/MW148-04-arrowroot-wallcovering-parchment_02.jpg?v=1785782405"
+          },
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/MW148-04-arrowroot-wallcovering-parchment_03.jpg?v=1785782405"
+          },
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/MW148-04-arrowroot-wallcovering-parchment_01_d9ec9705-d479-44d7-9bc3-4e99b4381a57.jpg?v=1785782405"
+          }
+        ]
+      },
+      "metafields": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7552736067635",
+      "title": "Takao Brush Stroke Paper Weave Navy | Thibaut",
+      "handle": "dwtt-81006-designer-wallcoverings-los-angeles",
+      "vendor": "Thibaut",
+      "status": "DRAFT",
+      "tags": [
+        "Abstract",
+        "Architectural",
+        "blue",
+        "Coastal",
+        "Contemporary",
+        "display_variant",
+        "Navy",
+        "Pattern",
+        "T81006",
+        "Takao Brush Stroke Paper Weave",
+        "teal",
+        "Texture",
+        "Thibaut",
+        "Wallcovering",
+        "white"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/43243609587763",
+            "sku": "DWTT-81006-SAMPLE",
+            "title": "Sample",
+            "price": "4.25"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/43243609620531",
+            "sku": "DWTT-81006",
+            "title": "Sold Per (36\" x 4yds)",
+            "price": "288.33"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": [
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/AT9849_899284eb-3304-4509-b1c9-30f023d51e77.jpg?v=1776161822"
+          }
+        ]
+      },
+      "metafields": {
+        "nodes": [
+          {
+            "namespace": "global",
+            "key": "description_tag",
+            "value": "Our professional sales staff at Designer Wallcoverings is here to assist with all of your interior designer product needs. We offer one stop purchasing of the most well respected names in the design trade as well as our own collections. 1-888-373-4564"
+          },
+          {
+            "namespace": "mc-facebook",
+            "key": "google_product_category",
+            "value": "115"
+          },
+          {
+            "namespace": "global",
+            "key": "v_prods_quantity_order_units",
+            "value": "2"
+          },
+          {
+            "namespace": "global",
+            "key": "v_prod_quantity_order_min",
+            "value": "2"
+          },
+          {
+            "namespace": "global",
+            "key": "title",
+            "value": "Takao Brush Stroke Paper Weave Navy Wallpaper | Thibaut"
+          },
+          {
+            "namespace": "custom",
+            "key": "collection_name",
+            "value": "Takao Brush Stroke Paper Weave Navy Wallpaper | Thibaut"
+          },
+          {
+            "namespace": "custom",
+            "key": "manufacturer_sku",
+            "value": "T81006"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_name",
+            "value": "Takao Brush Stroke Paper Weave"
+          },
+          {
+            "namespace": "custom",
+            "key": "color",
+            "value": "Navy"
+          },
+          {
+            "namespace": "custom",
+            "key": "background_color",
+            "value": "white"
+          },
+          {
+            "namespace": "global",
+            "key": "v_prods_quantity_order_min",
+            "value": "2"
+          },
+          {
+            "namespace": "global",
+            "key": "lead_time",
+            "value": "3-5 Business Days"
+          },
+          {
+            "namespace": "global",
+            "key": "Lead-Time-in-Days",
+            "value": "5"
+          },
+          {
+            "namespace": "global",
+            "key": "Ship-From",
+            "value": "USA"
+          },
+          {
+            "namespace": "global",
+            "key": "Memo-Sample-Available",
+            "value": "Yes"
+          },
+          {
+            "namespace": "global",
+            "key": "DOMESTIC",
+            "value": "Yes"
+          },
+          {
+            "namespace": "global",
+            "key": "title_tag",
+            "value": "Shop Takao Brush Stroke Paper Weave in Navy | Thibaut Wallcovering"
+          },
+          {
+            "namespace": "global",
+            "key": "Direction",
+            "value": "Up the Bolt"
+          },
+          {
+            "namespace": "global",
+            "key": "Country",
+            "value": "USA"
+          },
+          {
+            "namespace": "global",
+            "key": "Country-of-Origin",
+            "value": "USA"
+          },
+          {
+            "namespace": "global",
+            "key": "COUNTRY_OF_ORIGIN",
+            "value": "USA"
+          },
+          {
+            "namespace": "global",
+            "key": "Bullet-Point-1",
+            "value": "Takao Brush Stroke Paper Weave Navy Wallcovering by Thibaut"
+          },
+          {
+            "namespace": "global",
+            "key": "Bullet-Point-2",
+            "value": "Premium Thibaut Wallcovering"
+          },
+          {
+            "namespace": "global",
+            "key": "Bullet-Point-3",
+            "value": "Free Samples Available | Ships from USA"
+          },
+          {
+            "namespace": "dwc",
+            "key": "order_unit",
+            "value": "Single Roll"
+          },
+          {
+            "namespace": "custom",
+            "key": "name_of_pattern",
+            "value": "Takao Brush Stroke Paper Weave"
+          },
+          {
+            "namespace": "dwc",
+            "key": "color",
+            "value": "Navy"
+          },
+          {
+            "namespace": "custom",
+            "key": "brand",
+            "value": "Thibaut"
+          },
+          {
+            "namespace": "global",
+            "key": "design",
+            "value": "Textured"
+          },
+          {
+            "namespace": "dwc",
+            "key": "pattern_name",
+            "value": "Takao Brush Stroke Paper Weave Navy"
+          },
+          {
+            "namespace": "specs",
+            "key": "repeat_v",
+            "value": "27"
+          },
+          {
+            "namespace": "specs",
+            "key": "repeat_h",
+            "value": "27"
+          },
+          {
+            "namespace": "custom",
+            "key": "fire_rating",
+            "value": "Inquire for more Information"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_hex",
+            "value": "#4682B4"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_details",
+            "value": "[{\"name\":\"Cerulean\",\"hex\":\"#4682B4\",\"percentage\":45},{\"name\":\"Powder Blue\",\"hex\":\"#ADD8E6\",\"percentage\":30},{\"name\":\"Teal\",\"hex\":\"#008080\",\"percentage\":15},{\"name\":\"White\",\"hex\":\"#FFFFFF\",\"percentage\":10}]"
+          },
+          {
+            "namespace": "dwc",
+            "key": "collection",
+            "value": "Takao Brush Stroke Paper Weave Navy Wallpaper | Thibaut"
+          },
+          {
+            "namespace": "dwc",
+            "key": "manufacturer_sku",
+            "value": "T81006"
+          },
+          {
+            "namespace": "dwc",
+            "key": "brand",
+            "value": "Thibaut"
+          },
+          {
+            "namespace": "dwc",
+            "key": "repeat",
+            "value": "27"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_repeat",
+            "value": "27"
+          },
+          {
+            "namespace": "custom",
+            "key": "vertical_repeat",
+            "value": "27"
+          },
+          {
+            "namespace": "custom",
+            "key": "horizontal_repeat",
+            "value": "27"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_1_hex",
+            "value": "#4682B4"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_1_percentage",
+            "value": "45.0"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_1_name",
+            "value": "Cerulean"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_2_hex",
+            "value": "#ADD8E6"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_2_percentage",
+            "value": "30.0"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_2_name",
+            "value": "Powder Blue"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_3_hex",
+            "value": "#008080"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_3_percentage",
+            "value": "15.0"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_3_name",
+            "value": "Teal"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7864786092083",
+      "title": "Trdd 11360 - Trdd 11360 | Wolf Gordon Wallcoverings",
+      "handle": "trdd-11360-trdd-11360-wolf-gordon-wallcoverings",
+      "vendor": "Wolf Gordon",
+      "status": "DRAFT",
+      "tags": [
+        "display_variant",
+        "Needs-Image",
+        "Textile",
+        "Wolf Gordon"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/44450258616371",
+            "sku": "DWWG-532575",
+            "title": "Yard",
+            "price": "130.32"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44450258649139",
+            "sku": "DWWG-532575-Sample",
+            "title": "Sample",
+            "price": "4.25"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": []
+      },
+      "metafields": {
+        "nodes": [
+          {
+            "namespace": "custom",
+            "key": "width",
+            "value": "54.00 in"
+          },
+          {
+            "namespace": "global",
+            "key": "width",
+            "value": "54.00\""
+          },
+          {
+            "namespace": "global",
+            "key": "material",
+            "value": "Linen/Linen Blend"
+          },
+          {
+            "namespace": "global",
+            "key": "color",
+            "value": "- TRDD 11360"
+          },
+          {
+            "namespace": "global",
+            "key": "Collection",
+            "value": "Textile"
+          },
+          {
+            "namespace": "global",
+            "key": "repeat",
+            "value": "20\""
+          },
+          {
+            "namespace": "global",
+            "key": "title_tag",
+            "value": "Trdd 11360 - - Trdd 11360 Wallcovering by Wolf Gordon Wallcoverings"
+          },
+          {
+            "namespace": "global",
+            "key": "description_tag",
+            "value": "Authorized Dealer of TRDD 11360 by WOLF GORDON WALLCOVERINGS at Designer Wallcoverings"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_name",
+            "value": "TRDD 11360"
+          },
+          {
+            "namespace": "custom",
+            "key": "manufacturer_sku",
+            "value": "TRDD 11360"
+          },
+          {
+            "namespace": "custom",
+            "key": "material",
+            "value": "Linen/Linen Blend"
+          },
+          {
+            "namespace": "custom",
+            "key": "collection_name",
+            "value": "Textile"
+          },
+          {
+            "namespace": "custom",
+            "key": "color",
+            "value": "- TRDD 11360"
+          },
+          {
+            "namespace": "custom",
+            "key": "fire_rating",
+            "value": "ASTM E84 (Adhered) and IBC Section 803.1.2 - Class A | Flame Spread: 20 / Smoke Developed: 35"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_hex",
+            "value": "#F5F5DC"
+          },
+          {
+            "namespace": "dwc",
+            "key": "manufacturer_sku",
+            "value": "TRDD 11360"
+          },
+          {
+            "namespace": "dwc",
+            "key": "pattern_name",
+            "value": "TRDD 11360"
+          },
+          {
+            "namespace": "dwc",
+            "key": "color",
+            "value": "- TRDD 11360"
+          },
+          {
+            "namespace": "dwc",
+            "key": "brand",
+            "value": "Wolf Gordon"
+          },
+          {
+            "namespace": "specs",
+            "key": "style",
+            "value": "Traditional"
+          },
+          {
+            "namespace": "specs",
+            "key": "pattern",
+            "value": "Damask"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_repeat",
+            "value": "Straight Hang/Straight Match (directional)"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7923565723699",
+      "title": "Carnegie Alpine 23 Wallcovering",
+      "handle": "carnegie-alpine-silver-1",
+      "vendor": "Carnegie",
+      "status": "DRAFT",
+      "tags": [
+        "7362wa23",
+        "7362wa23-wallcoverings",
+        "Alpine",
+        "Carnegie",
+        "carnegie-split-draft",
+        "display_variant",
+        "Neutral",
+        "Silver",
+        "split-batch:TK-10686",
+        "Wallcoverings",
+        "Woven"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/44754598756403",
+            "sku": "DWAG-381611",
+            "title": "Fabric",
+            "price": "52.49"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44754598789171",
+            "sku": "DWAG-381611-sample",
+            "title": "Memo Sample",
+            "price": "4.25"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": [
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/7362a23_swatch_3_c1162d6c-1c37-43c0-81c8-ede2afe33104.jpg?v=1787108051"
+          },
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/7362a23_swatch_3_0dc9d9bb-54fd-4479-8cb3-f3f230d343e7.jpg?v=1788298243"
+          },
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/7362a23_swatch_1_e7ad8309-3d82-4a1e-aac2-b4090add029d.jpg?v=1788298243"
+          }
+        ]
+      },
+      "metafields": {
+        "nodes": [
+          {
+            "namespace": "custom",
+            "key": "manufacturer_sku",
+            "value": "7362wa23-wallcoverings"
+          },
+          {
+            "namespace": "dwc",
+            "key": "manufacturer_sku",
+            "value": "7362wa23-wallcoverings"
+          },
+          {
+            "namespace": "global",
+            "key": "Brand",
+            "value": "Carnegie"
+          },
+          {
+            "namespace": "global",
+            "key": "Width",
+            "value": "54\" (137 cm)"
+          },
+          {
+            "namespace": "custom",
+            "key": "Width",
+            "value": "54\" (137 cm)"
+          },
+          {
+            "namespace": "global",
+            "key": "Content",
+            "value": "100% Polypropylene"
+          },
+          {
+            "namespace": "global",
+            "key": "Contents",
+            "value": "100% Polypropylene"
+          },
+          {
+            "namespace": "global",
+            "key": "Cleaning Code",
+            "value": "WS & BC - Water/Solvent & Bleach Cleanable"
+          },
+          {
+            "namespace": "custom",
+            "key": "Cleaning Code",
+            "value": "WS & BC - Water/Solvent & Bleach Cleanable"
+          },
+          {
+            "namespace": "global",
+            "key": "Finish",
+            "value": "Finish-Free"
+          },
+          {
+            "namespace": "global",
+            "key": "Backing",
+            "value": "Heavy Acrylic Heavy Acrylic: This backing provides a coating to enhance adhesion and prevent bleed through of adhesives and is preferred for heavier duty installs such as moveable wall systems."
+          },
+          {
+            "namespace": "custom",
+            "key": "Backing",
+            "value": "Heavy Acrylic Heavy Acrylic: This backing provides a coating to enhance adhesion and prevent bleed through of adhesives and is preferred for heavier duty installs such as moveable wall systems."
+          },
+          {
+            "namespace": "global",
+            "key": "Flammability",
+            "value": "ASTM E84 Class A / Class 1"
+          },
+          {
+            "namespace": "custom",
+            "key": "Flammability",
+            "value": "ASTM E84 Class A / Class 1"
+          },
+          {
+            "namespace": "global",
+            "key": "Origin",
+            "value": "Denmark"
+          },
+          {
+            "namespace": "custom",
+            "key": "Origin",
+            "value": "Denmark"
+          },
+          {
+            "namespace": "global",
+            "key": "Country of Origin",
+            "value": "Denmark"
+          },
+          {
+            "namespace": "custom",
+            "key": "Country of Origin",
+            "value": "Denmark"
+          },
+          {
+            "namespace": "global",
+            "key": "Type",
+            "value": "Wallcoverings"
+          },
+          {
+            "namespace": "custom",
+            "key": "Color",
+            "value": "Silver"
+          },
+          {
+            "namespace": "global",
+            "key": "Color",
+            "value": "Silver"
+          },
+          {
+            "namespace": "custom",
+            "key": "Color Hex",
+            "value": "#c6c5c3"
+          },
+          {
+            "namespace": "custom",
+            "key": "swatch_hex",
+            "value": "#c6c5c3"
+          },
+          {
+            "namespace": "dwc",
+            "key": "dw_sku",
+            "value": "DWAG-381611"
+          },
+          {
+            "namespace": "dwc",
+            "key": "pattern_name",
+            "value": "Alpine"
+          },
+          {
+            "namespace": "dwc",
+            "key": "width",
+            "value": "54\" (137 cm)"
+          },
+          {
+            "namespace": "dwc",
+            "key": "content",
+            "value": "100% Polypropylene"
+          },
+          {
+            "namespace": "dwc",
+            "key": "finish",
+            "value": "Finish-Free"
+          },
+          {
+            "namespace": "dwc",
+            "key": "backing",
+            "value": "Heavy Acrylic Heavy Acrylic: This backing provides a coating to enhance adhesion and prevent bleed through of adhesives and is preferred for heavier duty installs such as moveable wall systems."
+          },
+          {
+            "namespace": "dwc",
+            "key": "cleaning_code",
+            "value": "WS & BC - Water/Solvent & Bleach Cleanable"
+          },
+          {
+            "namespace": "dwc",
+            "key": "flammability",
+            "value": "ASTM E84 Class A / Class 1"
+          },
+          {
+            "namespace": "dwc",
+            "key": "origin",
+            "value": "Denmark"
+          },
+          {
+            "namespace": "dwc",
+            "key": "product_type",
+            "value": "Wallcoverings"
+          },
+          {
+            "namespace": "custom",
+            "key": "brand",
+            "value": "Carnegie"
+          },
+          {
+            "namespace": "custom",
+            "key": "real_vendor",
+            "value": "Carnegie"
+          },
+          {
+            "namespace": "custom",
+            "key": "manufacturer_specs",
+            "value": "{\"manufacturer\":\"Carnegie\",\"manufacturer_sku\":\"7362wa23-wallcoverings\",\"source_url\":\"https://carnegiefabrics.com/alpine-7362-wallcoverings\",\"specs\":{\"Type\":\"Modernfold Pre-Approved Skyfold Pre-Approved\",\"Width\":\"54\\\" (137 cm)\",\"Backing\":\"Heavy Acrylic Heavy Acrylic: This backing provides a coating to enhance adhesion and prevent bleed through of adhesives and is preferred for heavier duty installs such as moveable wall systems.\",\"Free of\":\"PVC Red List Chemicals Stain resistant finishes\",\"Contents\":\"100% Polypropylene\",\"Warranty\":\"10 years\",\"ACT Symbols\":\"\",\"Flammability\":\"ASTM E84 Class A / Class 1\",\"Cleaning Code\":\"WS & BC - Water/Solvent & Bleach Cleanable\",\"Backing Note(s)\":\"Heavy Acrylic: This backing provides a coating to enhance adhesion and prevent bleed through of adhesives and is preferred for heavier duty installs such as moveable wall systems.\",\"Manufactured In\":\"Denmark\",\"Backing (as stocked)\":\"Heavy Acrylic Heavy Acrylic: This backing provides a coating to enhance adhesion and prevent bleed through of adhesives and is preferred for heavier duty installs such as moveable wall systems.\",\"Finish/es (as stocked)\":\"Finish-Free\",\"Weight per Linear Yard\":\"11.8 oz\",\"Standards and Certifications\":\"HHI (Healthier Hospitals Initiative) Kaiser Permanente LEED Mindful Materials\",\"Product Specifications Spec Sheet Health Product Declaration Download Product HPD Cleaning Documents Maintenance and Cleaning Instructions Flame Certificates ASTM e84 Install Documents Durable Woven Acrylic Backed Wallcovering Installation Instructions Programs/ Partnerships Programs\":\"Modernfold Pre-Approvals Skyfold Pre-Approvals GSA Advantage\"}}"
+          },
+          {
+            "namespace": "carnegie",
+            "key": "manufacturer_sku",
+            "value": "7362wa23-wallcoverings"
+          },
+          {
+            "namespace": "carnegie",
+            "key": "source_url",
+            "value": "https://carnegiefabrics.com/alpine-7362-wallcoverings"
+          },
+          {
+            "namespace": "carnegie",
+            "key": "type",
+            "value": "Modernfold Pre-Approved Skyfold Pre-Approved"
+          },
+          {
+            "namespace": "carnegie",
+            "key": "width",
+            "value": "54\" (137 cm)"
+          },
+          {
+            "namespace": "carnegie",
+            "key": "backing",
+            "value": "Heavy Acrylic Heavy Acrylic: This backing provides a coating to enhance adhesion and prevent bleed through of adhesives and is preferred for heavier duty installs such as moveable wall systems."
+          },
+          {
+            "namespace": "carnegie",
+            "key": "free_of",
+            "value": "PVC Red List Chemicals Stain resistant finishes"
+          },
+          {
+            "namespace": "carnegie",
+            "key": "contents",
+            "value": "100% Polypropylene"
+          },
+          {
+            "namespace": "carnegie",
+            "key": "warranty",
+            "value": "10 years"
+          },
+          {
+            "namespace": "carnegie",
+            "key": "flammability",
+            "value": "ASTM E84 Class A / Class 1"
+          },
+          {
+            "namespace": "carnegie",
+            "key": "cleaning_code",
+            "value": "WS & BC - Water/Solvent & Bleach Cleanable"
+          },
+          {
+            "namespace": "carnegie",
+            "key": "backing_note_s",
+            "value": "Heavy Acrylic: This backing provides a coating to enhance adhesion and prevent bleed through of adhesives and is preferred for heavier duty installs such as moveable wall systems."
+          },
+          {
+            "namespace": "carnegie",
+            "key": "manufactured_in",
+            "value": "Denmark"
+          },
+          {
+            "namespace": "carnegie",
+            "key": "backing_as_stocked",
+            "value": "Heavy Acrylic Heavy Acrylic: This backing provides a coating to enhance adhesion and prevent bleed through of adhesives and is preferred for heavier duty installs such as moveable wall systems."
+          },
+          {
+            "namespace": "carnegie",
+            "key": "finish_es_as_stocked",
+            "value": "Finish-Free"
+          },
+          {
+            "namespace": "carnegie",
+            "key": "weight_per_linear_yard",
+            "value": "11.8 oz"
+          },
+          {
+            "namespace": "carnegie",
+            "key": "standards_and_certifications",
+            "value": "HHI (Healthier Hospitals Initiative) Kaiser Permanente LEED Mindful Materials"
+          },
+          {
+            "namespace": "carnegie",
+            "key": "product_specifications_spec_sheet_health_produ_e49d2928",
+            "value": "Modernfold Pre-Approvals Skyfold Pre-Approvals GSA Advantage"
+          },
+          {
+            "namespace": "custom",
+            "key": "material",
+            "value": "100% Polypropylene"
+          },
+          {
+            "namespace": "custom",
+            "key": "fire_rating",
+            "value": "ASTM E84 Class A / Class 1"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7896452694067",
+      "title": "Wool and Wool",
+      "handle": "wool-and-wool",
+      "vendor": "Christian Fischbacher",
+      "status": "DRAFT",
+      "tags": [
+        "Christian Fischbacher",
+        "Fabric",
+        "Fischbacher-staged-2026-07"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/44585582919731",
+            "sku": "2764.400",
+            "title": "400",
+            "price": "0.00"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44585582952499",
+            "sku": "2764.401",
+            "title": "401",
+            "price": "0.00"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44585582985267",
+            "sku": "2764.405",
+            "title": "405",
+            "price": "0.00"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44585583018035",
+            "sku": "2764.407",
+            "title": "407",
+            "price": "0.00"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": [
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/woolandwool_02764_401_1.jpg?v=1784738954"
+          },
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/fischbacher_fabrics_woolandwool_02764_405_and_401_p_rgb_1.jpg?v=1784738954"
+          }
+        ]
+      },
+      "metafields": {
+        "nodes": [
+          {
+            "namespace": "fischbacher",
+            "key": "mfr_sku",
+            "value": "2764"
+          },
+          {
+            "namespace": "fischbacher",
+            "key": "line",
+            "value": "Christian Fischbacher"
+          },
+          {
+            "namespace": "fischbacher",
+            "key": "source_pdp",
+            "value": "https://fischbacher1819.com/wool-and-wool-2764.html"
+          },
+          {
+            "namespace": "enrich",
+            "key": "palette",
+            "value": "[{\"hex\":\"#66737c\",\"name\":\"Slate\",\"bucket\":\"Gray\",\"pct\":100}]"
+          },
+          {
+            "namespace": "enrich",
+            "key": "color_primary",
+            "value": "Slate"
+          },
+          {
+            "namespace": "enrich",
+            "key": "color_bucket",
+            "value": "Gray"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7867586576435",
+      "title": "Cork, Taupe Wallcoverings | Designtex",
+      "handle": "cork-taupe-dwdx-220336",
+      "vendor": "Designtex",
+      "status": "DRAFT",
+      "tags": [
+        "Collection: Biophilia",
+        "Designtex",
+        "display_variant",
+        "Needs-Description",
+        "Priced Per Yard",
+        "Taupe",
+        "Wallcovering"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/44462778875955",
+            "sku": "DWDX-220336",
+            "title": "Sold Per Yard",
+            "price": "39.82"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44462778908723",
+            "sku": "DWDX-220336-Sample",
+            "title": "Sample",
+            "price": "4.25"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": [
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/8260102__11212.1712930574.jpg?v=1782358846"
+          }
+        ]
+      },
+      "metafields": {
+        "nodes": [
+          {
+            "namespace": "custom",
+            "key": "manufacturer_sku",
+            "value": "8260102"
+          },
+          {
+            "namespace": "global",
+            "key": "manufacturer_sku",
+            "value": "8260102"
+          },
+          {
+            "namespace": "global",
+            "key": "Brand",
+            "value": "Designtex"
+          },
+          {
+            "namespace": "global",
+            "key": "dw_sku",
+            "value": "DWDX-220336"
+          },
+          {
+            "namespace": "global",
+            "key": "width",
+            "value": "54 Inches"
+          },
+          {
+            "namespace": "custom",
+            "key": "width",
+            "value": "54 Inches"
+          },
+          {
+            "namespace": "global",
+            "key": "pattern_name",
+            "value": "Cork"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_name",
+            "value": "Cork"
+          },
+          {
+            "namespace": "custom",
+            "key": "color",
+            "value": "Taupe"
+          },
+          {
+            "namespace": "global",
+            "key": "color",
+            "value": "Taupe"
+          },
+          {
+            "namespace": "dwc",
+            "key": "color",
+            "value": "Taupe"
+          },
+          {
+            "namespace": "global",
+            "key": "material",
+            "value": "100% Vinyl (without Prop 65 Phthalates)"
+          },
+          {
+            "namespace": "custom",
+            "key": "material",
+            "value": "100% Vinyl (without Prop 65 Phthalates)"
+          },
+          {
+            "namespace": "custom",
+            "key": "collection_name",
+            "value": "Biophilia"
+          },
+          {
+            "namespace": "custom",
+            "key": "cost",
+            "value": "22.0"
+          },
+          {
+            "namespace": "custom",
+            "key": "price_updated_at",
+            "value": "2026-06-25"
+          },
+          {
+            "namespace": "global",
+            "key": "unit_of_measure",
+            "value": "YARD"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7948445548595",
+      "title": "Castelnuovo Grasscloth Wallcovering | Fentucci",
+      "handle": "castelnuovo-grasscloth-wallcovering-fentucci",
+      "vendor": "Fentucci",
+      "status": "DRAFT",
+      "tags": [
+        "display_variant",
+        "Fentucci",
+        "Grasscloth",
+        "Natural Wallcovering",
+        "Needs-Image",
+        "TWIL Naturals"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/44831603130419",
+            "sku": "GRS-26280",
+            "title": "Per Yard",
+            "price": "32.85"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44831603163187",
+            "sku": "GRS-26280-Sample",
+            "title": "Sample",
+            "price": "4.25"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": []
+      },
+      "metafields": {
+        "nodes": [
+          {
+            "namespace": "global",
+            "key": "width",
+            "value": "36\" Wide (trim to 34\")"
+          },
+          {
+            "namespace": "global",
+            "key": "unit_of_measure",
+            "value": "Priced Per Yard"
+          },
+          {
+            "namespace": "global",
+            "key": "Content",
+            "value": "Natural Grasscloth"
+          },
+          {
+            "namespace": "global",
+            "key": "Brand",
+            "value": "Fentucci"
+          },
+          {
+            "namespace": "global",
+            "key": "Collection",
+            "value": "TWIL Naturals"
+          },
+          {
+            "namespace": "custom",
+            "key": "manufacturer_sku",
+            "value": "FAB258"
+          },
+          {
+            "namespace": "dwc",
+            "key": "manufacturer_sku",
+            "value": "FAB258"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_name",
+            "value": "Castelnuovo"
+          },
+          {
+            "namespace": "dwc",
+            "key": "pattern_name",
+            "value": "Castelnuovo"
+          },
+          {
+            "namespace": "dwc",
+            "key": "order_unit",
+            "value": "Yard"
+          },
+          {
+            "namespace": "dwc",
+            "key": "width",
+            "value": "36\" Wide (trim to 34\")"
+          },
+          {
+            "namespace": "custom",
+            "key": "width",
+            "value": "36\" Wide (trim to 34\")"
+          },
+          {
+            "namespace": "global",
+            "key": "length",
+            "value": "8 Yards"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7902339858483",
+      "title": "Black Coffee | Greenland",
+      "handle": "black-coffee-greenland",
+      "vendor": "Greenland",
+      "status": "DRAFT",
+      "tags": [
+        "Cork",
+        "Greenland",
+        "Needs-Price",
+        "quotes",
+        "Wallcovering"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/44606038048819",
+            "sku": "DWGL-H192NQ8317",
+            "title": "Roll",
+            "price": "0.00"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44606038081587",
+            "sku": "DWGL-H192NQ8317-Sample",
+            "title": "Sample",
+            "price": "4.25"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": [
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/H192NQ8317_a6dd61d7-e01a-41be-bb23-9f2598a6421e.jpg?v=1785395409"
+          }
+        ]
+      },
+      "metafields": {
+        "nodes": [
+          {
+            "namespace": "custom",
+            "key": "pattern_name",
+            "value": "Black coffee"
+          },
+          {
+            "namespace": "custom",
+            "key": "material",
+            "value": "Cork"
+          },
+          {
+            "namespace": "specs",
+            "key": "composition",
+            "value": "CORK 100%"
+          },
+          {
+            "namespace": "custom",
+            "key": "width",
+            "value": "91.5 cm/36''"
+          },
+          {
+            "namespace": "custom",
+            "key": "min_order",
+            "value": "5.5 meters / 6 yards"
+          },
+          {
+            "namespace": "global",
+            "key": "Substrate",
+            "value": "Non Woven"
+          },
+          {
+            "namespace": "custom",
+            "key": "fire_rating",
+            "value": "ASTM E84 Class A"
+          },
+          {
+            "namespace": "custom",
+            "key": "manufacturer_sku",
+            "value": "H192NQ8317"
+          },
+          {
+            "namespace": "global",
+            "key": "Brand",
+            "value": "Greenland"
+          },
+          {
+            "namespace": "global",
+            "key": "unit_of_measure",
+            "value": "Priced Per Roll (Quote)"
+          },
+          {
+            "namespace": "global",
+            "key": "width_inches",
+            "value": "36.0"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7940905336883",
+      "title": "Little Hearts Linen | Harlequin",
+      "handle": "little-hearts-linen-harlequin",
+      "vendor": "Harlequin",
+      "status": "DRAFT",
+      "tags": [
+        "Collection-Book-Of-Little-Treasures-Wallpapers",
+        "DWHA",
+        "Harlequin",
+        "harlequin-onboard-2026",
+        "Needs-Width",
+        "wallcovering"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/44812589105203",
+            "sku": "DWHA-570403",
+            "title": "Single Roll",
+            "price": "168.33"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44812589137971",
+            "sku": "DWHA-570403-Sample",
+            "title": "Sample",
+            "price": "4.25"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": [
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/DWHA-570403.jpg?v=1788350505"
+          }
+        ]
+      },
+      "metafields": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7519957549107",
+      "title": "Upscale Vagabond 2 Pewter - Gray Commercial Wallcovering | Koroseal",
+      "handle": "dwk-29159-upscale-vagabond-2-designer-wallcoverings-los-angeles",
+      "vendor": "Koroseal",
+      "status": "DRAFT",
+      "tags": [
+        "2026 Inventory",
+        "2U22-15",
+        "Architectural Wallcoverings",
+        "Basketweave",
+        "Bedroom",
+        "Charcoal",
+        "Class A Fire Rated",
+        "Commercial Grade",
+        "Commercial Wallcovering",
+        "Contemporary",
+        "Dark Charcoal",
+        "display_variant",
+        "DWK-29159",
+        "Geometric",
+        "Gray",
+        "Grey",
+        "Living Room",
+        "Minimalist",
+        "Modern",
+        "Office",
+        "quotes",
+        "Showroom Line",
+        "Slate",
+        "Sophisticated",
+        "Texture",
+        "Textured",
+        "Vinyl",
+        "Wallcovering"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/43931851358259",
+            "sku": "DWK-29159",
+            "title": "Default Title",
+            "price": "4.25"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": [
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/UPSCALE-VAGABOND-II_PEWTER_2U22-15__24x24_KOROSEAL.jpg?v=1739409743"
+          },
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/room-bedroom-dwk-29159-upscale-vagabond-2-designer-wallcoverings-los-angeles.jpg?v=1772241563"
+          },
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/room-living_room-dwk-29159-upscale-vagabond-2-designer-wallcoverings-los-angeles.jpg?v=1772242015"
+          },
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/room-dining_room-dwk-29159-upscale-vagabond-2-designer-wallcoverings-los-angeles.jpg?v=1772242423"
+          },
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/room-office-dwk-29159-upscale-vagabond-2-designer-wallcoverings-los-angeles.jpg?v=1772242835"
+          }
+        ]
+      },
+      "metafields": {
+        "nodes": [
+          {
+            "namespace": "global",
+            "key": "description_tag",
+            "value": "Architectural wallcoverings for commercial and high-end interiors. Specification-grade materials from your one stop resource for over 20 years."
+          },
+          {
+            "namespace": "mc-facebook",
+            "key": "google_product_category",
+            "value": "2334"
+          },
+          {
+            "namespace": "custom",
+            "key": "product_category",
+            "value": "Home & Garden > Building Materials"
+          },
+          {
+            "namespace": "dwc",
+            "key": "background_color",
+            "value": "Gray"
+          },
+          {
+            "namespace": "dwc",
+            "key": "pattern_name",
+            "value": "Upscale Vagabond II"
+          },
+          {
+            "namespace": "dwc",
+            "key": "color",
+            "value": "Pewter"
+          },
+          {
+            "namespace": "dwc",
+            "key": "real_vendor",
+            "value": "Koroseal"
+          },
+          {
+            "namespace": "dwc",
+            "key": "brand",
+            "value": "Koroseal"
+          },
+          {
+            "namespace": "global",
+            "key": "Composition",
+            "value": "Vinyl"
+          },
+          {
+            "namespace": "global",
+            "key": "Backing",
+            "value": "Woven (Osnaburg)                                Nominal Pattern Width                49.5 in."
+          },
+          {
+            "namespace": "global",
+            "key": "Designer",
+            "value": "LUZ1-11"
+          },
+          {
+            "namespace": "global",
+            "key": "Fire-Rating",
+            "value": "Class A, ASTM E-84"
+          },
+          {
+            "namespace": "global",
+            "key": "width",
+            "value": "52-54 in (132-137 cm)"
+          },
+          {
+            "namespace": "global",
+            "key": "repeat",
+            "value": "33 in (84 cm)"
+          },
+          {
+            "namespace": "global",
+            "key": "Vert-Rpt",
+            "value": "33 in (84 cm)"
+          },
+          {
+            "namespace": "global",
+            "key": "MATCH",
+            "value": "Non-Reverse Hang, Straight Match"
+          },
+          {
+            "namespace": "global",
+            "key": "Type",
+            "value": "Wallcovering"
+          },
+          {
+            "namespace": "global",
+            "key": "lead_time",
+            "value": "3-5 Business Days"
+          },
+          {
+            "namespace": "global",
+            "key": "v_prods_quantity_order_min",
+            "value": "2"
+          },
+          {
+            "namespace": "global",
+            "key": "v_prods_quantity_order_units",
+            "value": "2"
+          },
+          {
+            "namespace": "global",
+            "key": "Brand",
+            "value": "Koroseal"
+          },
+          {
+            "namespace": "global",
+            "key": "SubBrand",
+            "value": "Koroseal"
+          },
+          {
+            "namespace": "global",
+            "key": "title_tag",
+            "value": "Upscale Vagabond 2 Pewter (2U22-15) | Architectural Wallcoverings"
+          },
+          {
+            "namespace": "custom",
+            "key": "manufacturer_sku",
+            "value": "2U22-15"
+          },
+          {
+            "namespace": "specs",
+            "key": "width",
+            "value": "52-54 in (132-137 cm)"
+          },
+          {
+            "namespace": "specs",
+            "key": "material",
+            "value": "Vinyl"
+          },
+          {
+            "namespace": "specs",
+            "key": "pattern_repeat",
+            "value": "33 in (84 cm)"
+          },
+          {
+            "namespace": "specs",
+            "key": "collection",
+            "value": "Koroseal"
+          },
+          {
+            "namespace": "specs",
+            "key": "fire_rating_us",
+            "value": "Class A, ASTM E-84"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_name",
+            "value": "Upscale Vagabond 2 Pewter"
+          },
+          {
+            "namespace": "custom",
+            "key": "width",
+            "value": "52-54 in (132-137 cm)"
+          },
+          {
+            "namespace": "custom",
+            "key": "collection_name",
+            "value": "Koroseal"
+          },
+          {
+            "namespace": "custom",
+            "key": "material",
+            "value": "Vinyl"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_repeat",
+            "value": "33 in (84 cm)"
+          },
+          {
+            "namespace": "global",
+            "key": "Collection",
+            "value": "Koroseal"
+          },
+          {
+            "namespace": "custom",
+            "key": "fire_rating",
+            "value": "Inquire for more Information"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_details",
+            "value": "[{\"name\":\"Slate\",\"hex\":\"#73746F\",\"percentage\":18.6},{\"name\":\"Gray\",\"hex\":\"#7B7C77\",\"percentage\":13.4}]"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_hex",
+            "value": "#73746F"
+          },
+          {
+            "namespace": "specs",
+            "key": "repeat_v",
+            "value": "33 in (84 cm)"
+          },
+          {
+            "namespace": "dwc",
+            "key": "repeat",
+            "value": "33 in (84 cm)"
+          },
+          {
+            "namespace": "dwc",
+            "key": "width",
+            "value": "52-54 in (132-137 cm)"
+          },
+          {
+            "namespace": "custom",
+            "key": "brand",
+            "value": "Koroseal"
+          },
+          {
+            "namespace": "custom",
+            "key": "color",
+            "value": "Gray"
+          },
+          {
+            "namespace": "custom",
+            "key": "real_vendor",
+            "value": "Koroseal"
+          },
+          {
+            "namespace": "dwc",
+            "key": "manufacturer_sku",
+            "value": "2U22-15"
+          },
+          {
+            "namespace": "dwc",
+            "key": "contents",
+            "value": "Vinyl"
+          },
+          {
+            "namespace": "dwc",
+            "key": "collection",
+            "value": "Koroseal"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_1_hex",
+            "value": "#73746F"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_1_percentage",
+            "value": "18.6"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_1_name",
+            "value": "Slate"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_2_hex",
+            "value": "#7B7C77"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_2_percentage",
+            "value": "13.4"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_2_name",
+            "value": "Gray"
+          },
+          {
+            "namespace": "custom",
+            "key": "hue_coverage",
+            "value": "{\"red\":0.0,\"orange\":0.0,\"yellow\":0.0,\"green\":0.0,\"teal\":0.0,\"blue\":0.0,\"purple\":0.0,\"pink\":0.0,\"brown\":0.0,\"gold\":0.0,\"beige\":0.0,\"white\":0.0,\"black\":0.0,\"gray\":100.0}"
+          },
+          {
+            "namespace": "custom",
+            "key": "cov_gray",
+            "value": "100.0"
+          },
+          {
+            "namespace": "custom",
+            "key": "showroom_line",
+            "value": "true"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_id",
+            "value": "koroseal::t2::upscale vagabond 2 pewter"
+          },
+          {
+            "namespace": "custom",
+            "key": "material_category",
+            "value": "Vinyl"
+          },
+          {
+            "namespace": "custom",
+            "key": "product_class",
+            "value": "Wallcovering"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_normalized_at",
+            "value": "2026-07-28T15:44:25Z"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_palette",
+            "value": "[{\"hex\":\"#6F706B\",\"pct\":100.0}]"
+          },
+          {
+            "namespace": "custom",
+            "key": "is_commercial",
+            "value": "true"
+          },
+          {
+            "namespace": "custom",
+            "key": "market_segment",
+            "value": "Commercial"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7525713150003",
+      "title": "Pacific Mist - Reef Tide | Malibu Wallcovering",
+      "handle": "dwqw-57699-handle",
+      "vendor": "Malibu Wallpaper",
+      "status": "DRAFT",
+      "tags": [
+        "Architectural",
+        "Class A Fire Rated",
+        "Coastal",
+        "Commercial",
+        "display_variant",
+        "DWQW-57699",
+        "Grasscloth",
+        "Light Blue",
+        "Malibu Wallpaper",
+        "Off-White",
+        "Pacific Mist",
+        "Reef Tide",
+        "Scandinavian",
+        "Sold by the Bolt",
+        "Stripe",
+        "Textured",
+        "Type II 20oz Vinyl",
+        "Wallcovering"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/43156922302515",
+            "sku": "DWQW-57699-Sample",
+            "title": "Sample",
+            "price": "4.25"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44237764132915",
+            "sku": "DWQW-57699",
+            "title": "Roll(27\" x 4.5yd)",
+            "price": "114.03"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": []
+      },
+      "metafields": {
+        "nodes": [
+          {
+            "namespace": "global",
+            "key": "description_tag",
+            "value": "Shop Horizon by Malibu Wallpaper at Designer Wallcoverings. Free samples, expert trade designer support, and hand-held service from selection through install."
+          },
+          {
+            "namespace": "mc-facebook",
+            "key": "google_product_category",
+            "value": "2334"
+          },
+          {
+            "namespace": "global",
+            "key": "title_tag",
+            "value": "Horizon Offshore - Malibu Wallpaper | Free Samples"
+          },
+          {
+            "namespace": "global",
+            "key": "v_prods_quantity_order_min",
+            "value": "2"
+          },
+          {
+            "namespace": "global",
+            "key": "v_prods_quantity_order_units",
+            "value": "2"
+          },
+          {
+            "namespace": "global",
+            "key": "manufacturer_sku",
+            "value": "TS80602"
+          },
+          {
+            "namespace": "specs",
+            "key": "weight",
+            "value": "2 LB"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_details",
+            "value": "[{\"hex\":\"#B0C4DE\",\"name\":\"Light Blue\",\"percentage\":45},{\"hex\":\"#F5F5DC\",\"name\":\"Off-white\",\"percentage\":30},{\"hex\":\"#A9A9A9\",\"name\":\"Gray\",\"percentage\":15},{\"hex\":\"#D3D3D3\",\"name\":\"Light Gray\",\"percentage\":10}]"
+          },
+          {
+            "namespace": "specs",
+            "key": "pattern",
+            "value": "striped"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_hex",
+            "value": "#B0C4DE"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_name",
+            "value": "Horizon Ombre Stripe Offshore Blue"
+          },
+          {
+            "namespace": "custom",
+            "key": "manufacturer_sku",
+            "value": "TS80602"
+          },
+          {
+            "namespace": "custom",
+            "key": "cost",
+            "value": "63.0"
+          },
+          {
+            "namespace": "custom",
+            "key": "background_color",
+            "value": "Light Blue"
+          },
+          {
+            "namespace": "dwc",
+            "key": "ai_generated_description",
+            "value": "This wallcovering features a subtle stripe pattern with a textured effect, creating a sophisticated and calming ambiance. Its contemporary style and light blue color palette evoke a coastal feel, perfect for creating a serene atmosphere. Recommended for residential spaces seeking a touch of understated elegance and relaxation."
+          },
+          {
+            "namespace": "global",
+            "key": "color_hex",
+            "value": "#B0C4DE"
+          },
+          {
+            "namespace": "custom",
+            "key": "design_name_src",
+            "value": "Horizon Ombre Stripe"
+          },
+          {
+            "namespace": "custom",
+            "key": "colorway_src",
+            "value": "Offshore Blue"
+          },
+          {
+            "namespace": "custom",
+            "key": "design_name",
+            "value": "Pacific Mist"
+          },
+          {
+            "namespace": "custom",
+            "key": "colorway_name",
+            "value": "Reef Tide"
+          },
+          {
+            "namespace": "custom",
+            "key": "material",
+            "value": "Type II 20oz Vinyl"
+          },
+          {
+            "namespace": "custom",
+            "key": "roll_width",
+            "value": "27 in | 68.5 cm"
+          },
+          {
+            "namespace": "custom",
+            "key": "roll_length",
+            "value": "9 yd | 8.2 m"
+          },
+          {
+            "namespace": "custom",
+            "key": "design_repeat",
+            "value": "5.2 in | 13.2 cm"
+          },
+          {
+            "namespace": "custom",
+            "key": "price_retail",
+            "value": "63"
+          },
+          {
+            "namespace": "custom",
+            "key": "price_dw",
+            "value": "114.03"
+          },
+          {
+            "namespace": "custom",
+            "key": "private_label",
+            "value": "Malibu Wallpaper"
+          },
+          {
+            "namespace": "custom",
+            "key": "cart_min_qty",
+            "value": "2"
+          },
+          {
+            "namespace": "custom",
+            "key": "cart_qty_increment",
+            "value": "2"
+          },
+          {
+            "namespace": "custom",
+            "key": "single_roll",
+            "value": "27\" x 4.5yd"
+          },
+          {
+            "namespace": "custom",
+            "key": "fire_rating",
+            "value": "Class A · ASTM E84"
+          },
+          {
+            "namespace": "global",
+            "key": "single_roll_length",
+            "value": "4.5 yd | 4.1 m"
+          },
+          {
+            "namespace": "global",
+            "key": "double_roll_length",
+            "value": "9 yd | 8.2 m"
+          },
+          {
+            "namespace": "global",
+            "key": "unit_of_measure",
+            "value": "Priced per single roll — packaged in double rolls only. Single roll: 27 in | 68.5 cm × 4.5 yd | 4.1 m. Double roll: 27 in | 68.5 cm × 9 yd | 8.2 m."
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7876849565747",
+      "title": "Abstract Flora 6800409, Made to Measure Mural Non-Woven Wallcoverings | Newwall",
+      "handle": "abstract-flora-6800409-made-to-measure-mural-non-woven-dwxw-1005918",
+      "vendor": "Newwall",
+      "status": "DRAFT",
+      "tags": [
+        "Collection: A",
+        "display_variant",
+        "Made to Measure Mural Non-Woven",
+        "Needs-Specs",
+        "Needs-Width",
+        "Newwall",
+        "Priced Per Single Roll",
+        "Wallcovering"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/44492386664499",
+            "sku": "DWXW-1005918",
+            "title": "Single Roll",
+            "price": "159.28"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44492386697267",
+            "sku": "DWXW-1005918-Sample",
+            "title": "Sample",
+            "price": "4.25"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": [
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/6800409-main-2.jpg?v=1783284032"
+          },
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/6800409-main-2_a8ce2990-4b53-4b43-b342-8a0f0c6f58be.jpg?v=1783284032"
+          }
+        ]
+      },
+      "metafields": {
+        "nodes": [
+          {
+            "namespace": "custom",
+            "key": "manufacturer_sku",
+            "value": "6800409"
+          },
+          {
+            "namespace": "global",
+            "key": "manufacturer_sku",
+            "value": "6800409"
+          },
+          {
+            "namespace": "global",
+            "key": "Brand",
+            "value": "Newwall"
+          },
+          {
+            "namespace": "global",
+            "key": "dw_sku",
+            "value": "DWXW-1005918"
+          },
+          {
+            "namespace": "global",
+            "key": "pattern_name",
+            "value": "Abstract Flora 6800409"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_name",
+            "value": "Abstract Flora 6800409"
+          },
+          {
+            "namespace": "custom",
+            "key": "color",
+            "value": "Made to Measure Mural Non-Woven"
+          },
+          {
+            "namespace": "global",
+            "key": "color",
+            "value": "Made to Measure Mural Non-Woven"
+          },
+          {
+            "namespace": "dwc",
+            "key": "color",
+            "value": "Made to Measure Mural Non-Woven"
+          },
+          {
+            "namespace": "global",
+            "key": "material",
+            "value": "Non-Woven, Type II, Vinyl"
+          },
+          {
+            "namespace": "custom",
+            "key": "material",
+            "value": "Non-Woven, Type II, Vinyl"
+          },
+          {
+            "namespace": "custom",
+            "key": "collection_name",
+            "value": "A"
+          },
+          {
+            "namespace": "custom",
+            "key": "cost",
+            "value": "88.0"
+          },
+          {
+            "namespace": "custom",
+            "key": "price_updated_at",
+            "value": "2026-07-05"
+          },
+          {
+            "namespace": "global",
+            "key": "unit_of_measure",
+            "value": "Priced Per Single Roll"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7862953443379",
+      "title": "Alicante Velvet Walls Hunter Green Memo Sample | Phillipe Romano",
+      "handle": "alicante-velvet-walls-hunter-green-memo-sample-phillipe-romano",
+      "vendor": "Phillipe Romano",
+      "status": "DRAFT",
+      "tags": [
+        "51\"",
+        "Alicante Velvet Walls",
+        "Architectural",
+        "Background Color Green",
+        "Class A Fire Rated",
+        "color:Onyx",
+        "Commercial",
+        "Dark Green",
+        "display-exclude",
+        "display_variant",
+        "Fabric",
+        "Flock Look",
+        "Flock Velvet",
+        "Flock Walls",
+        "Flocked Velvet",
+        "Flocked Wallcovering",
+        "Green",
+        "Hunter Green",
+        "Memo Sample",
+        "Phillipe Romano",
+        "Real Velvet",
+        "RM_410_63",
+        "Texture",
+        "Textured",
+        "Traditional",
+        "Velvet",
+        "Velvet Wallcovering",
+        "Velvet Walls",
+        "Velvet Walls by Phillipe Romano",
+        "Wallcovering",
+        "Woven"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/44442518126643",
+            "sku": "DWVE-430760",
+            "title": "Default Title",
+            "price": "4.25"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": [
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/RM_410_63_c7211a54-a518-428d-a7de-728ff9fb9f8c.jpg?v=1781638363"
+          }
+        ]
+      },
+      "metafields": {
+        "nodes": [
+          {
+            "namespace": "custom",
+            "key": "sample_of",
+            "value": "gid://shopify/Product/6621006102579"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7664930881587",
+      "title": "Aged Velvet Dungarees - Steel Blue Fabric | Ralph Lauren",
+      "handle": "ralph-90024-frl5316-01-ralph-lauren",
+      "vendor": "Ralph Lauren",
+      "status": "DRAFT",
+      "tags": [
+        "display_variant",
+        "Needs-Price"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/43611397292083",
+            "sku": "Ralph-90024",
+            "title": "Sample",
+            "price": "0.00"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": [
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/174172_1e06b50f-a7b9-4064-9089-51f2046f5685.webp?v=1757455304"
+          }
+        ]
+      },
+      "metafields": {
+        "nodes": [
+          {
+            "namespace": "global",
+            "key": "title_tag",
+            "value": "Aged Velvet Dungarees Fabric | Ralph Lauren Home"
+          },
+          {
+            "namespace": "global",
+            "key": "description_tag",
+            "value": "Shop Ralph Lauren Fabrics at Designer Wallcoverings – the trusted resource for architects and interior designers for over 20 years. Trade pricing available. Fast shipping. Samples available."
+          },
+          {
+            "namespace": "mc-facebook",
+            "key": "google_product_category",
+            "value": "4171"
+          },
+          {
+            "namespace": "global",
+            "key": "width",
+            "value": "55 in"
+          },
+          {
+            "namespace": "global",
+            "key": "repeat",
+            "value": "0 in"
+          },
+          {
+            "namespace": "global",
+            "key": "Vert-Rpt",
+            "value": "0 in"
+          },
+          {
+            "namespace": "global",
+            "key": "PATTERN_REPEAT_VERTICAL",
+            "value": "0 in"
+          },
+          {
+            "namespace": "global",
+            "key": "Horz-Rpt",
+            "value": "0 in"
+          },
+          {
+            "namespace": "global",
+            "key": "PATTERN_REPEAT_HORIZONTAL",
+            "value": "0 in"
+          },
+          {
+            "namespace": "global",
+            "key": "Contents",
+            "value": "54% Pl 39% Pc 7% Vi"
+          },
+          {
+            "namespace": "global",
+            "key": "Collection",
+            "value": "Rue Boheme Fabrics"
+          },
+          {
+            "namespace": "global",
+            "key": "Cleaning-Code",
+            "value": "DRY CLEAN - P process (GENTLE), MACHINE WASH @ 30c GENTLE CYCLE, IRON COOL (1 spot - 110deg c), NO TUMBLE DRY, NO BLEACH"
+          },
+          {
+            "namespace": "global",
+            "key": "Weight",
+            "value": "11 oz/sq.yd"
+          },
+          {
+            "namespace": "global",
+            "key": "Martindale-#",
+            "value": "30000"
+          },
+          {
+            "namespace": "global",
+            "key": "MATCH",
+            "value": "Random match"
+          },
+          {
+            "namespace": "global",
+            "key": "MATCH_TYPE",
+            "value": "Random match"
+          },
+          {
+            "namespace": "global",
+            "key": "Tests-Passed",
+            "value": "EN1021-1 Cigarette - UPHOLSTERY; NFPA 260/UFAC Class 1 - UPHOLSTERY; CAL 117 - UPHOLSTERY"
+          },
+          {
+            "namespace": "global",
+            "key": "Usage",
+            "value": "Cushions, Curtains And Blinds, Loose Covers, Upholstery"
+          },
+          {
+            "namespace": "global",
+            "key": "FABRIC_USAGE",
+            "value": "Cushions, Curtains And Blinds, Loose Covers, Upholstery"
+          },
+          {
+            "namespace": "global",
+            "key": "length",
+            "value": "Per Yard"
+          },
+          {
+            "namespace": "global",
+            "key": "v_prods_quantity_order_min",
+            "value": "1"
+          },
+          {
+            "namespace": "global",
+            "key": "v_prods_quantity_order_units",
+            "value": "1"
+          },
+          {
+            "namespace": "global",
+            "key": "unit_of_measure",
+            "value": "Priced Per Yard"
+          },
+          {
+            "namespace": "global",
+            "key": "Brand",
+            "value": "Ralph Lauren"
+          },
+          {
+            "namespace": "dwc",
+            "key": "background_color",
+            "value": "Slate"
+          },
+          {
+            "namespace": "dwc",
+            "key": "real_vendor",
+            "value": "Designers Guild"
+          },
+          {
+            "namespace": "dwc",
+            "key": "brand",
+            "value": "Ralph Lauren"
+          },
+          {
+            "namespace": "global",
+            "key": "type",
+            "value": "Fabric"
+          },
+          {
+            "namespace": "custom",
+            "key": "manufacturer_sku",
+            "value": "FRL5316/01"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_name",
+            "value": "Aged Velvet Dungarees"
+          },
+          {
+            "namespace": "custom",
+            "key": "collection_name",
+            "value": "Rue Boheme Fabrics"
+          },
+          {
+            "namespace": "custom",
+            "key": "width",
+            "value": "55 in"
+          },
+          {
+            "namespace": "specs",
+            "key": "pattern_repeat",
+            "value": "0 in"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_details",
+            "value": "[{\"name\":\"Slate Blue\",\"hex\":\"#5F7A8A\",\"percentage\":45},{\"name\":\"Smoke\",\"hex\":\"#7A8A94\",\"percentage\":30},{\"name\":\"Slate Blue\",\"hex\":\"#546A75\",\"percentage\":15},{\"name\":\"Steel\",\"hex\":\"#94A3AD\",\"percentage\":10}]"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_hex",
+            "value": "#5F7A8A"
+          },
+          {
+            "namespace": "specs",
+            "key": "repeat_vertical",
+            "value": "0"
+          },
+          {
+            "namespace": "specs",
+            "key": "repeat_horizontal",
+            "value": "0"
+          },
+          {
+            "namespace": "dwc",
+            "key": "collection",
+            "value": "Rue Boheme Fabrics"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_repeat",
+            "value": "0"
+          },
+          {
+            "namespace": "dwc",
+            "key": "repeat",
+            "value": "0"
+          },
+          {
+            "namespace": "dwc",
+            "key": "width",
+            "value": "55 in"
+          },
+          {
+            "namespace": "custom",
+            "key": "material",
+            "value": "54% Pl 39% Pc 7% Vi"
+          },
+          {
+            "namespace": "dwc",
+            "key": "contents",
+            "value": "54% Pl 39% Pc 7% Vi"
+          },
+          {
+            "namespace": "custom",
+            "key": "brand",
+            "value": "Ralph Lauren"
+          },
+          {
+            "namespace": "custom",
+            "key": "color",
+            "value": "Steel Blue"
+          },
+          {
+            "namespace": "custom",
+            "key": "real_vendor",
+            "value": "Designers Guild"
+          },
+          {
+            "namespace": "dwc",
+            "key": "manufacturer_sku",
+            "value": "FRL5316/01"
+          },
+          {
+            "namespace": "dwc",
+            "key": "pattern_name",
+            "value": "Aged Velvet Dungarees"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_1_hex",
+            "value": "#5F7A8A"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_1_percentage",
+            "value": "45.0"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_1_name",
+            "value": "Slate Blue"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_2_hex",
+            "value": "#7A8A94"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_2_percentage",
+            "value": "30.0"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_2_name",
+            "value": "Smoke"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_3_hex",
+            "value": "#546A75"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_3_percentage",
+            "value": "15.0"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_3_name",
+            "value": "Slate Blue"
+          },
+          {
+            "namespace": "custom",
+            "key": "hue_coverage",
+            "value": "{\"red\":0.0,\"orange\":0.0,\"yellow\":0.0,\"green\":0.0,\"teal\":4.1,\"blue\":1.4,\"purple\":0.0,\"pink\":0.0,\"brown\":0.0,\"gold\":0.0,\"beige\":0.0,\"white\":0.0,\"black\":0.0,\"gray\":22.6}"
+          },
+          {
+            "namespace": "custom",
+            "key": "cov_gray",
+            "value": "22.6"
+          },
+          {
+            "namespace": "custom",
+            "key": "cov_blue",
+            "value": "1.4"
+          },
+          {
+            "namespace": "custom",
+            "key": "showroom_line",
+            "value": "true"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7898226098227",
+      "title": "Backwood Birds, Brown Wallcoverings | Rebel Walls",
+      "handle": "backwood-birds-brown-wallcoverings-dwrw-361359",
+      "vendor": "Rebel Walls",
+      "status": "DRAFT",
+      "tags": [
+        "Brown",
+        "Collection: Meet a Rebel",
+        "Mural",
+        "Non-Woven",
+        "Priced Per Square Meter",
+        "Rebel Walls",
+        "Wall Mural"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/44592480419891",
+            "sku": "DWRW-361359",
+            "title": "Mural (per m²)",
+            "price": "220.75"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44592480452659",
+            "sku": "DWRW-361359-Sample",
+            "title": "Sample",
+            "price": "4.25"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": [
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/R19261_interior1.webp?v=1784965220"
+          }
+        ]
+      },
+      "metafields": {
+        "nodes": [
+          {
+            "namespace": "custom",
+            "key": "manufacturer_sku",
+            "value": "R19261"
+          },
+          {
+            "namespace": "global",
+            "key": "manufacturer_sku",
+            "value": "R19261"
+          },
+          {
+            "namespace": "global",
+            "key": "Brand",
+            "value": "Rebel Walls"
+          },
+          {
+            "namespace": "global",
+            "key": "dw_sku",
+            "value": "DWRW-361359"
+          },
+          {
+            "namespace": "global",
+            "key": "width",
+            "value": "19.7 in / 0.5 m"
+          },
+          {
+            "namespace": "custom",
+            "key": "width",
+            "value": "19.7 in / 0.5 m"
+          },
+          {
+            "namespace": "global",
+            "key": "pattern_name",
+            "value": "Backwood Birds"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_name",
+            "value": "Backwood Birds"
+          },
+          {
+            "namespace": "custom",
+            "key": "color",
+            "value": "Brown"
+          },
+          {
+            "namespace": "global",
+            "key": "color",
+            "value": "Brown"
+          },
+          {
+            "namespace": "dwc",
+            "key": "color",
+            "value": "Brown"
+          },
+          {
+            "namespace": "custom",
+            "key": "fire_rating",
+            "value": "EU Fire Class B-s1, d0 and US Fire Class A"
+          },
+          {
+            "namespace": "global",
+            "key": "material",
+            "value": "Non-woven"
+          },
+          {
+            "namespace": "custom",
+            "key": "material",
+            "value": "Non-woven"
+          },
+          {
+            "namespace": "custom",
+            "key": "collection_name",
+            "value": "Meet a Rebel"
+          },
+          {
+            "namespace": "internal",
+            "key": "settlement_hold",
+            "value": "{\"verdict\":\"HELD\",\"reason\":\"vision-vision-http-429\",\"ts\":\"2026-09-09T16:25:33.507Z\",\"by\":\"dw-rotation-activator\"}"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7911516241971",
+      "title": "Bamboo Bark",
+      "handle": "bamboo-bark",
+      "vendor": "Romo",
+      "status": "DRAFT",
+      "tags": [
+        "Beige",
+        "Brown",
+        "Coastal",
+        "Dark Brown",
+        "display_variant",
+        "Grasscloth",
+        "Priced Per Single Roll",
+        "Romo",
+        "Tan",
+        "Textured",
+        "Traditional",
+        "Wallcovering"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/44660305985587",
+            "sku": "DWRM-240216",
+            "title": "Single Roll",
+            "price": "1337.92"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44660306018355",
+            "sku": "DWRM-240216-Sample",
+            "title": "Sample",
+            "price": "4.25"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": [
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/MW151-03-bamboo-wallcovering-bark_03.jpg?v=1785783477"
+          },
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/MW151-03-bamboo-wallcovering-bark_03_3c39a40d-e10f-4e72-b519-a3c81877a078.jpg?v=1785783477"
+          },
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/MW151-03-bamboo-wallcovering-bark_01.jpg?v=1785783477"
+          },
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/MW151-03-bamboo-wallcovering-bark_00.jpg?v=1785783477"
+          },
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/MW151-03-bamboo-wallcovering-bark_03_93aa8636-acd0-4dc6-8aa8-f8f7ba5840bb.jpg?v=1785783477"
+          }
+        ]
+      },
+      "metafields": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7552740458547",
+      "title": "Ramie Weave Type 2 Charcoal Grey | Thibaut",
+      "handle": "dwtt-81041-designer-wallcoverings-los-angeles",
+      "vendor": "Thibaut",
+      "status": "DRAFT",
+      "tags": [
+        "Architectural",
+        "beige",
+        "Charcoal Grey",
+        "Contemporary",
+        "display_variant",
+        "gray",
+        "Grey",
+        "Pattern",
+        "Ramie Weave",
+        "Ramie Weave Type 2 Charcoal",
+        "T81041",
+        "Texture",
+        "Thibaut",
+        "Wallcovering",
+        "white"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/43243616665651",
+            "sku": "DWTT-81041-SAMPLE",
+            "title": "Sample",
+            "price": "4.25"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/43243616698419",
+            "sku": "DWTT-81041",
+            "title": "Sold Per (27\" x 4.5yds)",
+            "price": "143.35"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": [
+          {
+            "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/AT9886_8e9a14c7-dbea-4c65-b417-eb6dbea196e2.jpg?v=1776161853"
+          }
+        ]
+      },
+      "metafields": {
+        "nodes": [
+          {
+            "namespace": "global",
+            "key": "description_tag",
+            "value": "Our professional sales staff at Designer Wallcoverings is here to assist with all of your interior designer product needs. We offer one stop purchasing of the most well respected names in the design trade as well as our own collections. 1-888-373-4564"
+          },
+          {
+            "namespace": "mc-facebook",
+            "key": "google_product_category",
+            "value": "115"
+          },
+          {
+            "namespace": "global",
+            "key": "v_prods_quantity_order_units",
+            "value": "2"
+          },
+          {
+            "namespace": "global",
+            "key": "v_prod_quantity_order_min",
+            "value": "2"
+          },
+          {
+            "namespace": "global",
+            "key": "title",
+            "value": "Ramie Weave Type 2 Charcoal Grey Wallpaper | Thibaut"
+          },
+          {
+            "namespace": "custom",
+            "key": "collection_name",
+            "value": "Ramie Weave Type 2 Charcoal Grey Wallpaper | Thibaut"
+          },
+          {
+            "namespace": "custom",
+            "key": "manufacturer_sku",
+            "value": "T81041"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_name",
+            "value": "Ramie Weave Type 2 Charcoal"
+          },
+          {
+            "namespace": "custom",
+            "key": "color",
+            "value": "Grey"
+          },
+          {
+            "namespace": "custom",
+            "key": "background_color",
+            "value": "gray"
+          },
+          {
+            "namespace": "global",
+            "key": "v_prods_quantity_order_min",
+            "value": "2"
+          },
+          {
+            "namespace": "global",
+            "key": "lead_time",
+            "value": "3-5 Business Days"
+          },
+          {
+            "namespace": "global",
+            "key": "Lead-Time-in-Days",
+            "value": "5"
+          },
+          {
+            "namespace": "global",
+            "key": "Ship-From",
+            "value": "USA"
+          },
+          {
+            "namespace": "global",
+            "key": "Memo-Sample-Available",
+            "value": "Yes"
+          },
+          {
+            "namespace": "global",
+            "key": "DOMESTIC",
+            "value": "Yes"
+          },
+          {
+            "namespace": "global",
+            "key": "title_tag",
+            "value": "Shop Ramie Weave Type 2 Charcoal in Grey | Thibaut Wallcovering"
+          },
+          {
+            "namespace": "global",
+            "key": "Direction",
+            "value": "Up the Bolt"
+          },
+          {
+            "namespace": "global",
+            "key": "Country",
+            "value": "USA"
+          },
+          {
+            "namespace": "global",
+            "key": "Country-of-Origin",
+            "value": "USA"
+          },
+          {
+            "namespace": "global",
+            "key": "COUNTRY_OF_ORIGIN",
+            "value": "USA"
+          },
+          {
+            "namespace": "global",
+            "key": "Bullet-Point-1",
+            "value": "Ramie Weave Type 2 Charcoal Grey Wallcovering by Thibaut"
+          },
+          {
+            "namespace": "global",
+            "key": "Bullet-Point-2",
+            "value": "Premium Thibaut Wallcovering"
+          },
+          {
+            "namespace": "global",
+            "key": "Bullet-Point-3",
+            "value": "Free Samples Available | Ships from USA"
+          },
+          {
+            "namespace": "dwc",
+            "key": "order_unit",
+            "value": "Single Roll"
+          },
+          {
+            "namespace": "custom",
+            "key": "name_of_pattern",
+            "value": "Ramie Weave"
+          },
+          {
+            "namespace": "dwc",
+            "key": "color",
+            "value": "Charcoal Grey"
+          },
+          {
+            "namespace": "custom",
+            "key": "brand",
+            "value": "Thibaut"
+          },
+          {
+            "namespace": "global",
+            "key": "design",
+            "value": "Textured"
+          },
+          {
+            "namespace": "dwc",
+            "key": "pattern_name",
+            "value": "Ramie Weave Type 2 Charcoal Grey"
+          },
+          {
+            "namespace": "specs",
+            "key": "repeat_v",
+            "value": "27"
+          },
+          {
+            "namespace": "specs",
+            "key": "repeat_h",
+            "value": "27"
+          },
+          {
+            "namespace": "custom",
+            "key": "fire_rating",
+            "value": "Inquire for more Information"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_hex",
+            "value": "#A9A9A9"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_details",
+            "value": "[{\"name\":\"Ash\",\"hex\":\"#A9A9A9\",\"percentage\":45},{\"name\":\"Light Gray\",\"hex\":\"#D3D3D3\",\"percentage\":30},{\"name\":\"Cream\",\"hex\":\"#F5F5DC\",\"percentage\":15},{\"name\":\"Gray\",\"hex\":\"#808080\",\"percentage\":10}]"
+          },
+          {
+            "namespace": "dwc",
+            "key": "collection",
+            "value": "Ramie Weave Type 2 Charcoal Grey Wallpaper | Thibaut"
+          },
+          {
+            "namespace": "dwc",
+            "key": "manufacturer_sku",
+            "value": "T81041"
+          },
+          {
+            "namespace": "dwc",
+            "key": "brand",
+            "value": "Thibaut"
+          },
+          {
+            "namespace": "dwc",
+            "key": "repeat",
+            "value": "27"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_repeat",
+            "value": "27"
+          },
+          {
+            "namespace": "custom",
+            "key": "vertical_repeat",
+            "value": "27"
+          },
+          {
+            "namespace": "custom",
+            "key": "horizontal_repeat",
+            "value": "27"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_1_hex",
+            "value": "#A9A9A9"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_1_percentage",
+            "value": "45.0"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_1_name",
+            "value": "Ash"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_2_hex",
+            "value": "#D3D3D3"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_2_percentage",
+            "value": "30.0"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_2_name",
+            "value": "Light Gray"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_3_hex",
+            "value": "#F5F5DC"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_3_percentage",
+            "value": "15.0"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_3_name",
+            "value": "Cream"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7864786157619",
+      "title": "Trdd 11359 - Trdd 11359 | Wolf Gordon Wallcoverings",
+      "handle": "trdd-11359-trdd-11359-wolf-gordon-wallcoverings",
+      "vendor": "Wolf Gordon",
+      "status": "DRAFT",
+      "tags": [
+        "display_variant",
+        "Needs-Image",
+        "Textile",
+        "Wolf Gordon"
+      ],
+      "publishedAt": null,
+      "onlineStoreUrl": null,
+      "googlePublished": false,
+      "variants": {
+        "nodes": [
+          {
+            "id": "gid://shopify/ProductVariant/44450258845747",
+            "sku": "DWWG-532576",
+            "title": "Yard",
+            "price": "130.32"
+          },
+          {
+            "id": "gid://shopify/ProductVariant/44450258878515",
+            "sku": "DWWG-532576-Sample",
+            "title": "Sample",
+            "price": "4.25"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "images": {
+        "nodes": []
+      },
+      "metafields": {
+        "nodes": [
+          {
+            "namespace": "custom",
+            "key": "width",
+            "value": "54.00 in"
+          },
+          {
+            "namespace": "global",
+            "key": "width",
+            "value": "54.00\""
+          },
+          {
+            "namespace": "global",
+            "key": "material",
+            "value": "Linen/Linen Blend"
+          },
+          {
+            "namespace": "global",
+            "key": "color",
+            "value": "- TRDD 11359"
+          },
+          {
+            "namespace": "global",
+            "key": "Collection",
+            "value": "Textile"
+          },
+          {
+            "namespace": "global",
+            "key": "repeat",
+            "value": "20\""
+          },
+          {
+            "namespace": "global",
+            "key": "title_tag",
+            "value": "Trdd 11359 - - Trdd 11359 Wallcovering by Wolf Gordon Wallcoverings"
+          },
+          {
+            "namespace": "global",
+            "key": "description_tag",
+            "value": "Authorized Dealer of TRDD 11359 by WOLF GORDON WALLCOVERINGS at Designer Wallcoverings"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_name",
+            "value": "TRDD 11359"
+          },
+          {
+            "namespace": "custom",
+            "key": "manufacturer_sku",
+            "value": "TRDD 11359"
+          },
+          {
+            "namespace": "custom",
+            "key": "material",
+            "value": "Linen/Linen Blend"
+          },
+          {
+            "namespace": "custom",
+            "key": "collection_name",
+            "value": "Textile"
+          },
+          {
+            "namespace": "custom",
+            "key": "color",
+            "value": "- TRDD 11359"
+          },
+          {
+            "namespace": "custom",
+            "key": "fire_rating",
+            "value": "ASTM E84 (Adhered) and IBC Section 803.1.2 - Class A | Flame Spread: 20 / Smoke Developed: 35"
+          },
+          {
+            "namespace": "custom",
+            "key": "color_hex",
+            "value": "#F5F5DC"
+          },
+          {
+            "namespace": "dwc",
+            "key": "manufacturer_sku",
+            "value": "TRDD 11359"
+          },
+          {
+            "namespace": "dwc",
+            "key": "pattern_name",
+            "value": "TRDD 11359"
+          },
+          {
+            "namespace": "dwc",
+            "key": "color",
+            "value": "- TRDD 11359"
+          },
+          {
+            "namespace": "dwc",
+            "key": "brand",
+            "value": "Wolf Gordon"
+          },
+          {
+            "namespace": "specs",
+            "key": "style",
+            "value": "Traditional"
+          },
+          {
+            "namespace": "specs",
+            "key": "pattern",
+            "value": "Damask"
+          },
+          {
+            "namespace": "custom",
+            "key": "pattern_repeat",
+            "value": "Straight Hang/Straight Match (directional)"
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      },
+      "resourcePublicationsV2": {
+        "nodes": [],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    }
+  ],
+  "ledger": {
+    "date": "2026-09-09",
+    "used": 0,
+    "file_absent": true
+  },
+  "audit_path": "/Users/macstudio3/Projects/dw-rotation-activator/out/rotation-activations-2026-09-09.jsonl",
+  "audit_offset": 10535688,
+  "mutations": 0
+}
diff --git a/verification/rollout/canary-verified.json b/verification/rollout/canary-verified.json
new file mode 100644
index 0000000..b42a9f7
--- /dev/null
+++ b/verification/rollout/canary-verified.json
@@ -0,0 +1,287 @@
+{
+  "timestamp": "2026-09-09T17:13:50.857Z",
+  "verdict": "PASS",
+  "product": {
+    "id": "gid://shopify/Product/7867560886323",
+    "title": "Cork, Dove Wallcoverings | Designtex",
+    "handle": "cork-dove-dwdx-220334",
+    "vendor": "Designtex",
+    "status": "ACTIVE",
+    "tags": [
+      "Collection: Biophilia",
+      "Designtex",
+      "display_variant",
+      "Dove",
+      "Needs-Description",
+      "New Arrival",
+      "Priced Per Yard",
+      "Wallcovering"
+    ],
+    "publishedAt": "2026-09-09T17:13:21Z",
+    "onlineStoreUrl": "https://www.designerwallcoverings.com/products/cork-dove-dwdx-220334",
+    "googlePublished": false,
+    "variants": {
+      "nodes": [
+        {
+          "id": "gid://shopify/ProductVariant/44462676869171",
+          "sku": "DWDX-220334",
+          "title": "Sold Per Yard",
+          "price": "39.82"
+        },
+        {
+          "id": "gid://shopify/ProductVariant/44462676901939",
+          "sku": "DWDX-220334-Sample",
+          "title": "Sample",
+          "price": "4.25"
+        }
+      ],
+      "pageInfo": {
+        "hasNextPage": false
+      }
+    },
+    "images": {
+      "nodes": [
+        {
+          "url": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/8260051__41097.1712930572.jpg?v=1782351623"
+        }
+      ]
+    },
+    "metafields": {
+      "nodes": [
+        {
+          "namespace": "custom",
+          "key": "manufacturer_sku",
+          "value": "8260051"
+        },
+        {
+          "namespace": "global",
+          "key": "manufacturer_sku",
+          "value": "8260051"
+        },
+        {
+          "namespace": "global",
+          "key": "Brand",
+          "value": "Designtex"
+        },
+        {
+          "namespace": "global",
+          "key": "dw_sku",
+          "value": "DWDX-220334"
+        },
+        {
+          "namespace": "global",
+          "key": "width",
+          "value": "54 Inches"
+        },
+        {
+          "namespace": "custom",
+          "key": "width",
+          "value": "54 Inches"
+        },
+        {
+          "namespace": "global",
+          "key": "pattern_name",
+          "value": "Cork"
+        },
+        {
+          "namespace": "custom",
+          "key": "pattern_name",
+          "value": "Cork"
+        },
+        {
+          "namespace": "custom",
+          "key": "color",
+          "value": "Dove"
+        },
+        {
+          "namespace": "global",
+          "key": "color",
+          "value": "Dove"
+        },
+        {
+          "namespace": "dwc",
+          "key": "color",
+          "value": "Dove"
+        },
+        {
+          "namespace": "global",
+          "key": "material",
+          "value": "100% Vinyl (without Prop 65 Phthalates)"
+        },
+        {
+          "namespace": "custom",
+          "key": "material",
+          "value": "100% Vinyl (without Prop 65 Phthalates)"
+        },
+        {
+          "namespace": "custom",
+          "key": "collection_name",
+          "value": "Biophilia"
+        },
+        {
+          "namespace": "custom",
+          "key": "cost",
+          "value": "22.0"
+        },
+        {
+          "namespace": "custom",
+          "key": "price_updated_at",
+          "value": "2026-06-25"
+        },
+        {
+          "namespace": "global",
+          "key": "unit_of_measure",
+          "value": "YARD"
+        }
+      ],
+      "pageInfo": {
+        "hasNextPage": false
+      }
+    },
+    "resourcePublicationsV2": {
+      "nodes": [
+        {
+          "isPublished": true,
+          "publishDate": "2026-09-09T17:13:21Z",
+          "publication": {
+            "id": "gid://shopify/Publication/22208643184",
+            "name": "Online Store"
+          }
+        },
+        {
+          "isPublished": true,
+          "publishDate": "2026-09-09T17:13:21Z",
+          "publication": {
+            "id": "gid://shopify/Publication/22497296496",
+            "name": "Buy Button"
+          }
+        },
+        {
+          "isPublished": true,
+          "publishDate": "2026-09-09T17:13:21Z",
+          "publication": {
+            "id": "gid://shopify/Publication/29739483201",
+            "name": "Facebook & Instagram"
+          }
+        },
+        {
+          "isPublished": true,
+          "publishDate": "2026-09-09T17:13:21Z",
+          "publication": {
+            "id": "gid://shopify/Publication/29776969793",
+            "name": "Houzz"
+          }
+        },
+        {
+          "isPublished": true,
+          "publishDate": "2026-09-09T17:13:21Z",
+          "publication": {
+            "id": "gid://shopify/Publication/37904089153",
+            "name": "Point of Sale"
+          }
+        },
+        {
+          "isPublished": true,
+          "publishDate": "2026-09-09T17:13:21Z",
+          "publication": {
+            "id": "gid://shopify/Publication/43657658419",
+            "name": "Fabricut"
+          }
+        },
+        {
+          "isPublished": true,
+          "publishDate": "2026-09-09T17:13:21Z",
+          "publication": {
+            "id": "gid://shopify/Publication/44234276915",
+            "name": "Pinterest"
+          }
+        },
+        {
+          "isPublished": true,
+          "publishDate": "2026-09-09T17:13:21Z",
+          "publication": {
+            "id": "gid://shopify/Publication/44317474867",
+            "name": "Rakuten Ichiba (JP)"
+          }
+        },
+        {
+          "isPublished": true,
+          "publishDate": "2026-09-09T17:13:21Z",
+          "publication": {
+            "id": "gid://shopify/Publication/44317507635",
+            "name": "Shop"
+          }
+        },
+        {
+          "isPublished": true,
+          "publishDate": "2026-09-09T17:13:21Z",
+          "publication": {
+            "id": "gid://shopify/Publication/71898464307",
+            "name": "Inbox"
+          }
+        },
+        {
+          "isPublished": true,
+          "publishDate": "2026-09-09T17:13:21Z",
+          "publication": {
+            "id": "gid://shopify/Publication/115856375859",
+            "name": "TikTok"
+          }
+        },
+        {
+          "isPublished": true,
+          "publishDate": "2026-09-09T17:13:21Z",
+          "publication": {
+            "id": "gid://shopify/Publication/140027723827",
+            "name": "DWAutoPostBlog"
+          }
+        }
+      ],
+      "pageInfo": {
+        "hasNextPage": false
+      }
+    }
+  },
+  "activation": {
+    "ts": "2026-09-09T17:13:19.450Z",
+    "shopify_id": "gid://shopify/Product/7867560886323",
+    "vendor": "Designtex",
+    "dw_sku": "DWDX-220334",
+    "mat_tier": 0,
+    "rr": 100003,
+    "title": "Cork, Dove Wallcoverings | Designtex",
+    "passes": true,
+    "mfr_code": "8260051",
+    "width_source": "global.width",
+    "reasons": [],
+    "settlement": {
+      "verdict": "PASS",
+      "tier": "auto-pass-texture",
+      "reason": "solid-texture-no-motif",
+      "cost": 0,
+      "diagnostics": null,
+      "retryAt": null
+    },
+    "action": "activated",
+    "published": true,
+    "tag": "New Arrival"
+  },
+  "before_status": "DRAFT",
+  "ledger_before": {
+    "date": "2026-09-09",
+    "used": 0,
+    "file_absent": true
+  },
+  "ledger_after": {
+    "date": "2026-09-09",
+    "used": 1
+  },
+  "storefront": {
+    "url": "https://www.designerwallcoverings.com/products/cork-dove-dwdx-220334",
+    "status": 200,
+    "product_id_found": true
+  },
+  "independent_verifier": "Separate read-only implementation using Admin API 2026-07 and public storefront HTTP",
+  "mutations": 0,
+  "audit_rows_after_offset": 3
+}
diff --git a/verification/rollout/current-readiness-summary.json b/verification/rollout/current-readiness-summary.json
new file mode 100644
index 0000000..5157d4f
--- /dev/null
+++ b/verification/rollout/current-readiness-summary.json
@@ -0,0 +1,21 @@
+{
+  "schema_version": 1,
+  "generated_at": "2026-09-09T17:33:05.153Z",
+  "scan_complete": true,
+  "scope": "Products observed in this activation run; not the entire draft catalog",
+  "mode": "review-only",
+  "products_observed": 1859,
+  "products_needing_attention": 1844,
+  "counts": {
+    "verify-manufacturer-code": 804,
+    "restore-width-metafield": 895,
+    "repair-description": 222,
+    "restore-sample-variant": 309,
+    "verify-sellable-price": 287,
+    "restore-product-image": 243,
+    "retry-image-review": 504,
+    "correct-private-label": 70,
+    "correct-title": 22
+  },
+  "note": "Flags overlap; 1340 product-data failures and 504 image-review holds are disjoint product counts from the completed audit."
+}
diff --git a/verification/rollout/deployment-manifest.json b/verification/rollout/deployment-manifest.json
new file mode 100644
index 0000000..dfd1e88
--- /dev/null
+++ b/verification/rollout/deployment-manifest.json
@@ -0,0 +1,184 @@
+{
+  "ticket": "TK-11314",
+  "approved_by": "Steve: go do it",
+  "started_at": "2026-09-09T17:10:17.236128+00:00",
+  "status": "deployed-and-natural-schedule-verified",
+  "locks": [
+    "/Users/macstudio3/Projects/dw-rotation-activator/.drain.lock",
+    "/Users/macstudio3/Projects/dw-five-field-step0/.drain.lock"
+  ],
+  "files": [
+    {
+      "target": "/Users/macstudio3/Projects/Designer-Wallcoverings/shopify/scripts/lib/validate-before-activate.js",
+      "existed": true,
+      "backup": "/Users/macstudio3/Projects/dw-activation-debug-TK11314/verification/rollout/before/Designer-Wallcoverings/shopify/scripts/lib/validate-before-activate.js",
+      "before_sha256": "c0437d656474e09f845547ded698a2ca26fe86d3ab9ae02d7e8ef54b7ca57262",
+      "after_sha256": "3990d3c97375511ed274c66f24358cd78bf520d33c8354f38e2d73746c21d9a7",
+      "mode": 420
+    },
+    {
+      "target": "/Users/macstudio3/Projects/Designer-Wallcoverings/shopify/scripts/lib/validate-before-activate.test.js",
+      "existed": false,
+      "backup": null,
+      "before_sha256": null,
+      "after_sha256": "40eda4049cf1a0fd102cb2e0760360fbc581de32cd88e85a1d3f93f1fd25c996",
+      "mode": 420
+    },
+    {
+      "target": "/Users/macstudio3/Projects/dw-rotation-activator/.gitignore",
+      "existed": true,
+      "backup": "/Users/macstudio3/Projects/dw-activation-debug-TK11314/verification/rollout/before/dw-rotation-activator/.gitignore",
+      "before_sha256": "0c952e5a2e1ba378aba65a17b12e746acd00f79f8a414ef3cf96670e3cda1a6d",
+      "after_sha256": "869c3b3c39e9a9b6a4a2ec6cdce8fb60ec9554d3ef290b437d88d82f7b88e3ad",
+      "mode": 420
+    },
+    {
+      "target": "/Users/macstudio3/Projects/dw-rotation-activator/rotate-activate.js",
+      "existed": true,
+      "backup": "/Users/macstudio3/Projects/dw-activation-debug-TK11314/verification/rollout/before/dw-rotation-activator/rotate-activate.js",
+      "before_sha256": "0927345f6806f9649c81c57b496f3db9957d2b9a5413dc3e8a54a2e3b3694ba4",
+      "after_sha256": "45c73d7c50a65d35781b0b5234a4f5d24223e18f7141c2985439d3cd32754275",
+      "mode": 420
+    },
+    {
+      "target": "/Users/macstudio3/Projects/dw-rotation-activator/lib/settlement-gate.js",
+      "existed": true,
+      "backup": "/Users/macstudio3/Projects/dw-activation-debug-TK11314/verification/rollout/before/dw-rotation-activator/lib/settlement-gate.js",
+      "before_sha256": "6e199ccfd02681fc900b4b2c10e19f7e0c0392addb6c84b21d04a89f76977d57",
+      "after_sha256": "2d0e8cfd7968a768e54234c8a945f5801871478f67b070f424411ecd35caa6e6",
+      "mode": 420
+    },
+    {
+      "target": "/Users/macstudio3/Projects/dw-rotation-activator/lib/live-product-fields.js",
+      "existed": false,
+      "backup": null,
+      "before_sha256": null,
+      "after_sha256": "b7640b0ea741ffc6186e54f2f5d1dea351c902c6ab1e1418eb3c9328d1b0385b",
+      "mode": 420
+    },
+    {
+      "target": "/Users/macstudio3/Projects/dw-rotation-activator/lib/vision-http.js",
+      "existed": false,
+      "backup": null,
+      "before_sha256": null,
+      "after_sha256": "461c473b190b7bfa0d9ad766612d3176ea96f587c2292415fdcdc02a52212f32",
+      "mode": 420
+    },
+    {
+      "target": "/Users/macstudio3/Projects/dw-rotation-activator/lib/readiness-repairs.js",
+      "existed": false,
+      "backup": null,
+      "before_sha256": null,
+      "after_sha256": "4d5d9e12cf28a2ca49d51f7b965a8f72c421e0b57abec05a5d4d47fc46a222df",
+      "mode": 420
+    },
+    {
+      "target": "/Users/macstudio3/Projects/dw-rotation-activator/lib/activation-result.js",
+      "existed": false,
+      "backup": null,
+      "before_sha256": null,
+      "after_sha256": "594a1c7a7ae5bee340a501f8bbd0b879b18920c6a84ec67a267048caa02fbeff",
+      "mode": 420
+    },
+    {
+      "target": "/Users/macstudio3/Projects/dw-rotation-activator/test/activation-result.test.js",
+      "existed": false,
+      "backup": null,
+      "before_sha256": null,
+      "after_sha256": "7dbeeb7715a173deaeb95363ad8c4220f111ba96d3709116afcc0fe2b59c05c4",
+      "mode": 420
+    },
+    {
+      "target": "/Users/macstudio3/Projects/dw-rotation-activator/test/live-product-fields.test.js",
+      "existed": false,
+      "backup": null,
+      "before_sha256": null,
+      "after_sha256": "e8fb94b377e4b5c163d36548be6cfd01c7b8a03e3c8aba1ae80ef8839b2444db",
+      "mode": 420
+    },
+    {
+      "target": "/Users/macstudio3/Projects/dw-rotation-activator/test/readiness-repairs.test.js",
+      "existed": false,
+      "backup": null,
+      "before_sha256": null,
+      "after_sha256": "39ff42a60b3661a4e729edaee5e19094ff915a9cc842c0c151024f3b6e9c0d9a",
+      "mode": 420
+    },
+    {
+      "target": "/Users/macstudio3/Projects/dw-rotation-activator/test/vision-http.test.js",
+      "existed": false,
+      "backup": null,
+      "before_sha256": null,
+      "after_sha256": "9c0437266cdacc7b120a4bb1307987064bae632c197aba0fef59b9ba4665601e",
+      "mode": 420
+    },
+    {
+      "target": "/Users/macstudio3/Projects/dw-five-field-step0/.gitignore",
+      "existed": true,
+      "backup": "/Users/macstudio3/Projects/dw-activation-debug-TK11314/verification/rollout/before/dw-five-field-step0/.gitignore",
+      "before_sha256": "f7759e6cada80f132725aef7f4e2d98f5e7e15e3429ca984229a77ba086734d6",
+      "after_sha256": "ad314d479cd4f3c540815faf72a01baa077646a1ad9af461694b68c2a02a6b94",
+      "mode": 420
+    },
+    {
+      "target": "/Users/macstudio3/Projects/dw-five-field-step0/bulk-fivefield-exec.py",
+      "existed": true,
+      "backup": "/Users/macstudio3/Projects/dw-activation-debug-TK11314/verification/rollout/before/dw-five-field-step0/bulk-fivefield-exec.py",
+      "before_sha256": "0aa6fdd42466d68b0a7d84ac795d9703f72264df5d2c223729b5c630a3c49eae",
+      "after_sha256": "1a7b34d6a88373e6792dd73416b77b7e8dd2a1cacf00f779c3f584f55a9cd0ad",
+      "mode": 420
+    },
+    {
+      "target": "/Users/macstudio3/Projects/dw-five-field-step0/drain.sh",
+      "existed": true,
+      "backup": "/Users/macstudio3/Projects/dw-activation-debug-TK11314/verification/rollout/before/dw-five-field-step0/drain.sh",
+      "before_sha256": "796ed221009682bb95b7fdc7c6aacdf71b919cc64776ce0f499c9d55d514a2d3",
+      "after_sha256": "d9c05e5f2cde2ec30944ff399df6ae14dc69f8d267235f58d2435a7e729ca6a3",
+      "mode": 420
+    },
+    {
+      "target": "/Users/macstudio3/Projects/dw-five-field-step0/worklist_progress.py",
+      "existed": false,
+      "backup": null,
+      "before_sha256": null,
+      "after_sha256": "bfb21efe6dc26d5ad79017ae2380971267062052e560362288e6adcf8765f3f6",
+      "mode": 420
+    },
+    {
+      "target": "/Users/macstudio3/Projects/dw-five-field-step0/test_worklist_progress.py",
+      "existed": false,
+      "backup": null,
+      "before_sha256": null,
+      "after_sha256": "484c068f095bf0623a0508ebfb510c94f527714854d007f0a937796dcc5c385a",
+      "mode": 420
+    },
+    {
+      "target": "/Users/macstudio3/Projects/dw-five-field-step0/test_executor_progress.py",
+      "existed": false,
+      "backup": null,
+      "before_sha256": null,
+      "after_sha256": "1e0f55765c76986d052fe4fa4a5c881ba8afb38c044cb6a87b0f77ea4568ea1f",
+      "mode": 420
+    }
+  ],
+  "applied_at": "2026-09-09T17:10:17.244167+00:00",
+  "canary_product_id": "gid://shopify/Product/7867560886323",
+  "vision_blocker": "prepayment credits depleted",
+  "unlocked_at": "2026-09-09T17:20:33.650327+00:00",
+  "production_commits": {
+    "dw-rotation-activator": "c88ff69",
+    "dw-five-field-step0": "7891e2a",
+    "Designer-Wallcoverings": "1d91950f"
+  },
+  "post_action_monitoring": {
+    "verified_at": "2026-09-09T17:33:35.198Z",
+    "scheduled_activated": 15,
+    "daily_ledger": 16,
+    "state": "completed rc=0",
+    "products_scanned": 1863,
+    "already_active": 4,
+    "product_data_failures": 1340,
+    "image_review_held": 504,
+    "remaining_funding_ticket": "TK-11321"
+  }
+}
diff --git a/verification/rollout/loaded-schedules.json b/verification/rollout/loaded-schedules.json
new file mode 100644
index 0000000..91e9ee3
--- /dev/null
+++ b/verification/rollout/loaded-schedules.json
@@ -0,0 +1,80 @@
+{
+  "checked_at": "2026-09-09T17:23:01.562286+00:00",
+  "jobs": [
+    {
+      "label": "com.steve.dw-rotation-activator",
+      "loaded": true,
+      "selected_fields": [
+        "state = not running",
+        "/Users/macstudio3/Projects/dw-rotation-activator/drain.sh",
+        "runs = 553",
+        "last exit code = 0",
+        "\"Minute\" => 25",
+        "state = active",
+        "state = active"
+      ]
+    },
+    {
+      "label": "com.steve.dw-fivefield-drain",
+      "loaded": true,
+      "selected_fields": [
+        "state = not running",
+        "/Users/macstudio3/Projects/dw-five-field-step0/drain.sh",
+        "DISPLAY_VARIANT_SLOT_MAX => 100",
+        "DISPLAY_VARIANT_BACKFILL => 1",
+        "runs = 553",
+        "last exit code = 0",
+        "\"Minute\" => 10",
+        "\"Hour\" => 2",
+        "\"Minute\" => 10",
+        "\"Hour\" => 9",
+        "\"Minute\" => 10",
+        "\"Hour\" => 14",
+        "\"Minute\" => 10",
+        "\"Hour\" => 1",
+        "\"Minute\" => 10",
+        "\"Hour\" => 8",
+        "\"Minute\" => 10",
+        "\"Hour\" => 13",
+        "\"Minute\" => 10",
+        "\"Hour\" => 0",
+        "\"Minute\" => 10",
+        "\"Hour\" => 7",
+        "\"Minute\" => 10",
+        "\"Hour\" => 12",
+        "\"Minute\" => 10",
+        "\"Hour\" => 19",
+        "\"Minute\" => 10",
+        "\"Hour\" => 6",
+        "\"Minute\" => 10",
+        "\"Hour\" => 11",
+        "\"Minute\" => 10",
+        "\"Hour\" => 18",
+        "\"Minute\" => 10",
+        "\"Hour\" => 23",
+        "\"Minute\" => 10",
+        "\"Hour\" => 5",
+        "\"Minute\" => 10",
+        "\"Hour\" => 10",
+        "\"Minute\" => 10",
+        "\"Hour\" => 17",
+        "\"Minute\" => 10",
+        "\"Hour\" => 22",
+        "\"Minute\" => 10",
+        "\"Hour\" => 4",
+        "\"Minute\" => 10",
+        "\"Hour\" => 16",
+        "\"Minute\" => 10",
+        "\"Hour\" => 21",
+        "\"Minute\" => 10",
+        "\"Hour\" => 3",
+        "\"Minute\" => 10",
+        "\"Hour\" => 15",
+        "\"Minute\" => 10",
+        "\"Hour\" => 20",
+        "state = active",
+        "state = active"
+      ]
+    }
+  ]
+}
diff --git a/verification/rollout/post-run-schedules.json b/verification/rollout/post-run-schedules.json
new file mode 100644
index 0000000..98c5daa
--- /dev/null
+++ b/verification/rollout/post-run-schedules.json
@@ -0,0 +1,81 @@
+{
+  "checked_at": "2026-09-09T17:34:41.268345+00:00",
+  "task_locks_absent": true,
+  "jobs": [
+    {
+      "label": "com.steve.dw-rotation-activator",
+      "loaded": true,
+      "selected_fields": [
+        "state = not running",
+        "/Users/macstudio3/Projects/dw-rotation-activator/drain.sh",
+        "runs = 554",
+        "last exit code = 0",
+        "\"Minute\" => 25",
+        "state = active",
+        "state = active"
+      ]
+    },
+    {
+      "label": "com.steve.dw-fivefield-drain",
+      "loaded": true,
+      "selected_fields": [
+        "state = not running",
+        "/Users/macstudio3/Projects/dw-five-field-step0/drain.sh",
+        "DISPLAY_VARIANT_SLOT_MAX => 100",
+        "DISPLAY_VARIANT_BACKFILL => 1",
+        "runs = 553",
+        "last exit code = 0",
+        "\"Minute\" => 10",
+        "\"Hour\" => 2",
+        "\"Minute\" => 10",
+        "\"Hour\" => 9",
+        "\"Minute\" => 10",
+        "\"Hour\" => 14",
+        "\"Minute\" => 10",
+        "\"Hour\" => 1",
+        "\"Minute\" => 10",
+        "\"Hour\" => 8",
+        "\"Minute\" => 10",
+        "\"Hour\" => 13",
+        "\"Minute\" => 10",
+        "\"Hour\" => 0",
+        "\"Minute\" => 10",
+        "\"Hour\" => 7",
+        "\"Minute\" => 10",
+        "\"Hour\" => 12",
+        "\"Minute\" => 10",
+        "\"Hour\" => 19",
+        "\"Minute\" => 10",
+        "\"Hour\" => 6",
+        "\"Minute\" => 10",
+        "\"Hour\" => 11",
+        "\"Minute\" => 10",
+        "\"Hour\" => 18",
+        "\"Minute\" => 10",
+        "\"Hour\" => 23",
+        "\"Minute\" => 10",
+        "\"Hour\" => 5",
+        "\"Minute\" => 10",
+        "\"Hour\" => 10",
+        "\"Minute\" => 10",
+        "\"Hour\" => 17",
+        "\"Minute\" => 10",
+        "\"Hour\" => 22",
+        "\"Minute\" => 10",
+        "\"Hour\" => 4",
+        "\"Minute\" => 10",
+        "\"Hour\" => 16",
+        "\"Minute\" => 10",
+        "\"Hour\" => 21",
+        "\"Minute\" => 10",
+        "\"Hour\" => 3",
+        "\"Minute\" => 10",
+        "\"Hour\" => 15",
+        "\"Minute\" => 10",
+        "\"Hour\" => 20",
+        "state = active",
+        "state = active"
+      ]
+    }
+  ]
+}
diff --git a/verification/rollout/repair-progress-verified.json b/verification/rollout/repair-progress-verified.json
new file mode 100644
index 0000000..da01004
--- /dev/null
+++ b/verification/rollout/repair-progress-verified.json
@@ -0,0 +1,11 @@
+{
+  "ticket": "TK-11314",
+  "command": "python3 worklist_progress.py --audit out/bulk-fivefield-result.json",
+  "source_rows": 20034,
+  "total": 20034,
+  "done": 17445,
+  "remaining": 2589,
+  "after_dry_run": true,
+  "verdict": "PASS",
+  "mutations": 0
+}
diff --git a/verification/rollout/scheduled-run-verified.json b/verification/rollout/scheduled-run-verified.json
new file mode 100644
index 0000000..9a118e9
--- /dev/null
+++ b/verification/rollout/scheduled-run-verified.json
@@ -0,0 +1,1829 @@
+{
+  "timestamp": "2026-09-09T17:33:35.198Z",
+  "verdict": "PASS",
+  "mutations": 0,
+  "scheduled_activated": 15,
+  "daily_ledger": {
+    "date": "2026-09-09",
+    "used": 16
+  },
+  "rows_read": 1862,
+  "scanned": 1863,
+  "slot_max": 21,
+  "completed_run_log": "rotation-activate start slot_max=21\n✅ rotation-order.js: both copies identical\n✅ rotation-order.js: re-intro guard present (SQL)\n✅ activate-gated.js: re-intro guard present (JS promote loop)\n✅ rotation-order.js: mfr_sku near-dupe guard + pre-2025 age gate present\n✅ activate-gated.js: mfr_sku near-dupe guard + pre-2025 age gate present\n✅ rotation-order.js: never-activate vendor kept excluded — jeffrey stevens\n✅ rotation-order.js: never-activate vendor kept excluded — phillip jeffries\n✅ activate-gated.js: never-activate vendors kept excluded (dwjs/PJ)\n\n✅ All daily-activation paths carry the re-introduction guard, copies are in sync, and dwjs/phillip-jeffries stay excluded.\nqueue: 1863 DRAFTs in canonical order (tier0 textures=522, rest=1341)\nmfr-gate: 7290 mfr code(s) reused across >1 vendor (internal-counter watch)\nsettlement gate: lock=PASS — motif products vision-gated\n[budget] activation lane: used 1/500 today → activating up to 21 this run.\nmode=COMMIT  cap_this_run=21\n\ncurrent readiness repairs: 1844 products; report=/Users/macstudio3/Projects/dw-rotation-activator/out/current-readiness-repairs.json\n\n=== ROTATION ACTIVATOR RUN DONE ===\nscanned=1863  activated=15  published=15  skipped(gate-fail)=1844  alreadyActive=4\nmfr-gate: blocked 804 product(s) for blank/reused/fabricated mfr provenance\nsettlement: auto-pass-textures=15  vision-calls=1  blocked=0  held=504\nsettlement service: configured-keys=1 attempts=1 cooldown-skips=503 retryAt=2026-09-09T18:25:24.294Z lastError={\"httpStatus\":429,\"status\":\"RESOURCE_EXHAUSTED\",\"message\":\"Your prepayment credits are depleted. Please go to AI Studio at https://ai.studio/projects to manage your project and billing. Learn more at https://ai.google.dev/gemini-api/docs/billing#prepay. \",\"quota\":[],\"retryAfterMs\":0}\nsettlement cost: textures $0 (local) + vision 1 calls = $0.00000 (Gemini 2.5-flash; ~$0.0006/img)\ndaily activation ledger: 16/500\naudit → /Users/macstudio3/Projects/dw-rotation-activator/out/rotation-activations-2026-09-09.jsonl\n[2026-09-09 10:33:05] rotation-activate end rc=0\nprune-active: 16 of those caught via activator audit before the mirror re-synced (zero-lag).\nprune-active: 16 already-active/non-draft item(s) pruned — 1820 staged items remain.\nprune-active: wrote /Users/macstudio3/Projects/dw-activation-calendar/data/activation-schedule.json (total_items 1836 -> 1820).\n[2026-09-09 10:33:05] cadence prune-active rc=0\n",
+  "activations": [
+    {
+      "ts": "2026-09-09T17:25:26.710Z",
+      "shopify_id": "gid://shopify/Product/7867560919091",
+      "vendor": "Designtex",
+      "dw_sku": "DWDX-220335",
+      "mat_tier": 0,
+      "rr": 200003,
+      "title": "Cork, Metallic Wallcoverings | Designtex",
+      "passes": true,
+      "mfr_code": "8260101",
+      "width_source": "global.width",
+      "reasons": [],
+      "settlement": {
+        "verdict": "PASS",
+        "tier": "auto-pass-texture",
+        "reason": "solid-texture-no-motif",
+        "cost": 0,
+        "diagnostics": null,
+        "retryAt": null
+      },
+      "action": "activated",
+      "published": true,
+      "tag": "New Arrival"
+    },
+    {
+      "ts": "2026-09-09T17:25:31.744Z",
+      "shopify_id": "gid://shopify/Product/7867586576435",
+      "vendor": "Designtex",
+      "dw_sku": "DWDX-220336",
+      "mat_tier": 0,
+      "rr": 300003,
+      "title": "Cork, Taupe Wallcoverings | Designtex",
+      "passes": true,
+      "mfr_code": "8260102",
+      "width_source": "global.width",
+      "reasons": [],
+      "settlement": {
+        "verdict": "PASS",
+        "tier": "auto-pass-texture",
+        "reason": "solid-texture-no-motif",
+        "cost": 0,
+        "diagnostics": null,
+        "retryAt": null
+      },
+      "action": "activated",
+      "published": true,
+      "tag": "New Arrival"
+    },
+    {
+      "ts": "2026-09-09T17:25:37.693Z",
+      "shopify_id": "gid://shopify/Product/7867586674739",
+      "vendor": "Designtex",
+      "dw_sku": "DWDX-220337",
+      "mat_tier": 0,
+      "rr": 400003,
+      "title": "Cork, Grotto Wallcoverings | Designtex",
+      "passes": true,
+      "mfr_code": "8260103",
+      "width_source": "global.width",
+      "reasons": [],
+      "settlement": {
+        "verdict": "PASS",
+        "tier": "auto-pass-texture",
+        "reason": "solid-texture-no-motif",
+        "cost": 0,
+        "diagnostics": null,
+        "retryAt": null
+      },
+      "action": "activated",
+      "published": true,
+      "tag": "New Arrival"
+    },
+    {
+      "ts": "2026-09-09T17:25:42.896Z",
+      "shopify_id": "gid://shopify/Product/7867586707507",
+      "vendor": "Designtex",
+      "dw_sku": "DWDX-220338",
+      "mat_tier": 0,
+      "rr": 500003,
+      "title": "Cork, Planet Wallcoverings | Designtex",
+      "passes": true,
+      "mfr_code": "8260151",
+      "width_source": "global.width",
+      "reasons": [],
+      "settlement": {
+        "verdict": "PASS",
+        "tier": "auto-pass-texture",
+        "reason": "solid-texture-no-motif",
+        "cost": 0,
+        "diagnostics": null,
+        "retryAt": null
+      },
+      "action": "activated",
+      "published": true,
+      "tag": "New Arrival"
+    },
+    {
+      "ts": "2026-09-09T17:25:48.000Z",
+      "shopify_id": "gid://shopify/Product/7867618132019",
+      "vendor": "Designtex",
+      "dw_sku": "DWDX-220339",
+      "mat_tier": 0,
+      "rr": 600003,
+      "title": "Cork, Neolith Wallcoverings | Designtex",
+      "passes": true,
+      "mfr_code": "8260251",
+      "width_source": "global.width",
+      "reasons": [],
+      "settlement": {
+        "verdict": "PASS",
+        "tier": "auto-pass-texture",
+        "reason": "solid-texture-no-motif",
+        "cost": 0,
+        "diagnostics": null,
+        "retryAt": null
+      },
+      "action": "activated",
+      "published": true,
+      "tag": "New Arrival"
+    },
+    {
+      "ts": "2026-09-09T17:25:53.641Z",
+      "shopify_id": "gid://shopify/Product/7867618164787",
+      "vendor": "Designtex",
+      "dw_sku": "DWDX-220340",
+      "mat_tier": 0,
+      "rr": 700003,
+      "title": "Cork, Polished Wallcoverings | Designtex",
+      "passes": true,
+      "mfr_code": "8260252",
+      "width_source": "global.width",
+      "reasons": [],
+      "settlement": {
+        "verdict": "PASS",
+        "tier": "auto-pass-texture",
+        "reason": "solid-texture-no-motif",
+        "cost": 0,
+        "diagnostics": null,
+        "retryAt": null
+      },
+      "action": "activated",
+      "published": true,
+      "tag": "New Arrival"
+    },
+    {
+      "ts": "2026-09-09T17:26:00.105Z",
+      "shopify_id": "gid://shopify/Product/7867618197555",
+      "vendor": "Designtex",
+      "dw_sku": "DWDX-220341",
+      "mat_tier": 0,
+      "rr": 800003,
+      "title": "Cork, Coin Wallcoverings | Designtex",
+      "passes": true,
+      "mfr_code": "8260253",
+      "width_source": "global.width",
+      "reasons": [],
+      "settlement": {
+        "verdict": "PASS",
+        "tier": "auto-pass-texture",
+        "reason": "solid-texture-no-motif",
+        "cost": 0,
+        "diagnostics": null,
+        "retryAt": null
+      },
+      "action": "activated",
+      "published": true,
+      "tag": "New Arrival"
+    },
+    {
+      "ts": "2026-09-09T17:26:04.711Z",
+      "shopify_id": "gid://shopify/Product/7867673870387",
+      "vendor": "Designtex",
+      "dw_sku": "DWDX-220342",
+      "mat_tier": 0,
+      "rr": 900003,
+      "title": "Cork, Tawny Wallcoverings | Designtex",
+      "passes": true,
+      "mfr_code": "8260254",
+      "width_source": "global.width",
+      "reasons": [],
+      "settlement": {
+        "verdict": "PASS",
+        "tier": "auto-pass-texture",
+        "reason": "solid-texture-no-motif",
+        "cost": 0,
+        "diagnostics": null,
+        "retryAt": null
+      },
+      "action": "activated",
+      "published": true,
+      "tag": "New Arrival"
+    },
+    {
+      "ts": "2026-09-09T17:26:09.566Z",
+      "shopify_id": "gid://shopify/Product/7867673935923",
+      "vendor": "Designtex",
+      "dw_sku": "DWDX-220343",
+      "mat_tier": 0,
+      "rr": 1000003,
+      "title": "Cork, Fawn Wallcoverings | Designtex",
+      "passes": true,
+      "mfr_code": "8260255",
+      "width_source": "global.width",
+      "reasons": [],
+      "settlement": {
+        "verdict": "PASS",
+        "tier": "auto-pass-texture",
+        "reason": "solid-texture-no-motif",
+        "cost": 0,
+        "diagnostics": null,
+        "retryAt": null
+      },
+      "action": "activated",
+      "published": true,
+      "tag": "New Arrival"
+    },
+    {
+      "ts": "2026-09-09T17:26:13.981Z",
+      "shopify_id": "gid://shopify/Product/7867674001459",
+      "vendor": "Designtex",
+      "dw_sku": "DWDX-220344",
+      "mat_tier": 0,
+      "rr": 1100003,
+      "title": "Cork, Ivory Wallcoverings | Designtex",
+      "passes": true,
+      "mfr_code": "8260551",
+      "width_source": "global.width",
+      "reasons": [],
+      "settlement": {
+        "verdict": "PASS",
+        "tier": "auto-pass-texture",
+        "reason": "solid-texture-no-motif",
+        "cost": 0,
+        "diagnostics": null,
+        "retryAt": null
+      },
+      "action": "activated",
+      "published": true,
+      "tag": "New Arrival"
+    },
+    {
+      "ts": "2026-09-09T17:26:19.749Z",
+      "shopify_id": "gid://shopify/Product/7867722137651",
+      "vendor": "Designtex",
+      "dw_sku": "DWDX-220345",
+      "mat_tier": 0,
+      "rr": 1200003,
+      "title": "Cork, Gilded Wallcoverings | Designtex",
+      "passes": true,
+      "mfr_code": "8260552",
+      "width_source": "global.width",
+      "reasons": [],
+      "settlement": {
+        "verdict": "PASS",
+        "tier": "auto-pass-texture",
+        "reason": "solid-texture-no-motif",
+        "cost": 0,
+        "diagnostics": null,
+        "retryAt": null
+      },
+      "action": "activated",
+      "published": true,
+      "tag": "New Arrival"
+    },
+    {
+      "ts": "2026-09-09T17:26:25.501Z",
+      "shopify_id": "gid://shopify/Product/7867722170419",
+      "vendor": "Designtex",
+      "dw_sku": "DWDX-220346",
+      "mat_tier": 0,
+      "rr": 1300003,
+      "title": "Cork, Sage Wallcoverings | Designtex",
+      "passes": true,
+      "mfr_code": "8260701",
+      "width_source": "global.width",
+      "reasons": [],
+      "settlement": {
+        "verdict": "PASS",
+        "tier": "auto-pass-texture",
+        "reason": "solid-texture-no-motif",
+        "cost": 0,
+        "diagnostics": null,
+        "retryAt": null
+      },
+      "action": "activated",
+      "published": true,
+      "tag": "New Arrival"
+    },
+    {
+      "ts": "2026-09-09T17:26:30.017Z",
+      "shopify_id": "gid://shopify/Product/7867722235955",
+      "vendor": "Designtex",
+      "dw_sku": "DWDX-220347",
+      "mat_tier": 0,
+      "rr": 1400003,
+      "title": "Cork, Verdant Wallcoverings | Designtex",
+      "passes": true,
+      "mfr_code": "8260702",
+      "width_source": "global.width",
+      "reasons": [],
+      "settlement": {
+        "verdict": "PASS",
+        "tier": "auto-pass-texture",
+        "reason": "solid-texture-no-motif",
+        "cost": 0,
+        "diagnostics": null,
+        "retryAt": null
+      },
+      "action": "activated",
+      "published": true,
+      "tag": "New Arrival"
+    },
+    {
+      "ts": "2026-09-09T17:26:34.340Z",
+      "shopify_id": "gid://shopify/Product/7869010935859",
+      "vendor": "Designtex",
+      "dw_sku": "DWDX-220367",
+      "mat_tier": 0,
+      "rr": 1500003,
+      "title": "Highland, Linen Wallcoverings | Designtex",
+      "passes": true,
+      "mfr_code": "3176101",
+      "width_source": "global.width",
+      "reasons": [],
+      "settlement": {
+        "verdict": "PASS",
+        "tier": "auto-pass-texture",
+        "reason": "solid-texture-no-motif",
+        "cost": 0,
+        "diagnostics": null,
+        "retryAt": null
+      },
+      "action": "activated",
+      "published": true,
+      "tag": "New Arrival"
+    },
+    {
+      "ts": "2026-09-09T17:26:40.783Z",
+      "shopify_id": "gid://shopify/Product/7877278105651",
+      "vendor": "Designtex",
+      "dw_sku": "DWDX-220608",
+      "mat_tier": 0,
+      "rr": 1800003,
+      "title": "Alex, Silk Wallcoverings | Designtex",
+      "passes": true,
+      "mfr_code": "6736103",
+      "width_source": "global.width",
+      "reasons": [],
+      "settlement": {
+        "verdict": "PASS",
+        "tier": "auto-pass-texture",
+        "reason": "solid-texture-no-motif",
+        "cost": 0,
+        "diagnostics": null,
+        "retryAt": null
+      },
+      "action": "activated",
+      "published": true,
+      "tag": "New Arrival"
+    }
+  ],
+  "products": [
+    {
+      "id": "gid://shopify/Product/7867560919091",
+      "title": "Cork, Metallic Wallcoverings | Designtex",
+      "handle": "cork-metallic-dwdx-220335",
+      "status": "ACTIVE",
+      "tags": [
+        "Collection: Biophilia",
+        "Designtex",
+        "display_variant",
+        "Metallic",
+        "Needs-Description",
+        "New Arrival",
+        "Priced Per Yard",
+        "Wallcovering"
+      ],
+      "googlePublished": false,
+      "resourcePublicationsV2": {
+        "nodes": [
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Online Store"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Buy Button"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Facebook & Instagram"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Houzz"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Point of Sale"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Fabricut"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Pinterest"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Rakuten Ichiba (JP)"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Shop"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Inbox"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "TikTok"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "DWAutoPostBlog"
+            }
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7867586576435",
+      "title": "Cork, Taupe Wallcoverings | Designtex",
+      "handle": "cork-taupe-dwdx-220336",
+      "status": "ACTIVE",
+      "tags": [
+        "Collection: Biophilia",
+        "Designtex",
+        "display_variant",
+        "Needs-Description",
+        "New Arrival",
+        "Priced Per Yard",
+        "Taupe",
+        "Wallcovering"
+      ],
+      "googlePublished": false,
+      "resourcePublicationsV2": {
+        "nodes": [
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Online Store"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Buy Button"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Facebook & Instagram"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Houzz"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Point of Sale"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Fabricut"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Pinterest"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Rakuten Ichiba (JP)"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Shop"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Inbox"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "TikTok"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "DWAutoPostBlog"
+            }
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7867586674739",
+      "title": "Cork, Grotto Wallcoverings | Designtex",
+      "handle": "cork-grotto-dwdx-220337",
+      "status": "ACTIVE",
+      "tags": [
+        "Collection: Biophilia",
+        "Designtex",
+        "display_variant",
+        "Grotto",
+        "Needs-Description",
+        "New Arrival",
+        "Priced Per Yard",
+        "Wallcovering"
+      ],
+      "googlePublished": false,
+      "resourcePublicationsV2": {
+        "nodes": [
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Online Store"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Buy Button"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Facebook & Instagram"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Houzz"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Point of Sale"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Fabricut"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Pinterest"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Rakuten Ichiba (JP)"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Shop"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Inbox"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "TikTok"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "DWAutoPostBlog"
+            }
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7867586707507",
+      "title": "Cork, Planet Wallcoverings | Designtex",
+      "handle": "cork-planet-dwdx-220338",
+      "status": "ACTIVE",
+      "tags": [
+        "Collection: Biophilia",
+        "Designtex",
+        "display_variant",
+        "Needs-Description",
+        "New Arrival",
+        "Planet",
+        "Priced Per Yard",
+        "Wallcovering"
+      ],
+      "googlePublished": false,
+      "resourcePublicationsV2": {
+        "nodes": [
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Online Store"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Buy Button"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Facebook & Instagram"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Houzz"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Point of Sale"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Fabricut"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Pinterest"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Rakuten Ichiba (JP)"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Shop"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Inbox"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "TikTok"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "DWAutoPostBlog"
+            }
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7867618132019",
+      "title": "Cork, Neolith Wallcoverings | Designtex",
+      "handle": "cork-neolith-dwdx-220339",
+      "status": "ACTIVE",
+      "tags": [
+        "Collection: Biophilia",
+        "Designtex",
+        "display_variant",
+        "Needs-Description",
+        "Neolith",
+        "New Arrival",
+        "Priced Per Yard",
+        "Wallcovering"
+      ],
+      "googlePublished": false,
+      "resourcePublicationsV2": {
+        "nodes": [
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Online Store"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Buy Button"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Facebook & Instagram"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Houzz"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Point of Sale"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Fabricut"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Pinterest"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Rakuten Ichiba (JP)"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Shop"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Inbox"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "TikTok"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "DWAutoPostBlog"
+            }
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7867618164787",
+      "title": "Cork, Polished Wallcoverings | Designtex",
+      "handle": "cork-polished-dwdx-220340",
+      "status": "ACTIVE",
+      "tags": [
+        "Collection: Biophilia",
+        "Designtex",
+        "display_variant",
+        "Needs-Description",
+        "New Arrival",
+        "Polished",
+        "Priced Per Yard",
+        "Wallcovering"
+      ],
+      "googlePublished": false,
+      "resourcePublicationsV2": {
+        "nodes": [
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Online Store"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Buy Button"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Facebook & Instagram"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Houzz"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Point of Sale"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Fabricut"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Pinterest"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Rakuten Ichiba (JP)"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Shop"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Inbox"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "TikTok"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "DWAutoPostBlog"
+            }
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7867618197555",
+      "title": "Cork, Coin Wallcoverings | Designtex",
+      "handle": "cork-coin-dwdx-220341",
+      "status": "ACTIVE",
+      "tags": [
+        "Coin",
+        "Collection: Biophilia",
+        "Designtex",
+        "display_variant",
+        "Needs-Description",
+        "New Arrival",
+        "Priced Per Yard",
+        "Wallcovering"
+      ],
+      "googlePublished": false,
+      "resourcePublicationsV2": {
+        "nodes": [
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Online Store"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Buy Button"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Facebook & Instagram"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Houzz"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Point of Sale"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Fabricut"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Pinterest"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Rakuten Ichiba (JP)"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Shop"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Inbox"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "TikTok"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "DWAutoPostBlog"
+            }
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7867673870387",
+      "title": "Cork, Tawny Wallcoverings | Designtex",
+      "handle": "cork-tawny-dwdx-220342",
+      "status": "ACTIVE",
+      "tags": [
+        "Collection: Biophilia",
+        "Designtex",
+        "display_variant",
+        "Needs-Description",
+        "New Arrival",
+        "Priced Per Yard",
+        "Tawny",
+        "Wallcovering"
+      ],
+      "googlePublished": false,
+      "resourcePublicationsV2": {
+        "nodes": [
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Online Store"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Buy Button"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Facebook & Instagram"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Houzz"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Point of Sale"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Fabricut"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Pinterest"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Rakuten Ichiba (JP)"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Shop"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Inbox"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "TikTok"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "DWAutoPostBlog"
+            }
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7867673935923",
+      "title": "Cork, Fawn Wallcoverings | Designtex",
+      "handle": "cork-fawn-dwdx-220343",
+      "status": "ACTIVE",
+      "tags": [
+        "Collection: Biophilia",
+        "Designtex",
+        "display_variant",
+        "Fawn",
+        "Needs-Description",
+        "New Arrival",
+        "Priced Per Yard",
+        "Wallcovering"
+      ],
+      "googlePublished": false,
+      "resourcePublicationsV2": {
+        "nodes": [
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Online Store"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Buy Button"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Facebook & Instagram"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Houzz"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Point of Sale"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Fabricut"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Pinterest"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Rakuten Ichiba (JP)"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Shop"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Inbox"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "TikTok"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "DWAutoPostBlog"
+            }
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7867674001459",
+      "title": "Cork, Ivory Wallcoverings | Designtex",
+      "handle": "cork-ivory-dwdx-220344",
+      "status": "ACTIVE",
+      "tags": [
+        "Collection: Biophilia",
+        "Designtex",
+        "display_variant",
+        "Ivory",
+        "Needs-Description",
+        "New Arrival",
+        "Priced Per Yard",
+        "Wallcovering"
+      ],
+      "googlePublished": false,
+      "resourcePublicationsV2": {
+        "nodes": [
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Online Store"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Buy Button"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Facebook & Instagram"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Houzz"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Point of Sale"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Fabricut"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Pinterest"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Rakuten Ichiba (JP)"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Shop"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Inbox"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "TikTok"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "DWAutoPostBlog"
+            }
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7867722137651",
+      "title": "Cork, Gilded Wallcoverings | Designtex",
+      "handle": "cork-gilded-dwdx-220345",
+      "status": "ACTIVE",
+      "tags": [
+        "Collection: Biophilia",
+        "Designtex",
+        "display_variant",
+        "Gilded",
+        "Needs-Description",
+        "New Arrival",
+        "Priced Per Yard",
+        "Wallcovering"
+      ],
+      "googlePublished": false,
+      "resourcePublicationsV2": {
+        "nodes": [
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Online Store"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Buy Button"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Facebook & Instagram"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Houzz"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Point of Sale"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Fabricut"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Pinterest"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Rakuten Ichiba (JP)"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Shop"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Inbox"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "TikTok"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "DWAutoPostBlog"
+            }
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7867722170419",
+      "title": "Cork, Sage Wallcoverings | Designtex",
+      "handle": "cork-sage-dwdx-220346",
+      "status": "ACTIVE",
+      "tags": [
+        "Collection: Biophilia",
+        "Designtex",
+        "display_variant",
+        "Needs-Description",
+        "New Arrival",
+        "Priced Per Yard",
+        "Sage",
+        "Wallcovering"
+      ],
+      "googlePublished": false,
+      "resourcePublicationsV2": {
+        "nodes": [
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Online Store"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Buy Button"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Facebook & Instagram"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Houzz"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Point of Sale"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Fabricut"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Pinterest"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Rakuten Ichiba (JP)"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Shop"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Inbox"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "TikTok"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "DWAutoPostBlog"
+            }
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7867722235955",
+      "title": "Cork, Verdant Wallcoverings | Designtex",
+      "handle": "cork-verdant-dwdx-220347",
+      "status": "ACTIVE",
+      "tags": [
+        "Collection: Biophilia",
+        "Designtex",
+        "display_variant",
+        "Needs-Description",
+        "New Arrival",
+        "Priced Per Yard",
+        "Verdant",
+        "Wallcovering"
+      ],
+      "googlePublished": false,
+      "resourcePublicationsV2": {
+        "nodes": [
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Online Store"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Buy Button"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Facebook & Instagram"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Houzz"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Point of Sale"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Fabricut"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Pinterest"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Rakuten Ichiba (JP)"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Shop"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Inbox"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "TikTok"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "DWAutoPostBlog"
+            }
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7869010935859",
+      "title": "Highland, Linen Wallcoverings | Designtex",
+      "handle": "highland-linen-dwdx-220367",
+      "status": "ACTIVE",
+      "tags": [
+        "Designtex",
+        "display_variant",
+        "Linen",
+        "Needs-Description",
+        "New Arrival",
+        "Priced Per Yard",
+        "Wallcovering"
+      ],
+      "googlePublished": false,
+      "resourcePublicationsV2": {
+        "nodes": [
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Online Store"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Buy Button"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Facebook & Instagram"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Houzz"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Point of Sale"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Fabricut"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Pinterest"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Rakuten Ichiba (JP)"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Shop"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Inbox"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "TikTok"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "DWAutoPostBlog"
+            }
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    },
+    {
+      "id": "gid://shopify/Product/7877278105651",
+      "title": "Alex, Silk Wallcoverings | Designtex",
+      "handle": "alex-silk-dwdx-220608",
+      "status": "ACTIVE",
+      "tags": [
+        "Designtex",
+        "display_variant",
+        "Needs-Description",
+        "New Arrival",
+        "Priced Per Yard",
+        "Silk",
+        "Wallcovering"
+      ],
+      "googlePublished": false,
+      "resourcePublicationsV2": {
+        "nodes": [
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Online Store"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Buy Button"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Facebook & Instagram"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Houzz"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Point of Sale"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Fabricut"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Pinterest"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Rakuten Ichiba (JP)"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Shop"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "Inbox"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "TikTok"
+            }
+          },
+          {
+            "isPublished": true,
+            "publication": {
+              "name": "DWAutoPostBlog"
+            }
+          }
+        ],
+        "pageInfo": {
+          "hasNextPage": false
+        }
+      }
+    }
+  ],
+  "storefront": [
+    {
+      "url": "https://www.designerwallcoverings.com/products/cork-metallic-dwdx-220335",
+      "status": 200,
+      "product_id_found": true
+    },
+    {
+      "url": "https://www.designerwallcoverings.com/products/alex-silk-dwdx-220608",
+      "status": 200,
+      "product_id_found": true
+    }
+  ],
+  "independent_verifier": "Separate Admin API and public storefront reads, no activation imports"
+}
diff --git a/verification/rollout/vision-provider-probe.json b/verification/rollout/vision-provider-probe.json
new file mode 100644
index 0000000..564909a
--- /dev/null
+++ b/verification/rollout/vision-provider-probe.json
@@ -0,0 +1,37 @@
+{
+  "timestamp": "2026-09-09T17:15:49.632Z",
+  "product_id": "gid://shopify/Product/7799066066995",
+  "sku": "DWGC-200002",
+  "result": {
+    "verdict": "HELD",
+    "tier": "vision",
+    "reason": "vision-http-429",
+    "diagnostics": {
+      "httpStatus": 429,
+      "status": "RESOURCE_EXHAUSTED",
+      "message": "Your prepayment credits are depleted. Please go to AI Studio at https://ai.studio/projects to manage your project and billing. Learn more at https://ai.google.dev/gemini-api/docs/billing#prepay. ",
+      "quota": [],
+      "retryAfterMs": 0
+    },
+    "retryAt": "2026-09-09T18:15:49.630Z",
+    "cost": 0
+  },
+  "stats": {
+    "visionCalls": 1,
+    "visionCostTotal": 0,
+    "autoPassCount": 0,
+    "visionHttpAttempts": 1,
+    "visionThrottledSkips": 0,
+    "visionKeysConfigured": 1,
+    "retryAt": "2026-09-09T18:15:49.630Z",
+    "lastVisionError": {
+      "httpStatus": 429,
+      "status": "RESOURCE_EXHAUSTED",
+      "message": "Your prepayment credits are depleted. Please go to AI Studio at https://ai.studio/projects to manage your project and billing. Learn more at https://ai.google.dev/gemini-api/docs/billing#prepay. ",
+      "quota": [],
+      "retryAfterMs": 0
+    }
+  },
+  "shopify_mutations": 0,
+  "credentials_or_billing_changed": false
+}

← 39b3dd0 Record reversible source rollout rehearsal and approval boun  ·  back to Dw Activation Debug TK11314  ·  (newest)