← back to Dw Five Field Step0

out/cost-relink-summary.md

48 lines

# Cost-Relink SAFE First Pass — Review Diff Summary

Generated: 2026-06-22T02:04:05.855947Z · READ-ONLY dry-run · $0 (local SQL) · NO dw_unified writes
Confidence scheme: DTD A+B+C (3/3 unanimous 2026-06-21)
Pricing: Kravet-family -> MAP; others -> round(cost/0.65/0.85, 2)

## Headline
- Scope: the 4 cost-already-in-DB vendors (Scalamandre, Rebel Walls, Osborne, Coordonné).
- Rows examined: 4419 flagged no-cost SKUs.
- RECOVERABLE now: 1262  (high-confidence 1202 = exact 91 + fuzzy-high 1111; review 60).
- UNRESOLVED: 3157  (1,320 = all of Coordonné — different product cohort, needs rescrape not relink).
- Computed-price range across recoverable: $21.72 .. $1744.80.

## Per-vendor
| Vendor | Flagged | Exact | Fuzzy-High | Review | Recoverable | Unresolved | Cost col |
|---|---|---|---|---|---|---|---|
| Scalamandre Wallpaper | 960 | 15 | 407 | 57 | **479** | 481 | scalamandre_catalog.price_trade |
| Rebel Walls | 1181 | 27 | 619 | 3 | **649** | 532 | rebel_walls_catalog.price_retail |
| Osborne & Little | 958 | 49 | 85 | 0 | **134** | 824 | osborne_catalog.price_retail |
| Coordonné | 1320 | 0 | 0 | 0 | **0** | 1320 | coordonne_catalog.price_retail |

## Osborne cost-map bug fix
- BEFORE (price_trade, the buggy mapping): 0/787 catalog rows have a cost; **0 flagged Osborne SKUs resolved** — every one silently priced at $0.
- AFTER (price_retail, the fix): 781/787 populated; **134 Osborne SKUs now resolve** (49 exact + 85 fuzzy-high).
- The fix re-arms the entire Osborne cost path for all 955 flagged SKUs (the remaining 824 unresolved need pattern+color rescrape, but they can no longer silent-$0).

## 5-row sample of the diff
| dw_sku | vendor | mfr_sku | matched pattern | confidence | sourced cost | computed price |
|---|---|---|---|---|---|---|
| SCWP88582D0005 | Scalamandre Wallpaper | SCWP88582D0005 | JOANNA FRET | exact | 182.0 | 329.41 |
| SCWP88582D0001 | Scalamandre Wallpaper | SCWP88582D0001 | JOANNA FRET | exact | 182.0 | 329.41 |
| DWA-89391 | Scalamandre Wallpaper | 0001G1186 | Basket Weave G1186 | fuzzy-high | 312.0 | 564.71 |
| DWA-89388 | Scalamandre Wallpaper | 0001G1190 | Basket Weave G1190 | fuzzy-high | 282.0 | 510.41 |
| DWA-89385 | Scalamandre Wallpaper | 0001G1193 | Sisal | review | [15.0, 282.0] | [27.15, 510.41] |

## Classifier (Step 2)
- All 131 flagged vendors auto-bucketed -> out/vendor-classification.json.
  - scraper-build-cost-field: 58 vendors
  - join-bug-relink (fuzzy-heavy): 28 vendors
  - price-list-email-or-scraper-build: 25 vendors
  - join-bug-relink: 14 vendors
  - public-PDP-rescrape: 5 vendors
  - upstream-portal: 1 vendors

## What stays GATED for Steve
- NO cost written to dw_unified. NO activation. This is a dry-run diff only.
- The relink WRITE (load sourced_cost into dw_unified.catalog_cost + recompute priceable) is the next step and needs Steve's explicit go.