← back to Newmor Onboard
Cycle1 fix: 3-bucket disposition + never-overwrite metafield rule + $4.25 priority memo (TK-10670)
b4d774aac8bdbba7619b10a057be4270b1e3c244 · 2026-08-18 09:32:56 -0700 · steve@designerwallcoverings.com
Files touched
M artifacts/METAFIELD-MAP.mdM artifacts/RECONCILIATION.md
Diff
commit b4d774aac8bdbba7619b10a057be4270b1e3c244
Author: steve@designerwallcoverings.com <steve@designerwallcoverings.com>
Date: Tue Aug 18 09:32:56 2026 -0700
Cycle1 fix: 3-bucket disposition + never-overwrite metafield rule + $4.25 priority memo (TK-10670)
---
artifacts/METAFIELD-MAP.md | 8 ++++++++
artifacts/RECONCILIATION.md | 27 ++++++++++++++++++++-------
2 files changed, 28 insertions(+), 7 deletions(-)
diff --git a/artifacts/METAFIELD-MAP.md b/artifacts/METAFIELD-MAP.md
index 0fcdcfc..0e3d7be 100644
--- a/artifacts/METAFIELD-MAP.md
+++ b/artifacts/METAFIELD-MAP.md
@@ -29,6 +29,14 @@ FINAL namespace/keys must be reconciled against the existing DW live metafield s
| collection | Shopify **tag/collection** | — | NOT a metafield |
| product_url | `custom.vendor_url` | url | |
+## ⚠️ NEVER-OVERWRITE-RICHER-LIVE rule (Cody-caught, verified cycle 1)
+The 512/544 live products ALREADY carry richer metafields than the 2026 catalog:
+`custom.manufacturer_sku` (512), `custom.fire_rating`="Inquire for more Information" (512),
+`custom.width` (118), `custom.pattern_name` (541). The catalog's fire_rating/finish/etc are BLANK.
+⇒ The backfill MUST be **fill-only, never clobber**: write a metafield from the catalog ONLY when
+the live value is empty AND the catalog value is non-empty. Writing catalog blanks over live values
+is a REGRESSION. Coverage numbers below describe the CATALOG source, not what to force onto live.
+
## body_html policy
- KEEP: marketing prose (pattern story, designer, base options). Current bodies are clean
(only 46/1284 mention a spec token) — light cleanup, not systemic.
diff --git a/artifacts/RECONCILIATION.md b/artifacts/RECONCILIATION.md
index f985bde..fcebf3a 100644
--- a/artifacts/RECONCILIATION.md
+++ b/artifacts/RECONCILIATION.md
@@ -18,13 +18,26 @@ the DWNM codes). NO new series. NO duplicates.
- Root cause: many LIVE `mfr_sku` are malformed collection-level junk
(`ARONA-COMMERCIAL-WALLCOVERING-ARONA`, sku `Arona -`) while catalog codes are clean (`AR-103`).
-## Decision (DTD-committed, cycle 1)
-A 543-row live SKU rewrite off a 23%-confident map is unsafe → **HOLD the gated rewrite.**
-Cycle 2+ must raise match confidence first:
-1. Fuzzy pattern-code extraction: pull the trailing `[A-Z]{2,4}-\d{2,4}` code from both live sku
- and catalog mfr_sku, match on that; then match residuals by pattern_name + color_name.
-2. Re-measure; only when a high-confidence tier (target ≥ ~90%) exists do we draft the gated rewrite.
-3. Assign DWNM to the 9 catalog rows lacking `dw_sku`.
+## CORRECTED SCOPE (Cody-caught + verified, cycle 1) — it's a DISPOSITION, not a rename
+The 544 live products are a **2019 import** (created 2019-11-16 → 2026-04); the catalog is a
+**2026 scrape**. They are largely disjoint — matching even on the clean live metafield code yields
+118/544. "Fuzzy-match harder to 90%" was WRONG framing. True 3-bucket disposition (from
+`newmor_sku_reconcile`):
+
+| bucket | count | @ $4.25 | action |
+|--------|-------|---------|--------|
+| A_MATCHED | 126 | 125 | maps to a DWNM code → normalize (gated rewrite) |
+| B_PATTERN_ONLY | 180 | 180 | pattern in catalog, colorway isn't → recover by pattern+color match |
+| C_NO_CATALOG_COUNTERPART| 235 | 234 | no catalog match → likely discontinued 2019 line → DISPOSITION call (archive vs re-scrape) |
+| JUNK | 3 | 3 | malformed collection rows → archive/fix |
+
+So only ~56% (A+B) is reconcilable to the current catalog; 235 need a Steve disposition; and
+**539/544 are live at the $4.25 sample price** (see the priority gated memo — separate from the SKU project).
+
+Cycle 2 first action (Cody-mandated): for the C bucket, count how many `live_pat` appear NOWHERE
+in `newmor_catalog.pattern_name`; that number is the true discontinued scope. Then: (1) B-bucket
+pattern+color recovery pass, (2) assign DWNM to the 9 catalog rows lacking dw_sku, (3) draft the
+A-bucket (126) gated rewrite — the only high-confidence tier — for Steve.
## Staged artifact (reversible)
`newmor_sku_reconcile` table in dw_unified (Mac2 staging). Drop-to-undo. Columns:
← a9b82b8 Newmor onboard cycle 1: reconciliation + metafield map artif
·
back to Newmor Onboard
·
TK-10670: Newmor $4.25 take-down — archive 237 (C+JUNK), dra f7a1052 →