← back to Designerwallcoverings
TK-11522: vendor_registry URL-rot reconcile (gated apply/rollback + restore-map)
e62dfad40dad418c56c44282b8e3d29a2438e124 · 2026-09-12 20:10:45 -0700 · Steve Abrams
12 rotten vendor_registry URLs re-verified live and corrected from our own
scraper product_url ground-truth: 8 domain corrections (cowtan_tout+colefax_fowler
->designs.cowtan.com, zoffany->zoffany.design, william_morris->sanderson.design,
innovations->www host, china_seas->quadrillefabrics.com, armani_casa->armanicasa-
wallcoverings.com, anna_french path fix) + 4 dead private-label domains ->NULL.
Idempotent guarded UPDATEs (dry-run: 12/12 matched one row). Apply is GATED to
pending-approval; nothing fired.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PPZaNx6iLG5WJuPWQsqZiY
Files touched
A scripts/tk11522-url-rot/RESTOREMAP-20260913T030819Z.txtA scripts/tk11522-url-rot/apply.sqlA scripts/tk11522-url-rot/rollback.sql
Diff
commit e62dfad40dad418c56c44282b8e3d29a2438e124
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Sat Sep 12 20:10:45 2026 -0700
TK-11522: vendor_registry URL-rot reconcile (gated apply/rollback + restore-map)
12 rotten vendor_registry URLs re-verified live and corrected from our own
scraper product_url ground-truth: 8 domain corrections (cowtan_tout+colefax_fowler
->designs.cowtan.com, zoffany->zoffany.design, william_morris->sanderson.design,
innovations->www host, china_seas->quadrillefabrics.com, armani_casa->armanicasa-
wallcoverings.com, anna_french path fix) + 4 dead private-label domains ->NULL.
Idempotent guarded UPDATEs (dry-run: 12/12 matched one row). Apply is GATED to
pending-approval; nothing fired.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PPZaNx6iLG5WJuPWQsqZiY
---
.../RESTOREMAP-20260913T030819Z.txt | 12 ++++++
scripts/tk11522-url-rot/apply.sql | 46 ++++++++++++++++++++++
scripts/tk11522-url-rot/rollback.sql | 18 +++++++++
3 files changed, 76 insertions(+)
diff --git a/scripts/tk11522-url-rot/RESTOREMAP-20260913T030819Z.txt b/scripts/tk11522-url-rot/RESTOREMAP-20260913T030819Z.txt
new file mode 100644
index 0000000..8ec4fa4
--- /dev/null
+++ b/scripts/tk11522-url-rot/RESTOREMAP-20260913T030819Z.txt
@@ -0,0 +1,12 @@
+anna_french|<NULL>|https://www.thibautdesign.com/anna-french
+armani_casa|<NULL>|https://www.armanicasa.com
+bespoke|<NULL>|https://bfrdesignstudio.com
+british_walls|<NULL>|https://www.britishwalls.com
+china_seas|<NULL>|https://www.chinaseas.com
+colefax_fowler|<NULL>|https://www.colefaxfowler.com
+cowtan_tout|<NULL>|https://www.cowtantout.com
+innovations|https://innovationsusa.com|https://innovationsusa.com
+leed_walls|<NULL>|https://www.leedwalls.com
+surface_stick|<NULL>|https://www.surfacestick.com
+william_morris|<NULL>|https://www.williammorris.com
+zoffany|<NULL>|https://www.zoffany.com
diff --git a/scripts/tk11522-url-rot/apply.sql b/scripts/tk11522-url-rot/apply.sql
new file mode 100644
index 0000000..b071d61
--- /dev/null
+++ b/scripts/tk11522-url-rot/apply.sql
@@ -0,0 +1,46 @@
+-- TK-11522 vendor_registry URL-rot reconcile — APPLY (GATED: Mac2-canonical dw_unified write)
+-- Author: worker-w15 | Reversible via rollback.sql (from RESTOREMAP-*.txt)
+-- Every UPDATE is GUARDED on the exact old value: idempotent, and cannot clobber a
+-- concurrent/newer fix (e.g. the way `hollywood` was already corrected out-of-band).
+-- Corrections derived from our OWN scraper product_url ground-truth + live-verified 200.
+-- Run: PGHOST=/tmp psql -d dw_unified -v ON_ERROR_STOP=1 -f apply.sql
+BEGIN;
+
+-- A. Confident domain corrections (scraper product_url host, live 200) -----------------
+UPDATE vendor_registry SET website_url='https://www.thibautdesign.com', updated_at=now()
+ WHERE vendor_code='anna_french' AND website_url='https://www.thibautdesign.com/anna-french';
+UPDATE vendor_registry SET website_url='https://www.armanicasa-wallcoverings.com', updated_at=now()
+ WHERE vendor_code='armani_casa' AND website_url='https://www.armanicasa.com';
+UPDATE vendor_registry SET website_url='https://quadrillefabrics.com', updated_at=now()
+ WHERE vendor_code='china_seas' AND website_url='https://www.chinaseas.com';
+UPDATE vendor_registry SET website_url='https://designs.cowtan.com', updated_at=now()
+ WHERE vendor_code='colefax_fowler' AND website_url='https://www.colefaxfowler.com';
+UPDATE vendor_registry SET website_url='https://designs.cowtan.com', updated_at=now()
+ WHERE vendor_code='cowtan_tout' AND website_url='https://www.cowtantout.com';
+UPDATE vendor_registry SET login_url='https://www.innovationsusa.com',
+ website_url='https://www.innovationsusa.com', updated_at=now()
+ WHERE vendor_code='innovations' AND website_url='https://innovationsusa.com';
+UPDATE vendor_registry SET website_url='https://www.sanderson.design', updated_at=now()
+ WHERE vendor_code='william_morris' AND website_url='https://www.williammorris.com';
+UPDATE vendor_registry SET website_url='https://www.zoffany.design', updated_at=now()
+ WHERE vendor_code='zoffany' AND website_url='https://www.zoffany.com';
+
+-- B. Dead private-label / house domains -> NULL (products sell only on our own store;
+-- a dead NXDOMAIN pointer is worse than NULL — NULL = correctly "no external edge") --
+UPDATE vendor_registry SET website_url=NULL, updated_at=now()
+ WHERE vendor_code='bespoke' AND website_url='https://bfrdesignstudio.com';
+UPDATE vendor_registry SET website_url=NULL, updated_at=now()
+ WHERE vendor_code='british_walls' AND website_url='https://www.britishwalls.com';
+UPDATE vendor_registry SET website_url=NULL, updated_at=now()
+ WHERE vendor_code='leed_walls' AND website_url='https://www.leedwalls.com';
+UPDATE vendor_registry SET website_url=NULL, updated_at=now()
+ WHERE vendor_code='surface_stick' AND website_url='https://www.surfacestick.com';
+
+-- Read-back (independent verification, not the UPDATE row count) -------------------------
+SELECT vendor_code, login_url, website_url FROM vendor_registry
+ WHERE vendor_code IN ('anna_french','armani_casa','china_seas','colefax_fowler',
+ 'cowtan_tout','innovations','william_morris','zoffany',
+ 'bespoke','british_walls','leed_walls','surface_stick')
+ ORDER BY vendor_code;
+
+COMMIT;
diff --git a/scripts/tk11522-url-rot/rollback.sql b/scripts/tk11522-url-rot/rollback.sql
new file mode 100644
index 0000000..9201959
--- /dev/null
+++ b/scripts/tk11522-url-rot/rollback.sql
@@ -0,0 +1,18 @@
+-- TK-11522 vendor_registry URL-rot reconcile — ROLLBACK (restores exact pre-apply values)
+-- Source of truth: RESTOREMAP-20260913T030819Z.txt (captured read-only before apply).
+-- Run: PGHOST=/tmp psql -d dw_unified -v ON_ERROR_STOP=1 -f rollback.sql
+BEGIN;
+UPDATE vendor_registry SET website_url='https://www.thibautdesign.com/anna-french', updated_at=now() WHERE vendor_code='anna_french';
+UPDATE vendor_registry SET website_url='https://www.armanicasa.com', updated_at=now() WHERE vendor_code='armani_casa';
+UPDATE vendor_registry SET website_url='https://www.chinaseas.com', updated_at=now() WHERE vendor_code='china_seas';
+UPDATE vendor_registry SET website_url='https://www.colefaxfowler.com', updated_at=now() WHERE vendor_code='colefax_fowler';
+UPDATE vendor_registry SET website_url='https://www.cowtantout.com', updated_at=now() WHERE vendor_code='cowtan_tout';
+UPDATE vendor_registry SET login_url='https://innovationsusa.com', website_url='https://innovationsusa.com', updated_at=now() WHERE vendor_code='innovations';
+UPDATE vendor_registry SET website_url='https://www.williammorris.com', updated_at=now() WHERE vendor_code='william_morris';
+UPDATE vendor_registry SET website_url='https://www.zoffany.com', updated_at=now() WHERE vendor_code='zoffany';
+UPDATE vendor_registry SET website_url='https://bfrdesignstudio.com', updated_at=now() WHERE vendor_code='bespoke';
+UPDATE vendor_registry SET website_url='https://www.britishwalls.com', updated_at=now() WHERE vendor_code='british_walls';
+UPDATE vendor_registry SET website_url='https://www.leedwalls.com', updated_at=now() WHERE vendor_code='leed_walls';
+UPDATE vendor_registry SET website_url='https://www.surfacestick.com', updated_at=now() WHERE vendor_code='surface_stick';
+SELECT vendor_code, login_url, website_url FROM vendor_registry WHERE vendor_code IN ('anna_french','armani_casa','china_seas','colefax_fowler','cowtan_tout','innovations','william_morris','zoffany','bespoke','british_walls','leed_walls','surface_stick') ORDER BY vendor_code;
+COMMIT;
← 9c37702 auto-data-snapshot: 2026-09-12T17:44:46 (1 data files) — dat
·
back to Designerwallcoverings
·
TK-11552: gitignore local backup of aged info@ reply drafts ba0d292 →