← back to Hollywood Import

legacy-real-vendor/PROPOSAL.md

79 lines

# Legacy Hollywood `real_vendor` Mapping — PROPOSAL

> **STATUS 2026-07-15: APPLIED.** Steve approved the high-confidence set and confirmed
> vid `astsand` = Astek Wallcovering (written as "Astek"). 3,537 products set, 0 errors,
> live-verified per vendor group. See `apply-targets.csv` + `apply-audit.jsonl`.
> **BM RESOLVED 2026-07-15:** Steve confirmed FileMaker vid `BM` = **Greenland** (the
> cork/natural-fiber mill, private-labeled Phillipe Romano). Set `dwc.real_vendor="Greenland"`
> on ALL 229 BM-vid products (spanning the Hollywood / Phillipe Romano / Madagascar Walls
> house brands, blank+house-label current values), 0 errors, live-verified, customer-facing
> `vendor` untouched. Targets in `bm-targets.csv`. Same internal-only field / never-rendered
> rationale as Momentum.
>
> **DECODE EXHAUSTED 2026-07-15.** Total fixed with authority = **3,766** (3,537 first
> batch + 229 BM/Greenland). Remaining = **604** (178 active) with NO reliable decoder:
> 585 have no FileMaker vid at all; 19 carry a rep-only/mis-tagged `LBI` vid on HWC vinyls
> (unreliable); a full-catalog mfr_sku salvage returned only 6 single-hit short-code
> collisions (rejected as false positives). These are old house-relabeled vinyls —
> biggest blocks: DWX/FRS21 (189, all inactive), HWC numeric-mfr (153, 144 active),
> XMM/XWD/XJA/XLD tail. They need Steve's per-prefix knowledge (as BM did) or stay as-is.
> Breakdown: `remaining-604-by-prefix.csv`.

**Date:** 2026-07-15 · **Scope:** the ~4,400 legacy products flagged in the July session
(`dwc.real_vendor = "Hollywood Wallcoverings"` / `"Hollywood Acoustical"`) that were
deliberately excluded from the 366-product DWHD fix (commit `ddd2da0`).

**Population (local dw_unified mirror):** 4,256 products (4,219 HW + 37 Hollywood Acoustical),
~190 SKU prefixes, 1,959 ACTIVE.

## Method — per-PRODUCT, not per-prefix

Blanket prefix→vendor writes would be wrong (XHW alone splits Momentum/Koroseal).
Instead each product was joined to its **FileMaker WALLPAPER master** (`filemaker_wallpaper`
mirror, 136,727 rows) by base SKU (Shopify `sku` minus `-Sample`/`-Yard` suffix vs
`combo_sku`/`dw_sku`). FileMaker's `vid` (supplier code) is the authoritative internal
record of who we actually buy from. 3,606 / 4,256 matched (85%).

Secondary evidence for the unmatched: mfr_sku joins against all `*_catalog` staging tables.

## Proposed mapping

| Proposed real_vendor | Products | Active | Evidence / confidence |
|---|---|---|---|
| **Momentum** | 3,275 | 1,545 | FM vid `Mom` — HIGH (matches Hollywood=Momentum PL rule) |
| **(no FileMaker match)** | 650 | 214 | see breakdown below |
| **UNKNOWN-BM** | 108 | 107 | FM vid `BM` — naturals (sisal/cork, "Hollywood Naturals", GRS series). All prefix HLW. **Needs Steve: who is BM?** |
| **Koroseal** | 81 | 0 | FM vid `KOR` + 26 direct koroseal_catalog mfr_sku matches — HIGH. All inside prefix XHW (which is otherwise Momentum → per-product mapping essential) |
| **UNKNOWN-ASTSAND** | 61 | 57 | FM vid `astsand` — house import code covering GRS/STV/flock/cork series. All prefix WBS (basketweaves). **Needs Steve: what vendor is astsand?** |
| **Elitis** | 28 | 18 | FM vid `ELI` — HIGH. Prefixes CROCA, FVH, GPR |
| **Wolf Gordon** | 22 | 0 | FM vid `wol` — HIGH. Prefix XSG |
| **LBI Boyd (rep)** | 19 | 15 | FM vid `LBI`, "Grasses, Weaves & Micas" GT-codes. Rep not mfr — could resolve to the actual line (Colour&Design / DeNovo / Naturale54) if desired |
| **NewWall** | 4 | 3 | FM vid `NWM` — HIGH |
| **Concertex** | 4 | 0 | FM vid `CONC`/`con` |
| **Thibaut** | 3 | 0 | FM vid `thib` |
| **Innovations** | 1 | 0 | FM vid `INN` |

### The 650 with no FileMaker match

| Block | Count | Evidence |
|---|---|---|
| HWC (unmatched subset) | 211 (195 active) | **58 match `newwall_catalog` by mfr_sku** → NewWall candidate for those 58; remaining 153 unknown (5-digit numeric mfr codes 61xxx) |
| DWX | 189 (0 active) | ALL share one mfr family `FRS21-###` ("Crushed Costoluto Vinyl") — single unknown source, zero active, low priority. **Needs Steve: what is FRS?** |
| Long tail (~49 prefixes) | 250 | Small groups (≤22 each), mixed leaked mfr codes (image-filename mfr_skus etc.) |

## Deliverables in this folder

- `proposal-per-product.csv` — all 4,256 rows: shopify_id, sku, status, prefix, mfr_sku,
  current real_vendor, FileMaker vid, proposed vendor, title. The `current_rv` column
  doubles as the rollback record.

## Proposed write plan (GATED — nothing applied)

1. Steve answers the three open decodes (BM, astsand, FRS) — or approves shipping without them.
2. Apply per-product `dwc.real_vendor` metafield updates for the HIGH-confidence rows
   (Momentum 3,275 + Koroseal 81 + Elitis 28 + Wolf Gordon 22 + NewWall 4+58 + Concertex 4 +
   Thibaut 3 + Innovations 1 ≈ 3,476 products), batched with the same guarded pattern as the
   July fix (write only where current value = "Hollywood Wallcoverings"/"Hollywood Acoustical").
   Internal-only field — the theme renders it nowhere (grep-verified in the prior session).
3. UNKNOWN + no-match rows stay untouched until identified.