← back to Dw Unbuyable Recovery Pilot
TK-10875: next-cohort scan — WG was the only bounded recoverable cohort
4f00877a6b6b80b5d0928793363e6f5df5c6c4fa · 2026-08-30 15:47:20 -0700 · Steve Abrams
Tested corrected join + cost-population across 12 top unbuyable vendors. All others:
either empty staging cost columns (PR/China Seas/Arte/Malibu/PJ/Coordonné → cost-sourcing)
or cost present but keys diverge (Scalamandre: 4,877 costed rows, DWA vs DWSC + mismatched
mfr → identity-reconcile). No other quick-win cohort. Bounded recovery COMPLETE.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Files touched
A data/next-cohort-scan.md
Diff
commit 4f00877a6b6b80b5d0928793363e6f5df5c6c4fa
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Sun Aug 30 15:47:20 2026 -0700
TK-10875: next-cohort scan — WG was the only bounded recoverable cohort
Tested corrected join + cost-population across 12 top unbuyable vendors. All others:
either empty staging cost columns (PR/China Seas/Arte/Malibu/PJ/Coordonné → cost-sourcing)
or cost present but keys diverge (Scalamandre: 4,877 costed rows, DWA vs DWSC + mismatched
mfr → identity-reconcile). No other quick-win cohort. Bounded recovery COMPLETE.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---
data/next-cohort-scan.md | 47 +++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+)
diff --git a/data/next-cohort-scan.md b/data/next-cohort-scan.md
new file mode 100644
index 0000000..e73ca77
--- /dev/null
+++ b/data/next-cohort-scan.md
@@ -0,0 +1,47 @@
+# TK-10875 — Next-recoverable-cohort scan (read-only) · 2026-08-30
+
+Applied the Wolf-Gordon recovery method (corrected join + cost-population check) to the
+top unbuyable vendors, to find the next bounded recoverable cohort. **Result: there is
+none — Wolf Gordon was the exception.**
+
+## Method
+For each top-unbuyable vendor: (1) locate its `<vendor>_catalog` staging table + cost
+column, (2) test `shopify_products.sku = catalog.dw_sku` AND `mfr_sku = mfr_sku` join
+yield with cost>0, (3) check whether the catalog's cost column is even populated.
+
+## Findings
+
+| Vendor | Unbuyable | Staging cost populated? | Join yield | Verdict |
+|---|---:|---|---:|---|
+| **Wolf Gordon** | 269 | ✅ 5,135 rows | **224** (sku=dw_sku) | **RECOVERED + shipped** |
+| Phillipe Romano | 8,274 | ❌ 0 rows (empty col) | 0 | cost-sourcing |
+| Phillip Jeffries | 2,338 | ❌ empty | 0 | cost-sourcing |
+| China Seas | 1,776 | ❌ 0 rows (quadrille_house) | 0 | cost-sourcing |
+| Coordonné | 1,299 | ❌ price_trade empty (+DWDC↔DWCO2 prefix gap) | 0 | reconcile + cost |
+| Pierre Frey | 659 | ❌ empty | 0 | cost-sourcing |
+| Rebel Walls | 494 | (rebelwalls_catalog) | 0 | reconcile/cost |
+| Arte International | 489 | ❌ 0 rows | 0 | cost-sourcing |
+| **Scalamandre** | 474 | ✅ **4,877 rows** | **0** | **identity-reconcile** (keys diverge) |
+| Quadrille | 443 | ❌ 0 rows | 0 | cost-sourcing |
+| Alan Campbell | 434 | ❌ 0 rows | 0 | cost-sourcing |
+| CMO Paris | 344 | ❌ empty | 0 | cost-sourcing |
+| Malibu Wallpaper | 339 | ❌ empty (malibu_catalog) | 0 | cost-sourcing |
+
+### The Scalamandre exception (has cost, but keys don't reconcile)
+- live `shopify_products`: `dw_sku='DWA-89131'` (DWA prefix), `mfr_sku='wp88373'`
+- `scalamandre_catalog`: `dw_sku='DWSC-111446'` (DWSC prefix), `mfr_sku='SCWP885230003'`
+
+Different prefix families AND mismatched mfr numeric cores (88373 vs 88523…) — the live
+Scalamandre line was onboarded under a different SKU scheme (likely the "Architectural
+Wallcoverings" DWA- rebrand) than the catalog scrape. Recovering these 474 needs a real
+identity reconciliation (pattern+color match or re-scrape), not a join fix.
+
+## Conclusion
+**TK-10875 bounded recovery is COMPLETE** (Wolf Gordon 224, shipped). The remaining
+~24,990 unbuyable split into two SEPARATE initiatives, each warranting its own ticket:
+1. **Cost-sourcing** — most top vendors have empty staging cost columns → vendor scrapes /
+ vendor-price-ingest (largely gated, large scope).
+2. **Identity-reconciliation** — Scalamandre (has cost) + Coordonné/Rebel Walls (prefix
+ gaps) need SKU/prefix reconciliation before their cost can join.
+
+Neither is a bounded quick-win loop increment.
← 6ee445d TK-10875: regenerate artifacts + broaden live RR-defect veri
·
back to Dw Unbuyable Recovery Pilot
·
TK-10978: Scalamandre content-match reconciliation — 133 rec c815a74 →