← back to Consulting Designerwallcoverings Com
Fix contrarian-caught join errors: Greenland already-buyable (0 in backlog, not a canary); Hollywood is the cost-ready canary (813/843 join via mfr_sku=alt_sku on hw_price)
0c7e77f1269195e1d1f85368edb7fe4cb68657d4 · 2026-07-27 14:49:59 -0700 · steve@designerwallcoverings.com
Files touched
M data/work-orders/PHASE-1-COST-SOURCING.md
Diff
commit 0c7e77f1269195e1d1f85368edb7fe4cb68657d4
Author: steve@designerwallcoverings.com <steve@designerwallcoverings.com>
Date: Mon Jul 27 14:49:59 2026 -0700
Fix contrarian-caught join errors: Greenland already-buyable (0 in backlog, not a canary); Hollywood is the cost-ready canary (813/843 join via mfr_sku=alt_sku on hw_price)
---
data/work-orders/PHASE-1-COST-SOURCING.md | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/data/work-orders/PHASE-1-COST-SOURCING.md b/data/work-orders/PHASE-1-COST-SOURCING.md
index 6298f44..74106ff 100644
--- a/data/work-orders/PHASE-1-COST-SOURCING.md
+++ b/data/work-orders/PHASE-1-COST-SOURCING.md
@@ -37,7 +37,7 @@ A **display "retail" figure already on a product** (a `min_variant_price` > $4.2
| Sub-label | Price basis needed | Source | Exists today? | Lands in |
|---|---|---|---|---|
-| **Greenland** (cork; `GRS-`/`CORK-`) | list-per-yard + DW markup | Greenland open JSON API — **$59.50/yд, 6-yд increments** | **YES** — `greenland_catalog.price_per_yard` populated 213/213 | `greenland_catalog` → join to PR backlog `dw_sku` |
+| **Greenland** (cork; joins as `DWGL-`) | list-per-yard + DW markup | Greenland open JSON API — **$59.50/yд, 6-yд increments** | **YES (priced) but NOT in backlog** — ⚠️ **VERIFIED CORRECTION:** the 213 rows that join `greenland_catalog` (via `sp.mfr_sku=gc.mfr_sku`, all `DWGL-` prefix) are **already buyable** — `0` of them are in the sample-only backlog. The earlier "289 `GRS-` + 29 `CORK-`" figure was a CSV **prefix count**, and those SKUs join greenland **0 rows**. Greenland is therefore **NOT a backlog canary candidate**. | n/a — already has variants |
| **Justin David** (per-yard fabric) | JD list_yd + 15% trade → cost → markup | JD Jan-2026 list | **PARTIAL** — `justin_david_pricing_2026.list_price_yd`/`our_cost_yd` populated 1,528 | `justin_david_pricing_2026` |
| **Command54** | list + DW markup | Command54 price list | **NO** — `command54_catalog` price columns exist but **0 populated**; must be **requested from the vendor** | `command54_catalog.price_retail/price_trade` (empty schema ready) |
| **RIGO** | list + DW markup | RIGO cost list | **NO** — `rigo_catalog` has **no price columns at all**; must be **requested + a price column added** | `rigo_catalog` (needs `price_*` cols) |
@@ -56,9 +56,9 @@ A **display "retail" figure already on a product** (a `min_variant_price` > $4.2
**Price basis needed:** list price + DW markup.
**Source / exists today:** **EXISTS via `hw_price`, NOT `cost`.** ⚠️ **VERIFIED CORRECTION (2026-07-27, direct query):** the wholesale `momentum_colorways.cost` column is **0 / 10,985 — entirely NULL.** What IS populated: `list_price` **10,985/10,985**, `hw_price` **10,985/10,985** (the pre-computed Hollywood private-label sell price), `retail_price` 8,083/10,985. So Hollywood is still a strong position — arguably the strongest, since `hw_price` is already the customer-facing sell figure — but it prices off **`hw_price`**, not a wholesale `cost`. A canary that joined on `cost` would hit all-NULLs and fail.
-**Lands in:** `momentum_colorways.hw_price` (primary) / `list_price` → join to Hollywood backlog `dw_sku`. Do **not** join on `cost` (empty).
+**Join path (VERIFIED):** `sp.mfr_sku = momentum_colorways.alt_sku` — **813 of 843** Hollywood backlog rows join, all with `hw_price` populated. Hollywood backlog `dw_sku` is NULL (842/843), so **do NOT join on `dw_sku`**; and do **not** join on `cost` (empty). Land the price via `momentum_colorways.hw_price`.
**Leak-guard (hard):** "Momentum" and "Versa / Versa Designed Surfaces" must NEVER appear customer-facing — line stays "Hollywood Wallcoverings" with California-city collection names.
-**Phase-1 status:** **sell-price source present (`hw_price`)** — blocker is the join + a `has_cost`/price refresh, not a vendor request. Alongside Greenland, one of the two genuinely cost-ready canary candidates (leak-guard adds risk vs Osborne's clean retail line, but Osborne is cost-blocked and Hollywood is not).
+**Phase-1 status:** **the single genuinely cost-ready backlog canary** — 813/843 backlog rows have a joinable `hw_price`; blocker is only the join + a `has_cost`/price refresh, not a vendor request. (Greenland was mistakenly listed as cost-ready — corrected: its priced rows are already buyable, 0 in backlog. Osborne is joinable but cost-blocked. So Hollywood is the one cost-ready-now candidate — the leak-guard is the managed risk.)
## Line 4 — Designers Guild (designer/retail; 840 backlog SKUs; `has_cost` on 2)
@@ -99,8 +99,8 @@ A GO line is Phase-1-complete when, for the SKUs to be activated:
| Line | Cost source today | Blocker | Soonest path |
|---|---|---|---|
| **Osborne & Little** | scraped list/trade in `osborne_catalog` | `our_price` NULL; need O&L trade % or wholesale sheet | **Nearest** — confirm discount, derive cost, load `our_price` |
-| **Hollywood (Momentum)** | `hw_price`+`list_price` in `momentum_colorways` (**`cost` is NULL** — join on `hw_price`) | join + `has_cost` refresh (no vendor request) | **Cost-ready now** — leak-guard risk |
-| **Greenland (PR sub-label)** | `greenland_catalog.price_per_yard` 213/213 @ $59.50/yd; maps to 289 `GRS-` + 29 `CORK-` backlog rows | join + per-yard variant model + leak-guard | **Cost-ready now** — cleanest confirmed price basis |
+| **Hollywood (Momentum)** | `hw_price` in `momentum_colorways` (**`cost` NULL**; join `sp.mfr_sku=mc.alt_sku`) — **813/843 backlog rows join** | join + `has_cost` refresh (no vendor request) | **Cost-ready now — the ONE viable canary** (leak-guard = managed risk) |
+| **Greenland (PR sub-label)** | `greenland_catalog` 213 DWGL @ $59.50/yd but **0 in backlog (already buyable)** | n/a | **NOT a backlog candidate** — corrected from an earlier prefix-count error |
| **Phillipe Romano** | Greenland + Justin David real; Command54 + RIGO empty | request Command54/RIGO lists | Partial (per sub-label) |
| **Coordonné** | `price_retail` only (no trade/cost) | request trade list / confirm discount | Vendor request |
| **Designers Guild** | ~none (`price_retail` 23/1,294) | request DG wholesale list (likely via O&L) | Vendor request |
← 4455119 Correct Phase-1 cost-sourcing: momentum cost col is NULL (jo
·
back to Consulting Designerwallcoverings Com
·
TK-17: Phase-2 dry-run — batched, rule-enforced, contrarian- b206159 →