← back to Sanderson Onboard
TK-10873: fix — Ebru II ships at VERIFIED $342, not the stale $230 scrape (verified-price override)
01e2bc043f6d76fee0cf52b5431744bddc7afd88 · 2026-08-31 01:53:17 -0700 · steve@designerwallcoverings.com
Files touched
M tk10873/build_v4_promotions.mjsM tk10873/zoffany_optionA_promotions_v4.jsonM tk10873/zoffany_optionA_promotions_v4.live_plan.jsonM tk10873/zoffany_optionA_promotions_v4.restore_map.preview.json
Diff
commit 01e2bc043f6d76fee0cf52b5431744bddc7afd88
Author: steve@designerwallcoverings.com <steve@designerwallcoverings.com>
Date: Mon Aug 31 01:53:17 2026 -0700
TK-10873: fix — Ebru II ships at VERIFIED $342, not the stale $230 scrape (verified-price override)
---
tk10873/build_v4_promotions.mjs | 14 +++++++++++---
tk10873/zoffany_optionA_promotions_v4.json | 6 +++---
tk10873/zoffany_optionA_promotions_v4.live_plan.json | 4 ++--
.../zoffany_optionA_promotions_v4.restore_map.preview.json | 2 +-
4 files changed, 17 insertions(+), 9 deletions(-)
diff --git a/tk10873/build_v4_promotions.mjs b/tk10873/build_v4_promotions.mjs
index 55a60f3..064239c 100644
--- a/tk10873/build_v4_promotions.mjs
+++ b/tk10873/build_v4_promotions.mjs
@@ -31,6 +31,10 @@ const v3 = JSON.parse(fs.readFileSync(`${DIR}zoffany_optionA_draft_v3.json`, 'ut
// Darnley-collection per-colorway price-confirm follow-up. Do NOT launder Ebru II's evidence onto Mitford.
const HOLD_PATTERNS = /^(Darnley|Mitford Damask)$/i;
const DROP_SKUS = new Set(['ZEND313098']); // Domino Paper
+// Ebru II's harvested us_retail is the STALE below-list scrape ($230). It ships at the web-VERIFIED
+// current US list ($342, direct product-page pin) — NOT the wrong scraped number. Any promoted row
+// whose scrape was below-list MUST use its verified price here, never the stale us_retail.
+const VERIFIED_PRICE = { ZDAR312865: 342.00 }; // Ebru II (Snow), decoratorsbest.com
const rows = [];
// verified 11yd-roll harvested rows (PROPOSE + PROPOSE_LOW_CONF, exactly 11yd single roll, priced)
@@ -39,12 +43,16 @@ for (const r of props) {
if (r.unit !== '11yd-roll' || r.us_retail == null) continue; // exactly single 11yd roll (drops double-roll)
if (DROP_SKUS.has(r.mfr_sku)) continue; // Domino Paper
if (HOLD_PATTERNS.test(r.pattern || '')) continue; // below-list patterns → held
+ const price = VERIFIED_PRICE[r.mfr_sku] ?? Number(r.us_retail); // verified override wins over stale scrape
+ const verified = r.mfr_sku in VERIFIED_PRICE;
rows.push({
mfr_sku: r.mfr_sku, action: 'REPRICE',
- proposed_sellable_price: Number(Number(r.us_retail).toFixed(2)),
+ proposed_sellable_price: Number(Number(price).toFixed(2)),
price_trade: null, // harvested market retail — no DW trade cost, so no cost floor
- price_source: `harvest_us_retail:${r.source} (${r.confidence}, US-list-verified)`,
- unit: r.unit, note: `${r.pattern} — harvested US retail, web-confirmed current list`,
+ price_source: verified
+ ? `web_verified_us_list:${VERIFIED_PRICE[r.mfr_sku]} (corrected from stale scrape $${r.us_retail})`
+ : `harvest_us_retail:${r.source} (${r.confidence}, US-list-verified)`,
+ unit: r.unit, note: `${r.pattern} — ${verified ? 'web-verified current US list (scrape was below-list)' : 'harvested US retail, web-confirmed current list'}`,
});
}
const harvested = rows.length;
diff --git a/tk10873/zoffany_optionA_promotions_v4.json b/tk10873/zoffany_optionA_promotions_v4.json
index b651c40..93ca07f 100644
--- a/tk10873/zoffany_optionA_promotions_v4.json
+++ b/tk10873/zoffany_optionA_promotions_v4.json
@@ -11,11 +11,11 @@
{
"mfr_sku": "ZDAR312865",
"action": "REPRICE",
- "proposed_sellable_price": 230,
+ "proposed_sellable_price": 342,
"price_trade": null,
- "price_source": "harvest_us_retail:morriswallpaper.com (high, US-list-verified)",
+ "price_source": "web_verified_us_list:342 (corrected from stale scrape $230)",
"unit": "11yd-roll",
- "note": "Ebru II — harvested US retail, web-confirmed current list"
+ "note": "Ebru II — web-verified current US list (scrape was below-list)"
},
{
"mfr_sku": "ZCOT313026",
diff --git a/tk10873/zoffany_optionA_promotions_v4.live_plan.json b/tk10873/zoffany_optionA_promotions_v4.live_plan.json
index a9532c7..bfae6bb 100644
--- a/tk10873/zoffany_optionA_promotions_v4.live_plan.json
+++ b/tk10873/zoffany_optionA_promotions_v4.live_plan.json
@@ -14,9 +14,9 @@
"product_id": "gid://shopify/Product/7866101694515",
"sellable_sku": "DWZF-187038",
"cached_variant_id": null,
- "new_price": 230,
+ "new_price": 342,
"old_price": "<LIVE-READ-REQUIRED before write>",
- "price_source": "harvest_us_retail:morriswallpaper.com (high, US-list-verified)",
+ "price_source": "web_verified_us_list:342 (corrected from stale scrape $230)",
"sanity": "PASS"
},
{
diff --git a/tk10873/zoffany_optionA_promotions_v4.restore_map.preview.json b/tk10873/zoffany_optionA_promotions_v4.restore_map.preview.json
index 367587d..e8854ac 100644
--- a/tk10873/zoffany_optionA_promotions_v4.restore_map.preview.json
+++ b/tk10873/zoffany_optionA_promotions_v4.restore_map.preview.json
@@ -14,7 +14,7 @@
"sellable_sku": "DWZF-187038",
"variant_id": "<LIVE-GET-REQUIRED>",
"old_price": "<LIVE-READ-REQUIRED>",
- "new_price": 230,
+ "new_price": 342,
"_note": "PREVIEW only — the live --apply run materializes old_price + variant_id from a live read BEFORE any write."
},
{
← 7e2cada TK-10873: DTD+Cody refine — ship Ebru II (pinned) into v4 (4
·
back to Sanderson Onboard
·
TK-10873: decisions doc — 42 ship / 2 hold after DTD refine 35b8a8b →