[object Object]

← back to Dw Vendor Microsites

deploy-vendor: gate deploy on image_health>=0.5 (DEPLOY_FORCE=1 override)

b0c42625b265e58c73bdfb89bd4c6dc5bf6b15f1 · 2026-07-12 23:14:05 -0700 · Steve

Closes the gap where BUILD_STATUS=BUILT_NEEDS_RESCRAPE still deployed — which put
command54/justindavid/phillip_jeffries live with image_health=0.0 (empty grids).
Now refuses to deploy a vendor with broken/missing images unless explicitly forced.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

Files touched

Diff

commit b0c42625b265e58c73bdfb89bd4c6dc5bf6b15f1
Author: Steve <steve@designerwallcoverings.com>
Date:   Sun Jul 12 23:14:05 2026 -0700

    deploy-vendor: gate deploy on image_health>=0.5 (DEPLOY_FORCE=1 override)
    
    Closes the gap where BUILD_STATUS=BUILT_NEEDS_RESCRAPE still deployed — which put
    command54/justindavid/phillip_jeffries live with image_health=0.0 (empty grids).
    Now refuses to deploy a vendor with broken/missing images unless explicitly forced.
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---
 deploy-vendor.sh | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/deploy-vendor.sh b/deploy-vendor.sh
index 4d33ac6..89ff4ce 100755
--- a/deploy-vendor.sh
+++ b/deploy-vendor.sh
@@ -23,6 +23,20 @@ BUILD_STATUS="$(manifest_get "$VENDOR" build_status)"
 [ -z "$SUB" ]  && { echo "deploy: no subdomain for $VENDOR in manifest" >&2; exit 1; }
 case "$BUILD_STATUS" in BUILT*) : ;; *) echo "deploy: $VENDOR not BUILT (status=$BUILD_STATUS)" >&2; exit 1;; esac
 
+# image-health gate: refuse to deploy a vendor whose product images are broken/missing
+# (health < 0.5). This closes the gap that let BUILT_NEEDS_RESCRAPE sites reach live with
+# empty grids (command54/justindavid/phillip_jeffries, 2026-07-12). Override: DEPLOY_FORCE=1.
+IMG_HEALTH="$(manifest_get "$VENDOR" image_health)"
+if [ -n "$IMG_HEALTH" ] && [ "$IMG_HEALTH" != "null" ] && awk "BEGIN{exit !($IMG_HEALTH < 0.5)}" 2>/dev/null; then
+  if [ "${DEPLOY_FORCE:-0}" = "1" ]; then
+    echo "deploy: WARNING — $VENDOR image_health=$IMG_HEALTH < 0.5 (broken images); proceeding (DEPLOY_FORCE=1)" >&2
+  else
+    echo "deploy: REFUSING — $VENDOR image_health=$IMG_HEALTH < 0.5 (broken/missing product images)." >&2
+    echo "        Re-scrape images first, or set DEPLOY_FORCE=1 to override." >&2
+    exit 2
+  fi
+fi
+
 DOMAIN="${SUB}.designerwallcoverings.com"
 PM2NAME="${VENDOR}-viewer"
 JSONL_REMOTE="/root/Projects/dw-vendor-microsites/staging/${VENDOR}.jsonl"

← 5317ea3 image-health: exclude base64 data: URIs from coverage (place  ·  back to Dw Vendor Microsites  ·  catchii microsite: recover images $0 from live Shopify feed 2d33c75 →