[object Object]

← back to Mfr Recovery 2026 08 23

add pending-approval memo for dw_unified write — awaiting Steve approval

3cc4ec0ff100cda2b6ce06e702850eb20a18b4c6 · 2026-08-23 04:14:44 -0700 · Steve Abrams

Files touched

Diff

commit 3cc4ec0ff100cda2b6ce06e702850eb20a18b4c6
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Sun Aug 23 04:14:44 2026 -0700

    add pending-approval memo for dw_unified write — awaiting Steve approval
---
 PENDING-APPROVAL-memo.md | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/PENDING-APPROVAL-memo.md b/PENDING-APPROVAL-memo.md
new file mode 100644
index 0000000..2c5cb10
--- /dev/null
+++ b/PENDING-APPROVAL-memo.md
@@ -0,0 +1,35 @@
+# Pending Approval: mfr_sku Recovery — Zoffany (24) + Novasuede (14)
+**Ticket**: TK-10677, TK-10794  
+**Agent**: rescrape-agent  
+**Date**: 2026-08-23 04:xx AM  
+**Action**: APPROVE / REVISE / BLOCK
+
+## Summary
+
+Two vendors have ACTIVE products with null mfr_sku that can be recovered via LOCAL JOIN (no live scrape, $0):
+
+### Zoffany — 24 products
+- **Join key**: extract `DWZF-XXXXXX` from product handle → join `zoffany_catalog.dw_sku` → get real mfr_sku
+- **Dry-run verified**: all 24 products matched and mfr codes confirmed (e.g. `ZFOW312943`, `ZHIW312996`)
+- **SQL**: `~/Projects/mfr-recovery-2026-08-23/zoffany_mfr_recovery_APPLY.sql`
+- **Reversible undo**: `UPDATE shopify_products SET mfr_sku='' WHERE vendor='Zoffany' AND status='ACTIVE' AND mfr_sku IN ('ZFOW312943','ZHIW312996','ZTOT312747','ZPHA312595','ZKEM312648','ZRHW312903','ZRHW312914','ZRHW312907','ZRHW312899','ZKEM312641','ZRHW312910','ZRHW312890','ZRHW312906','ZRHW312897','ZHIW312994','ZQUA310993','ZHIW313004','ZRHW312889','ZRHW312916','ZFOW312941','ZGUV08004','ZHIW312995','ZHIW313003','ZHIW312997')`
+
+### Novasuede — 14 products (of 22)
+- **Join key**: strip `-luxury-suede` suffix from handle → join `novasuede_catalog.mfr_sku`  
+- **Dry-run verified**: 14 matches (Red, Lime, Gray, Lilac, Orange, Latte, Light Camel, Mauve, Navy, Rose, Mist x2, Green, Gold)
+- **8 unmatched** (Sand, Spice, Abyss, Flame, Gentle Pine, Satin, Umber-copy, sand-dupe) — need live scrape or manual entry
+- **SQL**: `~/Projects/mfr-recovery-2026-08-23/novasuede_mfr_recovery_APPLY.sql`
+
+## Reversibility Gate Check
+- [x] Reversible — undo is SET mfr_sku='' for identified ids
+- [x] No externality — dw_unified local mirror write ONLY; Shopify write stays gated separately
+- [x] Bounded — 24 + 14 = 38 rows total (under 500)
+- [ ] GATED: dw_unified canonical mirror write per CLAUDE.md
+
+**DECISION NEEDED**: APPROVE to run the APPLY SQL on the local dw_unified mirror.
+
+## To Execute (after approval)
+```bash
+psql "host=/tmp dbname=dw_unified" -f ~/Projects/mfr-recovery-2026-08-23/zoffany_mfr_recovery_APPLY.sql
+psql "host=/tmp dbname=dw_unified" -f ~/Projects/mfr-recovery-2026-08-23/novasuede_mfr_recovery_APPLY.sql
+```

← b4fdc74 initial: mfr recovery SQL for Zoffany (24) and Novasuede (14  ·  back to Mfr Recovery 2026 08 23  ·  TK-10677: verify 24 Zoffany recoverable (/bin/zsh join), mar fc2116f →