← back to Dw Image Dup Audit
auto-save: 2026-07-22T06:41:50 (2 files) — rename-run.js wq-named-scope.json
6836d1997d9293fc25818d5acf7119740afbe1d2 · 2026-07-22 06:41:53 -0700 · Steve Abrams
Files touched
A rename-run.jsA wq-named-scope.json
Diff
commit 6836d1997d9293fc25818d5acf7119740afbe1d2
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Wed Jul 22 06:41:53 2026 -0700
auto-save: 2026-07-22T06:41:50 (2 files) — rename-run.js wq-named-scope.json
---
rename-run.js | 92 +++++
wq-named-scope.json | 967 ++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 1059 insertions(+)
diff --git a/rename-run.js b/rename-run.js
new file mode 100644
index 0000000..1a597bb
--- /dev/null
+++ b/rename-run.js
@@ -0,0 +1,92 @@
+#!/usr/bin/env node
+// Private-label rename program 2026-07-22. Steve-approved name map; title-only renames
+// (handles/URLs unchanged) + body_html scrub of old series names, plus dedup drafts of
+// the "Natural Silhouettes" sample generation and the 5 nameless bare "Sisal" products.
+// Ledger: fix-ledger.jsonl. Reversible: ledger stores old title per rename.
+const https = require("https");
+const fs = require("fs");
+const TOKEN = process.env.SHOPIFY_ADMIN_TOKEN;
+const HOST = "designer-laboratory-sandbox.myshopify.com";
+const API = "/admin/api/2024-10";
+const LEDGER = __dirname + "/fix-ledger.jsonl";
+const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
+function req(method, path, body) {
+ return new Promise((res, rej) => {
+ const data = body ? JSON.stringify(body) : null;
+ const r = https.request({ host: HOST, path, method, headers: { "X-Shopify-Access-Token": TOKEN, "Content-Type": "application/json", ...(data ? { "Content-Length": Buffer.byteLength(data) } : {}) } },
+ (resp) => { let d = ""; resp.on("data", (c) => (d += c)); resp.on("end", () => res({ status: resp.statusCode, body: d, link: resp.headers.link || "" })); });
+ r.on("error", rej); if (data) r.write(data); r.end();
+ });
+}
+async function reqRetry(method, path, body) {
+ for (let i = 0; i < 5; i++) { const r = await req(method, path, body); if (r.status === 429) { await sleep(2000); continue; } return r; }
+ throw new Error("429 persisted " + path);
+}
+const ledger = (e) => fs.appendFileSync(LEDGER, JSON.stringify({ ts: new Date().toISOString(), ...e }) + "\n");
+
+// series rename map: WQ-real name -> new Phillipe Romano private-label name
+const RENAMES = [
+ [/^Palais\b/, "Palermo"],
+ [/^Shantung\b/, "Portofino"],
+ [/^Bergamo\b/, "Bellano"],
+ [/^Chess\b/, "Cremona"],
+ [/^Manila\b/, "Messina"],
+ [/^Cebu\b/, "Cefalu"],
+ [/^Pure Elements Sisal\b/, "Salina Sisal"],
+ [/^Specialty Grasscloths & Veneers\s+/, ""], // strip the WQ book prefix; inner pattern rename = follow-up batch
+ [/^Navy Grey & White\b/, "Riviera Neutrals"],
+];
+
+(async () => {
+ // 1) full active PR fetch
+ let path = `${API}/products.json?vendor=${encodeURIComponent("Phillipe Romano")}&fields=id,title,handle,status,body_html&limit=250`;
+ const all = [];
+ while (path) {
+ const { body, link } = await reqRetry("GET", path);
+ all.push(...JSON.parse(body).products);
+ const m = link.match(/<https:\/\/[^>]+(\/admin[^>]+)>; rel="next"/);
+ path = m ? m[1] : null;
+ await sleep(550);
+ }
+ const active = all.filter((p) => p.status === "active");
+ console.log("active PR products:", active.length);
+
+ // 2) dedup drafts: Natural Silhouettes sample generation + nameless bare Sisal
+ let drafted = 0;
+ const draftTargets = active.filter((p) =>
+ /^Natural Silhouettes /.test(p.title) ||
+ /^Sisal \| Phillipe Romano$/.test(p.title.trim())
+ );
+ console.log("dedup-draft targets:", draftTargets.length);
+ for (const p of draftTargets) {
+ const r = await reqRetry("PUT", `${API}/products/${p.id}.json`, { product: { id: p.id, status: "draft" } });
+ await sleep(550);
+ const ok = r.status === 200;
+ ledger({ act: "ns-dedup-draft", handle: p.handle, id: p.id, title: p.title, ok });
+ if (ok) { drafted++; console.log("drafted", p.handle); } else console.log("FAIL draft", p.handle, r.status);
+ }
+
+ // 3) renames (title + body_html scrub); skip anything we just drafted
+ let renamed = 0;
+ const draftedIds = new Set(draftTargets.map((p) => p.id));
+ for (const p of active) {
+ if (draftedIds.has(p.id)) continue;
+ let newTitle = p.title;
+ let oldSeries = null, newSeries = null;
+ for (const [re, repl] of RENAMES) {
+ if (re.test(newTitle)) { oldSeries = newTitle.match(re)[0].trim(); newTitle = newTitle.replace(re, repl).replace(/\s+/g, " ").trim(); newSeries = repl || "(book prefix stripped)"; break; }
+ }
+ if (newTitle === p.title) continue;
+ const upd = { id: p.id, title: newTitle };
+ if (oldSeries && newSeries && p.body_html && p.body_html.includes(oldSeries) && !newSeries.startsWith("(")) {
+ upd.body_html = p.body_html.split(oldSeries).join(newSeries);
+ }
+ const r = await reqRetry("PUT", `${API}/products/${p.id}.json`, { product: upd });
+ await sleep(550);
+ const ok = r.status === 200;
+ ledger({ act: "pl-rename", handle: p.handle, id: p.id, oldTitle: p.title, newTitle, bodyScrubbed: !!upd.body_html, ok });
+ if (ok) { renamed++; console.log("renamed:", p.title.replace(" | Phillipe Romano", ""), "->", newTitle.replace(" | Phillipe Romano", "")); }
+ else console.log("FAIL rename", p.handle, r.status);
+ }
+ console.log(`\nRENAME RUN DONE. dedup-drafted=${drafted} renamed=${renamed}`);
+})().catch((e) => { console.error("FATAL", e); process.exit(1); });
diff --git a/wq-named-scope.json b/wq-named-scope.json
new file mode 100644
index 0000000..e9a99dc
--- /dev/null
+++ b/wq-named-scope.json
@@ -0,0 +1,967 @@
+[
+ {
+ "handle": "bergamo-azure-pr-801136",
+ "title": "Bergamo Azure",
+ "slug": "bergamo-azure"
+ },
+ {
+ "handle": "bergamo-tan-pr-801146",
+ "title": "Bergamo Tan",
+ "slug": "bergamo-tan"
+ },
+ {
+ "handle": "chess-cappuccino-pr-801156",
+ "title": "Chess Cappuccino",
+ "slug": "chess-cappuccino"
+ },
+ {
+ "handle": "chess-oat-pr-801166",
+ "title": "Chess Oat",
+ "slug": "chess-oat"
+ },
+ {
+ "handle": "durum-rushcore-durum-wallcovering-malibu-wallpaper",
+ "title": "Dune Strand - Pacific Mist",
+ "slug": "rushcore-durum"
+ },
+ {
+ "handle": "lillian-august-grasscloth-agean-phillipe-romano",
+ "title": "Malibu Grasscloth - Aegean",
+ "slug": "lillian-august-grasscloth-agean"
+ },
+ {
+ "handle": "malibu-grasscloth-beige-phillipe-romano",
+ "title": "Malibu Grasscloth - Beige",
+ "slug": "lillian-august-grasscloth-beige"
+ },
+ {
+ "handle": "malibu-grasscloth-black-tan-phillipe-romano",
+ "title": "Malibu Grasscloth - Black Tan",
+ "slug": "lillian-august-grasscloth-black-tan"
+ },
+ {
+ "handle": "malibu-grasscloth-green-stone-phillipe-romano",
+ "title": "Malibu Grasscloth - Green Stone",
+ "slug": "lillian-august-grasscloth-green-stone"
+ },
+ {
+ "handle": "malibu-grasscloth-grey-brown-phillipe-romano",
+ "title": "Malibu Grasscloth - Grey Brown",
+ "slug": "lillian-august-grasscloth-grey-brown"
+ },
+ {
+ "handle": "malibu-grasscloth-havana-phillipe-romano",
+ "title": "Malibu Grasscloth - Havana",
+ "slug": "lillian-august-grasscloth-havana"
+ },
+ {
+ "handle": "malibu-grasscloth-heathered-tan-phillipe-romano",
+ "title": "Malibu Grasscloth - Heathered Tan",
+ "slug": "lillian-august-grasscloth-heathered-tan"
+ },
+ {
+ "handle": "malibu-grasscloth-marine-blue-phillipe-romano",
+ "title": "Malibu Grasscloth - Marine Blue",
+ "slug": "lillian-august-grasscloth-marine-blue"
+ },
+ {
+ "handle": "malibu-grasscloth-mint-chocolate-phillipe-romano",
+ "title": "Malibu Grasscloth - Mint Chocolate",
+ "slug": "lillian-august-grasscloth-mint-chocolate"
+ },
+ {
+ "handle": "malibu-grasscloth-multi-silver-phillipe-romano",
+ "title": "Malibu Grasscloth - Multi Silver",
+ "slug": "lillian-august-grasscloth-multi-silver"
+ },
+ {
+ "handle": "malibu-grasscloth-new-penny-phillipe-romano",
+ "title": "Malibu Grasscloth - New Penny",
+ "slug": "lillian-august-grasscloth-new-penny"
+ },
+ {
+ "handle": "malibu-grasscloth-silver-neutral-phillipe-romano",
+ "title": "Malibu Grasscloth - Silver Neutral",
+ "slug": "lillian-august-grasscloth-silver-neutral"
+ },
+ {
+ "handle": "malibu-grasscloth-silver-taupe-phillipe-romano",
+ "title": "Malibu Grasscloth - Silver Taupe",
+ "slug": "lillian-august-grasscloth-silver-taupe"
+ },
+ {
+ "handle": "malibu-grasscloth-silvery-aqua-phillipe-romano",
+ "title": "Malibu Grasscloth - Silvery Aqua",
+ "slug": "lillian-august-grasscloth-silvery-aqua"
+ },
+ {
+ "handle": "malibu-grasscloth-soft-gray-phillipe-romano",
+ "title": "Malibu Grasscloth - Soft Gray",
+ "slug": "lillian-august-grasscloth-soft-gray"
+ },
+ {
+ "handle": "malibu-grasscloth-summer-white-phillipe-romano",
+ "title": "Malibu Grasscloth - Summer White",
+ "slug": "lillian-august-grasscloth-summer-white"
+ },
+ {
+ "handle": "malibu-grasscloth-volcanic-phillipe-romano",
+ "title": "Malibu Grasscloth - Volcanic",
+ "slug": "lillian-august-grasscloth-volcanic"
+ },
+ {
+ "handle": "malibu-grasscloth-windham-cream-phillipe-romano",
+ "title": "Malibu Grasscloth - Windham Cream",
+ "slug": "lillian-august-grasscloth-windham-cream"
+ },
+ {
+ "handle": "malibu-jute-burlap-phillipe-romano",
+ "title": "Malibu Jute - Burlap",
+ "slug": "lillian-august-jute-burlap"
+ },
+ {
+ "handle": "malibu-jute-macademia-phillipe-romano",
+ "title": "Malibu Jute - Macademia",
+ "slug": "lillian-august-jute-macademia"
+ },
+ {
+ "handle": "malibu-mica-bronze-phillipe-romano",
+ "title": "Malibu Mica - Bronze",
+ "slug": "lillian-august-mica-bronze"
+ },
+ {
+ "handle": "malibu-mica-mica-phillipe-romano",
+ "title": "Malibu Mica - Mica",
+ "slug": "lillian-august-mica-mica"
+ },
+ {
+ "handle": "malibu-mica-onyx-phillipe-romano",
+ "title": "Malibu Mica - Onyx",
+ "slug": "lillian-august-mica-onyx"
+ },
+ {
+ "handle": "malibu-paperweave-bleached-linen-phillipe-romano",
+ "title": "Malibu Paperweave - Bleached Linen",
+ "slug": "lillian-august-paperweave-bleached-linen"
+ },
+ {
+ "handle": "malibu-paperweave-bridal-white-phillipe-romano",
+ "title": "Malibu Paperweave - Bridal White",
+ "slug": "lillian-august-paperweave-bridal-white"
+ },
+ {
+ "handle": "malibu-paperweave-brown-phillipe-romano",
+ "title": "Malibu Paperweave - Brown",
+ "slug": "lillian-august-paperweave-brown"
+ },
+ {
+ "handle": "malibu-paperweave-cappuccino-phillipe-romano",
+ "title": "Malibu Paperweave - Cappuccino",
+ "slug": "lillian-august-paperweave-cappuccino"
+ },
+ {
+ "handle": "malibu-paperweave-caramel-swirl-phillipe-romano",
+ "title": "Malibu Paperweave - Caramel Swirl",
+ "slug": "lillian-august-paperweave-caramel-swirl"
+ },
+ {
+ "handle": "malibu-paperweave-clean-weave-phillipe-romano",
+ "title": "Malibu Paperweave - Clean Weave",
+ "slug": "lillian-august-paperweave-clean-weave"
+ },
+ {
+ "handle": "malibu-paperweave-cool-linen-phillipe-romano",
+ "title": "Malibu Paperweave - Cool Linen",
+ "slug": "lillian-august-paperweave-cool-linen"
+ },
+ {
+ "handle": "malibu-paperweave-foil-phillipe-romano",
+ "title": "Malibu Paperweave - Foil",
+ "slug": "lillian-august-paperweave-foil"
+ },
+ {
+ "handle": "malibu-paperweave-gray-brown-phillipe-romano",
+ "title": "Malibu Paperweave - Gray Brown",
+ "slug": "lillian-august-paperweave-gray-brown"
+ },
+ {
+ "handle": "malibu-paperweave-gray-linen-phillipe-romano",
+ "title": "Malibu Paperweave - Gray Linen",
+ "slug": "lillian-august-paperweave-gray-linen"
+ },
+ {
+ "handle": "malibu-paperweave-hazel-cream-phillipe-romano",
+ "title": "Malibu Paperweave - Hazel Cream",
+ "slug": "lillian-august-paperweave-hazel-cream"
+ },
+ {
+ "handle": "malibu-paperweave-ice-phillipe-romano",
+ "title": "Malibu Paperweave - Ice",
+ "slug": "lillian-august-paperweave-ice"
+ },
+ {
+ "handle": "malibu-paperweave-multi-brown-phillipe-romano",
+ "title": "Malibu Paperweave - Multi Brown",
+ "slug": "lillian-august-paperweave-multi-brown"
+ },
+ {
+ "handle": "malibu-paperweave-natural-gray-phillipe-romano",
+ "title": "Malibu Paperweave - Natural Gray",
+ "slug": "lillian-august-paperweave-natural-gray"
+ },
+ {
+ "handle": "malibu-paperweave-papyrus-phillipe-romano",
+ "title": "Malibu Paperweave - Papyrus",
+ "slug": "lillian-august-paperweave-papyrus"
+ },
+ {
+ "handle": "malibu-paperweave-papyrus-phillipe-romano-1",
+ "title": "Malibu Paperweave - Papyrus",
+ "slug": "lillian-august-paperweave-papyrus"
+ },
+ {
+ "handle": "malibu-paperweave-peoney-cream-phillipe-romano",
+ "title": "Malibu Paperweave - Peoney Cream",
+ "slug": "lillian-august-paperweave-peoney-cream"
+ },
+ {
+ "handle": "malibu-paperweave-sun-kissed-phillipe-romano",
+ "title": "Malibu Paperweave - Sun Kissed",
+ "slug": "lillian-august-paperweave-sunkist"
+ },
+ {
+ "handle": "malibu-paperweave-sunset-phillipe-romano",
+ "title": "Malibu Paperweave - Sunset",
+ "slug": "lillian-august-paperweave-sunset"
+ },
+ {
+ "handle": "malibu-paperweave-tan-phillipe-romano",
+ "title": "Malibu Paperweave - Tan",
+ "slug": "lillian-august-paperweave-tan"
+ },
+ {
+ "handle": "malibu-paperweave-taupe-cream-phillipe-romano",
+ "title": "Malibu Paperweave - Taupe Cream",
+ "slug": "lillian-august-paperweave-taupe-cream"
+ },
+ {
+ "handle": "malibu-sisal-acadia-white-phillipe-romano",
+ "title": "Malibu Sisal - Acadia White",
+ "slug": "lillian-august-sisal-acadia-white"
+ },
+ {
+ "handle": "malibu-sisal-aquamarine-phillipe-romano",
+ "title": "Malibu Sisal - Aquamarine",
+ "slug": "lillian-august-sisal-aquamarine"
+ },
+ {
+ "handle": "malibu-sisal-black-mesh-phillipe-romano",
+ "title": "Malibu Sisal - Black Mesh",
+ "slug": "lillian-august-sisal-black-mesh"
+ },
+ {
+ "handle": "malibu-sisal-black-neutral-phillipe-romano",
+ "title": "Malibu Sisal - Black Neutral",
+ "slug": "lillian-august-sisal-black-neutral"
+ },
+ {
+ "handle": "malibu-sisal-blue-gray-phillipe-romano",
+ "title": "Malibu Sisal - Blue Gray",
+ "slug": "lillian-august-sisal-blue-gray"
+ },
+ {
+ "handle": "malibu-sisal-blue-sage-phillipe-romano",
+ "title": "Malibu Sisal - Blue Sage",
+ "slug": "lillian-august-sisal-blue-sage"
+ },
+ {
+ "handle": "malibu-sisal-cafe-phillipe-romano",
+ "title": "Malibu Sisal - Café",
+ "slug": "lillian-august-sisal-cafe"
+ },
+ {
+ "handle": "malibu-sisal-cool-linen-phillipe-romano",
+ "title": "Malibu Sisal - Cool Linen",
+ "slug": "lillian-august-sisal-cool-linen"
+ },
+ {
+ "handle": "malibu-sisal-denim-phillipe-romano",
+ "title": "Malibu Sisal - Denim",
+ "slug": "lillian-august-sisal-denim"
+ },
+ {
+ "handle": "malibu-sisal-gray-brown-phillipe-romano",
+ "title": "Malibu Sisal - Gray Brown",
+ "slug": "lillian-august-sisal-gray-brown"
+ },
+ {
+ "handle": "malibu-sisal-heathered-aqua-phillipe-romano",
+ "title": "Malibu Sisal - Heathered Aqua",
+ "slug": "lillian-august-sisal-heathered-aqua"
+ },
+ {
+ "handle": "malibu-sisal-heathered-black-phillipe-romano",
+ "title": "Malibu Sisal - Heathered Black",
+ "slug": "lillian-august-sisal-heathered-black"
+ },
+ {
+ "handle": "malibu-sisal-icy-path-phillipe-romano",
+ "title": "Malibu Sisal - Icy Path",
+ "slug": "lillian-august-sisal-icy-path"
+ },
+ {
+ "handle": "malibu-sisal-jade-phillipe-romano",
+ "title": "Malibu Sisal - Jade",
+ "slug": "lillian-august-sisal-jade"
+ },
+ {
+ "handle": "malibu-sisal-leaf-phillipe-romano",
+ "title": "Malibu Sisal - Leaf",
+ "slug": "lillian-august-sisal-leaf"
+ },
+ {
+ "handle": "malibu-sisal-light-multi-gray-phillipe-romano",
+ "title": "Malibu Sisal - Light Multi Gray",
+ "slug": "lillian-august-sisal-light-multi-gray"
+ },
+ {
+ "handle": "malibu-sisal-linen-white-phillipe-romano",
+ "title": "Malibu Sisal - Linen White",
+ "slug": "lillian-august-sisal-linen-white"
+ },
+ {
+ "handle": "malibu-sisal-medium-gray-phillipe-romano",
+ "title": "Malibu Sisal - Medium Gray",
+ "slug": "lillian-august-sisal-medium-gray"
+ },
+ {
+ "handle": "malibu-sisal-mint-phillipe-romano",
+ "title": "Malibu Sisal - Mint",
+ "slug": "lillian-august-sisal-mint"
+ },
+ {
+ "handle": "malibu-sisal-multi-linen-phillipe-romano",
+ "title": "Malibu Sisal - Multi Linen",
+ "slug": "lillian-august-sisal-multi-linen"
+ },
+ {
+ "handle": "malibu-sisal-natural-gray-phillipe-romano",
+ "title": "Malibu Sisal - Natural Gray",
+ "slug": "lillian-august-sisal-natural-gray"
+ },
+ {
+ "handle": "malibu-sisal-new-charcoal-phillipe-romano",
+ "title": "Malibu Sisal - New Charcoal",
+ "slug": "lillian-august-sisal-new-charcoal"
+ },
+ {
+ "handle": "malibu-sisal-nightfall-phillipe-romano",
+ "title": "Malibu Sisal - Nightfall",
+ "slug": "lillian-august-sisal-nightfall"
+ },
+ {
+ "handle": "malibu-sisal-peacock-phillipe-romano",
+ "title": "Malibu Sisal - Peacock",
+ "slug": "lillian-august-sisal-peacock"
+ },
+ {
+ "handle": "malibu-sisal-petal-phillipe-romano",
+ "title": "Malibu Sisal - Petal",
+ "slug": "lillian-august-sisal-petal"
+ },
+ {
+ "handle": "malibu-sisal-rose-phillipe-romano",
+ "title": "Malibu Sisal - Rose",
+ "slug": "lillian-august-sisal-rose"
+ },
+ {
+ "handle": "malibu-sisal-sage-phillipe-romano",
+ "title": "Malibu Sisal - Sage",
+ "slug": "lillian-august-sisal-sage"
+ },
+ {
+ "handle": "malibu-sisal-seafoam-phillipe-romano",
+ "title": "Malibu Sisal - Seafoam",
+ "slug": "lillian-august-sisal-seafoam"
+ },
+ {
+ "handle": "malibu-sisal-shale-phillipe-romano",
+ "title": "Malibu Sisal - Shale",
+ "slug": "lillian-august-sisal-shale"
+ },
+ {
+ "handle": "malibu-sisal-silver-beige-phillipe-romano",
+ "title": "Malibu Sisal - Silver Beige",
+ "slug": "lillian-august-sisal-silver-beige"
+ },
+ {
+ "handle": "malibu-sisal-silver-green-phillipe-romano",
+ "title": "Malibu Sisal - Silver Green",
+ "slug": "lillian-august-sisal-silver-green"
+ },
+ {
+ "handle": "malibu-sisal-silver-neutral-phillipe-romano",
+ "title": "Malibu Sisal - Silver Neutral",
+ "slug": "lillian-august-sisal-silver-neutral"
+ },
+ {
+ "handle": "malibu-sisal-silver-tan-phillipe-romano",
+ "title": "Malibu Sisal - Silver Tan",
+ "slug": "lillian-august-sisal-silver-tan"
+ },
+ {
+ "handle": "malibu-sisal-smoky-aqua-phillipe-romano",
+ "title": "Malibu Sisal - Smoky Aqua",
+ "slug": "lillian-august-sisal-smoky-aqua"
+ },
+ {
+ "handle": "malibu-sisal-smoky-beige-phillipe-romano",
+ "title": "Malibu Sisal - Smoky Beige",
+ "slug": "lillian-august-sisal-smoky-beige"
+ },
+ {
+ "handle": "malibu-sisal-smoky-beige-phillipe-romano-1",
+ "title": "Malibu Sisal - Smoky Beige",
+ "slug": "lillian-august-sisal-smoky-beige"
+ },
+ {
+ "handle": "malibu-sisal-soft-aqua-phillipe-romano",
+ "title": "Malibu Sisal - Soft Aqua",
+ "slug": "lillian-august-sisal-soft-aqua"
+ },
+ {
+ "handle": "malibu-sisal-steam-phillipe-romano",
+ "title": "Malibu Sisal - Steam",
+ "slug": "lillian-august-sisal-steam"
+ },
+ {
+ "handle": "malibu-sisal-sute-phillipe-romano",
+ "title": "Malibu Sisal - Sute",
+ "slug": "lillian-august-sisal-sute"
+ },
+ {
+ "handle": "malibu-sisal-tan-brown-phillipe-romano",
+ "title": "Malibu Sisal - Tan Brown",
+ "slug": "lillian-august-sisal-tan-brown"
+ },
+ {
+ "handle": "malibu-sisal-taupe-phillipe-romano",
+ "title": "Malibu Sisal - Taupe",
+ "slug": "lillian-august-sisal-taupe"
+ },
+ {
+ "handle": "malibu-sisal-taupe-phillipe-romano-1",
+ "title": "Malibu Sisal - Taupe",
+ "slug": "lillian-august-sisal-taupe"
+ },
+ {
+ "handle": "malibu-sisal-warm-gray-phillipe-romano",
+ "title": "Malibu Sisal - Warm Gray",
+ "slug": "lillian-august-sisal-warm-gray"
+ },
+ {
+ "handle": "malibu-sisal-warm-gray-phillipe-romano-1",
+ "title": "Malibu Sisal - Warm Gray",
+ "slug": "lillian-august-sisal-warm-gray"
+ },
+ {
+ "handle": "malibu-sisal-winter-gray-phillipe-romano",
+ "title": "Malibu Sisal - Winter Gray",
+ "slug": "lillian-august-sisal-winter-gray"
+ },
+ {
+ "handle": "manila-gold-glam-pr-801176",
+ "title": "Manila Gold Glam",
+ "slug": "manila-gold-glam"
+ },
+ {
+ "handle": "manila-oat-pr-801186",
+ "title": "Manila Oat",
+ "slug": "manila-oat"
+ },
+ {
+ "handle": "coir-metallic-graphite-jute-coir-metallic-graphite-wallcovering-malibu-wallpaper",
+ "title": "Manzanita Solstice - Bluff Pacific",
+ "slug": "jute-coir-metallic-graphite"
+ },
+ {
+ "handle": "natural-silhouettes-bergamo-azure-phillipe-romano",
+ "title": "Natural Silhouettes Bergamo Azure Wallcoverings",
+ "slug": "bergamo-azure"
+ },
+ {
+ "handle": "natural-silhouettes-bergamo-tan-phillipe-romano",
+ "title": "Natural Silhouettes Bergamo Tan Wallcoverings",
+ "slug": "bergamo-tan"
+ },
+ {
+ "handle": "natural-silhouettes-bergamo-teal-phillipe-romano",
+ "title": "Natural Silhouettes Bergamo Teal Wallcoverings",
+ "slug": "bergamo-teal"
+ },
+ {
+ "handle": "natural-silhouettes-bergamo-wheat-phillipe-romano",
+ "title": "Natural Silhouettes Bergamo Wheat Wallcoverings",
+ "slug": "bergamo-wheat"
+ },
+ {
+ "handle": "natural-silhouettes-cebu-brushed-silver-phillipe-romano",
+ "title": "Natural Silhouettes Cebu Brushed Silver Wallcoverings",
+ "slug": "cebu-brushed-silver"
+ },
+ {
+ "handle": "natural-silhouettes-cebu-hemp-phillipe-romano",
+ "title": "Natural Silhouettes Cebu Hemp Wallcoverings",
+ "slug": "cebu-hemp"
+ },
+ {
+ "handle": "natural-silhouettes-chess-cappuccino-phillipe-romano",
+ "title": "Natural Silhouettes Chess Cappuccino Wallcoverings",
+ "slug": "chess-cappuccino"
+ },
+ {
+ "handle": "natural-silhouettes-chess-oat-phillipe-romano",
+ "title": "Natural Silhouettes Chess Oat Wallcoverings",
+ "slug": "chess-oat"
+ },
+ {
+ "handle": "natural-silhouettes-chess-shale-phillipe-romano",
+ "title": "Natural Silhouettes Chess Shale Wallcoverings",
+ "slug": "chess-shale"
+ },
+ {
+ "handle": "natural-silhouettes-chess-viridian-phillipe-romano",
+ "title": "Natural Silhouettes Chess Viridian Wallcoverings",
+ "slug": "chess-viridian"
+ },
+ {
+ "handle": "natural-silhouettes-manila-gold-glam-phillipe-romano",
+ "title": "Natural Silhouettes Manila Gold Glam Wallcoverings",
+ "slug": "manila-gold-glam"
+ },
+ {
+ "handle": "natural-silhouettes-manila-oat-phillipe-romano",
+ "title": "Natural Silhouettes Manila Oat Wallcoverings",
+ "slug": "manila-oat"
+ },
+ {
+ "handle": "natural-silhouettes-manila-viridian-phillipe-romano",
+ "title": "Natural Silhouettes Manila Viridian Wallcoverings",
+ "slug": "manila-viridian"
+ },
+ {
+ "handle": "natural-silhouettes-palais-brushed-silver-phillipe-romano",
+ "title": "Natural Silhouettes Palais Brushed Silver Wallcoverings",
+ "slug": "palais-brushed-silver"
+ },
+ {
+ "handle": "natural-silhouettes-palais-gold-glam-phillipe-romano",
+ "title": "Natural Silhouettes Palais Gold Glam Wallcoverings",
+ "slug": "palais-gold-glam"
+ },
+ {
+ "handle": "natural-silhouettes-palais-juniper-phillipe-romano",
+ "title": "Natural Silhouettes Palais Juniper Wallcoverings",
+ "slug": "palais-juniper"
+ },
+ {
+ "handle": "natural-silhouettes-palais-new-jade-phillipe-romano",
+ "title": "Natural Silhouettes Palais New Jade Wallcoverings",
+ "slug": "palais-new-jade"
+ },
+ {
+ "handle": "natural-silhouettes-palais-peacock-phillipe-romano",
+ "title": "Natural Silhouettes Palais Peacock Wallcoverings",
+ "slug": "palais-peacock"
+ },
+ {
+ "handle": "natural-silhouettes-palais-seaweed-phillipe-romano",
+ "title": "Natural Silhouettes Palais Seaweed Wallcoverings",
+ "slug": "palais-seaweed"
+ },
+ {
+ "handle": "natural-silhouettes-palais-stone-phillipe-romano",
+ "title": "Natural Silhouettes Palais Stone Wallcoverings",
+ "slug": "palais-stone"
+ },
+ {
+ "handle": "natural-silhouettes-palais-umber-phillipe-romano",
+ "title": "Natural Silhouettes Palais Umber Wallcoverings",
+ "slug": "palais-umber"
+ },
+ {
+ "handle": "natural-silhouettes-shantung-aged-stone-phillipe-romano",
+ "title": "Natural Silhouettes Shantung Aged Stone Wallcoverings",
+ "slug": "shantung-aged-stone"
+ },
+ {
+ "handle": "natural-silhouettes-shantung-celadon-phillipe-romano",
+ "title": "Natural Silhouettes Shantung Celadon Wallcoverings",
+ "slug": "shantung-celadon"
+ },
+ {
+ "handle": "natural-silhouettes-shantung-deep-aqua-phillipe-romano",
+ "title": "Natural Silhouettes Shantung Deep Aqua Wallcoverings",
+ "slug": "shantung-deep-aqua"
+ },
+ {
+ "handle": "natural-silhouettes-shantung-new-jade-phillipe-romano",
+ "title": "Natural Silhouettes Shantung New Jade Wallcoverings",
+ "slug": "shantung-new-jade"
+ },
+ {
+ "handle": "natural-silhouettes-shantung-peacock-phillipe-romano",
+ "title": "Natural Silhouettes Shantung Peacock Wallcoverings",
+ "slug": "shantung-peacock"
+ },
+ {
+ "handle": "natural-silhouettes-shantung-seaweed-phillipe-romano",
+ "title": "Natural Silhouettes Shantung Seaweed Wallcoverings",
+ "slug": "shantung-seaweed"
+ },
+ {
+ "handle": "natural-silhouettes-shantung-taupe-phillipe-romano",
+ "title": "Natural Silhouettes Shantung Taupe Wallcoverings",
+ "slug": "shantung-taupe"
+ },
+ {
+ "handle": "natural-silhouettes-siede-ash-phillipe-romano",
+ "title": "Natural Silhouettes Siede Ash Wallcoverings",
+ "slug": "siede-ash"
+ },
+ {
+ "handle": "natural-silhouettes-siede-light-pine-phillipe-romano",
+ "title": "Natural Silhouettes Siede Light Pine Wallcoverings",
+ "slug": "siede-light-pine"
+ },
+ {
+ "handle": "natural-silhouettes-siede-light-taupe-phillipe-romano",
+ "title": "Natural Silhouettes Siede Light Taupe Wallcoverings",
+ "slug": "siede-light-taupe"
+ },
+ {
+ "handle": "navy-grey-white-dove-grey",
+ "title": "Navy Grey & White Dove Grey Wallcoverings",
+ "slug": "navy-grey-and-white"
+ },
+ {
+ "handle": "navy-grey-white-greige",
+ "title": "Navy Grey & White Greige Wallcoverings",
+ "slug": "navy-grey-and-white"
+ },
+ {
+ "handle": "navy-grey-white-indigo",
+ "title": "Navy Grey & White Indigo Wallcoverings",
+ "slug": "navy-grey-and-white"
+ },
+ {
+ "handle": "navy-grey-white-ivory",
+ "title": "Navy Grey & White Ivory Wallcoverings",
+ "slug": "navy-grey-and-white"
+ },
+ {
+ "handle": "navy-grey-white-navy",
+ "title": "Navy Grey & White Navy Wallcoverings",
+ "slug": "navy-grey-and-white"
+ },
+ {
+ "handle": "navy-grey-white-stone",
+ "title": "Navy Grey & White Stone Wallcoverings",
+ "slug": "navy-grey-and-white"
+ },
+ {
+ "handle": "palais-gold-glam-pr-801196",
+ "title": "Palais Gold Glam",
+ "slug": "palais-gold-glam"
+ },
+ {
+ "handle": "palais-juniper-pr-801206",
+ "title": "Palais Juniper",
+ "slug": "palais-juniper"
+ },
+ {
+ "handle": "palais-new-jade-pr-801216",
+ "title": "Palais New Jade",
+ "slug": "palais-new-jade"
+ },
+ {
+ "handle": "palais-peacock-pr-801226",
+ "title": "Palais Peacock",
+ "slug": "palais-peacock"
+ },
+ {
+ "handle": "palais-stone-pr-801236",
+ "title": "Palais Stone",
+ "slug": "palais-stone"
+ },
+ {
+ "handle": "pure-elements-sisal-blush",
+ "title": "Pure Elements Sisal Blush Wallcoverings",
+ "slug": "sisal"
+ },
+ {
+ "handle": "pure-elements-sisal-camel",
+ "title": "Pure Elements Sisal Camel Wallcoverings",
+ "slug": "sisal"
+ },
+ {
+ "handle": "pure-elements-sisal-celadon",
+ "title": "Pure Elements Sisal Celadon Wallcoverings",
+ "slug": "sisal"
+ },
+ {
+ "handle": "pure-elements-sisal-dove-grey",
+ "title": "Pure Elements Sisal Dove Grey Wallcoverings",
+ "slug": "sisal"
+ },
+ {
+ "handle": "pure-elements-sisal-emerald",
+ "title": "Pure Elements Sisal Emerald Wallcoverings",
+ "slug": "sisal"
+ },
+ {
+ "handle": "pure-elements-sisal-espresso",
+ "title": "Pure Elements Sisal Espresso Wallcoverings",
+ "slug": "sisal"
+ },
+ {
+ "handle": "pure-elements-sisal-garnet",
+ "title": "Pure Elements Sisal Garnet Wallcoverings",
+ "slug": "sisal"
+ },
+ {
+ "handle": "pure-elements-sisal-greige",
+ "title": "Pure Elements Sisal Greige Wallcoverings",
+ "slug": "sisal"
+ },
+ {
+ "handle": "pure-elements-sisal-ironstone",
+ "title": "Pure Elements Sisal Ironstone Wallcoverings",
+ "slug": "sisal"
+ },
+ {
+ "handle": "pure-elements-sisal-lagoon",
+ "title": "Pure Elements Sisal Lagoon Wallcoverings",
+ "slug": "sisal"
+ },
+ {
+ "handle": "pure-elements-sisal-linen",
+ "title": "Pure Elements Sisal Linen Wallcoverings",
+ "slug": "sisal"
+ },
+ {
+ "handle": "pure-elements-sisal-loden",
+ "title": "Pure Elements Sisal Loden Wallcoverings",
+ "slug": "sisal"
+ },
+ {
+ "handle": "pure-elements-sisal-midnight-navy",
+ "title": "Pure Elements Sisal Midnight Navy Wallcoverings",
+ "slug": "sisal"
+ },
+ {
+ "handle": "pure-elements-sisal-mist",
+ "title": "Pure Elements Sisal Mist Wallcoverings",
+ "slug": "sisal"
+ },
+ {
+ "handle": "pure-elements-sisal-moss",
+ "title": "Pure Elements Sisal Moss Wallcoverings",
+ "slug": "sisal"
+ },
+ {
+ "handle": "pure-elements-sisal-oatmeal",
+ "title": "Pure Elements Sisal Oatmeal Wallcoverings",
+ "slug": "sisal"
+ },
+ {
+ "handle": "pure-elements-sisal-olive",
+ "title": "Pure Elements Sisal Olive Wallcoverings",
+ "slug": "sisal"
+ },
+ {
+ "handle": "pure-elements-sisal-onyx",
+ "title": "Pure Elements Sisal Onyx Wallcoverings",
+ "slug": "sisal"
+ },
+ {
+ "handle": "pure-elements-sisal-pewter",
+ "title": "Pure Elements Sisal Pewter Wallcoverings",
+ "slug": "sisal"
+ },
+ {
+ "handle": "pure-elements-sisal-sage",
+ "title": "Pure Elements Sisal Sage Wallcoverings",
+ "slug": "sisal"
+ },
+ {
+ "handle": "pure-elements-sisal-sand",
+ "title": "Pure Elements Sisal Sand Wallcoverings",
+ "slug": "sisal"
+ },
+ {
+ "handle": "pure-elements-sisal-slate",
+ "title": "Pure Elements Sisal Slate Wallcoverings",
+ "slug": "sisal"
+ },
+ {
+ "handle": "pure-elements-sisal-steel-blue",
+ "title": "Pure Elements Sisal Steel Blue Wallcoverings",
+ "slug": "sisal"
+ },
+ {
+ "handle": "pure-elements-sisal-stone",
+ "title": "Pure Elements Sisal Stone Wallcoverings",
+ "slug": "sisal"
+ },
+ {
+ "handle": "pure-elements-sisal-taupe",
+ "title": "Pure Elements Sisal Taupe Wallcoverings",
+ "slug": "sisal"
+ },
+ {
+ "handle": "pure-elements-sisal-teal",
+ "title": "Pure Elements Sisal Teal Wallcoverings",
+ "slug": "sisal"
+ },
+ {
+ "handle": "pure-elements-sisal-terracotta",
+ "title": "Pure Elements Sisal Terracotta Wallcoverings",
+ "slug": "sisal"
+ },
+ {
+ "handle": "pure-elements-sisal-wheat",
+ "title": "Pure Elements Sisal Wheat Wallcoverings",
+ "slug": "sisal"
+ },
+ {
+ "handle": "shantung-aged-stone-pr-801246",
+ "title": "Shantung Aged Stone",
+ "slug": "shantung-aged-stone"
+ },
+ {
+ "handle": "shantung-celadon-pr-801256",
+ "title": "Shantung Celadon",
+ "slug": "shantung-celadon"
+ },
+ {
+ "handle": "shantung-deep-aqua-pr-801266",
+ "title": "Shantung Deep Aqua",
+ "slug": "shantung-deep-aqua"
+ },
+ {
+ "handle": "shantung-new-jade-pr-801276",
+ "title": "Shantung New Jade",
+ "slug": "shantung-new-jade"
+ },
+ {
+ "handle": "destin-raffia-wynn-phillipe-romano",
+ "title": "Specialty Grasscloths & Veneers Destin Raffia Wynn Wallcoverings",
+ "slug": "destin-raffia-wynn"
+ },
+ {
+ "handle": "fia-grass-and-natural-fibers-anchor-phillipe-romano",
+ "title": "Specialty Grasscloths & Veneers Fia Grass and Natural Fibers Anchor Wallcoverings",
+ "slug": "fia-grass-and-natural-fibers-anchor"
+ },
+ {
+ "handle": "island-raffia-albina-phillipe-romano",
+ "title": "Specialty Grasscloths & Veneers Island Raffia Albina Wallcoverings",
+ "slug": "island-raffia-albina"
+ },
+ {
+ "handle": "lino-linen-cotton-phillipe-romano",
+ "title": "Specialty Grasscloths & Veneers Lino Linen Cotton Wallcoverings",
+ "slug": "lino-linen-cotton"
+ },
+ {
+ "handle": "malia-buri-palm-boyne-phillipe-romano",
+ "title": "Specialty Grasscloths & Veneers Malia Buri Palm Boyne Wallcoverings",
+ "slug": "malia-buri-palm-boyne"
+ },
+ {
+ "handle": "malia-grass-and-natural-fibers-cannon-phillipe-romano",
+ "title": "Specialty Grasscloths & Veneers Malia Grass and Natural Fibers Cannon Wallcoverings",
+ "slug": "malia-grass-and-natural-fibers-cannon"
+ },
+ {
+ "handle": "malia-grass-and-natural-fibers-coconut-glaze-phillipe-romano",
+ "title": "Specialty Grasscloths & Veneers Malia Grass and Natural Fibers Coconut Glaze Wallcoverings",
+ "slug": "malia-grass-and-natural-fibers-coconut-glaze"
+ },
+ {
+ "handle": "malia-grass-and-natural-fibers-gray-harbor-phillipe-romano",
+ "title": "Specialty Grasscloths & Veneers Malia Grass and Natural Fibers Gray Harbor Wallcoverings",
+ "slug": "malia-grass-and-natural-fibers-gray-harbor"
+ },
+ {
+ "handle": "malia-grass-and-natural-fibers-raw-cotton-phillipe-romano",
+ "title": "Specialty Grasscloths & Veneers Malia Grass and Natural Fibers Raw Cotton Wallcoverings",
+ "slug": "malia-grass-and-natural-fibers-raw-cotton"
+ },
+ {
+ "handle": "moon-rock-cork-blue-moss-phillipe-romano",
+ "title": "Specialty Grasscloths & Veneers Moon Rock Cork Blue Moss Wallcoverings",
+ "slug": "moon-rock-cork-blue-moss"
+ },
+ {
+ "handle": "moon-rock-cork-bronzy-phillipe-romano",
+ "title": "Specialty Grasscloths & Veneers Moon Rock Cork Bronzy Wallcoverings",
+ "slug": "moon-rock-cork-bronzy"
+ },
+ {
+ "handle": "moon-rock-cork-chalky-phillipe-romano",
+ "title": "Specialty Grasscloths & Veneers Moon Rock Cork Chalky Wallcoverings",
+ "slug": "moon-rock-cork-chalky"
+ },
+ {
+ "handle": "moon-rock-cork-gun-metal-phillipe-romano",
+ "title": "Specialty Grasscloths & Veneers Moon Rock Cork Gun Metal Wallcoverings",
+ "slug": "moon-rock-cork-gun-metal"
+ },
+ {
+ "handle": "moon-rock-cork-platinum-phillipe-romano",
+ "title": "Specialty Grasscloths & Veneers Moon Rock Cork Platinum Wallcoverings",
+ "slug": "moon-rock-cork-platinum"
+ },
+ {
+ "handle": "moon-rock-cork-shale-phillipe-romano",
+ "title": "Specialty Grasscloths & Veneers Moon Rock Cork Shale Wallcoverings",
+ "slug": "moon-rock-cork-shale"
+ },
+ {
+ "handle": "moon-rock-cork-titanium-phillipe-romano",
+ "title": "Specialty Grasscloths & Veneers Moon Rock Cork Titanium Wallcoverings",
+ "slug": "moon-rock-cork-titanium"
+ },
+ {
+ "handle": "native-metal-leaf-gold-leaf-phillipe-romano",
+ "title": "Specialty Grasscloths & Veneers Native Metal Leaf Gold Leaf Wallcoverings",
+ "slug": "native-metal-leaf-gold-leaf"
+ },
+ {
+ "handle": "native-metal-leaf-silver-leaf-phillipe-romano",
+ "title": "Specialty Grasscloths & Veneers Native Metal Leaf Silver Leaf Wallcoverings",
+ "slug": "native-metal-leaf-silver-leaf"
+ },
+ {
+ "handle": "playa-jute-maui-phillipe-romano",
+ "title": "Specialty Grasscloths & Veneers Playa Jute Maui Wallcoverings",
+ "slug": "playa-jute-maui"
+ },
+ {
+ "handle": "princess-weave-paperweave-moon-dust-phillipe-romano",
+ "title": "Specialty Grasscloths & Veneers Princess Weave Paperweave Moon Dust Wallcoverings",
+ "slug": "princess-weave-paperweave-moon-dust"
+ },
+ {
+ "handle": "roark-flax-golden-nugget-phillipe-romano",
+ "title": "Specialty Grasscloths & Veneers Roark Flax Golden Nugget Wallcoverings",
+ "slug": "roark-flax-golden-nugget"
+ },
+ {
+ "handle": "roark-flax-shadow-phillipe-romano",
+ "title": "Specialty Grasscloths & Veneers Roark Flax Shadow Wallcoverings",
+ "slug": "roark-flax-shadow"
+ }
+]
\ No newline at end of file
← 8c2eae0 auto-save: 2026-07-21T18:09:04 (4 files) — fix-ledger.jsonl
·
back to Dw Image Dup Audit
·
5x sweep 1: NA dups 96->23 verified; caught Meadowbrook N-su 29f9554 →