[object Object]

← back to Designer Wallcoverings

auto-save: 2026-06-23T18:23:51 (2 files) — DW-Agents/vendor-command-center/build-vendor-inquiry-pages.py vendor-scrapers/china-seas-refresh

04106ead8baedb10560026341fa914fe9c2f4ef7 · 2026-06-23 18:24:11 -0700 · Steve Abrams

Files touched

Diff

commit 04106ead8baedb10560026341fa914fe9c2f4ef7
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Tue Jun 23 18:24:11 2026 -0700

    auto-save: 2026-06-23T18:23:51 (2 files) — DW-Agents/vendor-command-center/build-vendor-inquiry-pages.py vendor-scrapers/china-seas-refresh
---
 .../build-vendor-inquiry-pages.py                  | 22 ++++++++++++++++++++--
 1 file changed, 20 insertions(+), 2 deletions(-)

diff --git a/DW-Agents/vendor-command-center/build-vendor-inquiry-pages.py b/DW-Agents/vendor-command-center/build-vendor-inquiry-pages.py
index b77adf9c..abbb840b 100644
--- a/DW-Agents/vendor-command-center/build-vendor-inquiry-pages.py
+++ b/DW-Agents/vendor-command-center/build-vendor-inquiry-pages.py
@@ -235,13 +235,31 @@ def fetch_6_products(vendor_patterns):
     return []
 
 
+def _is_scorer_error(text):
+    """website-scorer.js emits diagnostic 'summary' strings on fetch failure
+    ('Website unreachable: <err>', 'HTTP <code> error'). These are NOT vendor
+    copy and must NEVER be published to a live page — treat them as missing
+    about_text so the clean fallback paragraph fires instead.
+    (Root-cause fix for the 30 'Website unreachable' page leaks swept 2026-06-23.)"""
+    if not text:
+        return True
+    t = text.strip()
+    if t.startswith('Website unreachable:'):
+        return True
+    if t.startswith('HTTP '):
+        head = t[5:].split(' ', 1)
+        if head and head[0].isdigit() and 'error' in t.lower():
+            return True
+    return False
+
+
 def build_body_html(vendor_name, products, about_text):
     """Build rich body HTML with product grid + about section."""
     html = '<div style="max-width:900px;margin:0 auto;padding:30px 20px;font-family:Georgia,serif;">\n'
     html += f'<h2 style="text-align:center;color:#2c2420;font-size:28px;margin-bottom:8px;">{vendor_name}</h2>\n'
 
-    # About section
-    if about_text and len(about_text) > 20:
+    # About section — guard against scorer error strings leaking into live copy
+    if about_text and len(about_text) > 20 and not _is_scorer_error(about_text):
         html += f'<p style="text-align:center;font-size:16px;line-height:1.7;color:#5a4a3a;margin-bottom:30px;">{about_text}</p>\n'
     else:
         html += f'<p style="text-align:center;font-size:16px;line-height:1.7;color:#5a4a3a;margin-bottom:30px;">We carry {vendor_name} products and can source any item from their current collections. Contact us for pricing, samples, and availability.</p>\n'

← ad18e182 Front-page four-horsemen review memo: verdict + staged dev-t  ·  back to Designer Wallcoverings  ·  Front-page sprint PUBLISHED LIVE as Steves Version 5.2 (1439 712b86ae →