[object Object]

← back to Wallco Ai

deploy: add step 2c to ship guarded refresh_designs_snapshot.py

7d8a4d5ecfee2bf35a7358dcda6cbccc1b73b685 · 2026-05-26 10:50:01 -0700 · Steve Abrams

scripts/ is excluded from the main rsync, but this one script must track local
(carries the prefix-match generator allowlist + the catastrophe guard). Without
it on prod, a recolor-bake regen against prod's sparse PG re-collapses the
catalog (the 157-designs incident). Stays within the canonical deploy.

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

Files touched

Diff

commit 7d8a4d5ecfee2bf35a7358dcda6cbccc1b73b685
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Tue May 26 10:50:01 2026 -0700

    deploy: add step 2c to ship guarded refresh_designs_snapshot.py
    
    scripts/ is excluded from the main rsync, but this one script must track local
    (carries the prefix-match generator allowlist + the catastrophe guard). Without
    it on prod, a recolor-bake regen against prod's sparse PG re-collapses the
    catalog (the 157-designs incident). Stays within the canonical deploy.
    
    Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
---
 deploy-kamatera.sh | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/deploy-kamatera.sh b/deploy-kamatera.sh
index 480727e..4638dcca 100755
--- a/deploy-kamatera.sh
+++ b/deploy-kamatera.sh
@@ -73,6 +73,16 @@ rsync -az --ignore-existing --stats \
   "$LOCAL_DIR/data/generated/" "$REMOTE:$REMOTE_DIR/data/generated/" \
   | grep -E 'Number of files(:| transferred)|Total transferred' || true
 
+# 2c. Ship refresh_designs_snapshot.py specifically. scripts/ is excluded from
+#     the main rsync (keeps prod lean), but this one script MUST track local —
+#     it carries the generator allowlist + the CATASTROPHE GUARD that stops a
+#     prod-side regen (recolor-bake spawns it) from clobbering designs.json with
+#     prod's sparse PG (the 2026-05-26 "157 designs" incident). Cross-platform
+#     by design (psql_json handles linux sudo-postgres vs mac).
+echo "[2c/6] ship guarded snapshot script..."
+rsync -az "$LOCAL_DIR/scripts/refresh_designs_snapshot.py" \
+  "$REMOTE:$REMOTE_DIR/scripts/refresh_designs_snapshot.py" && echo "  guarded refresh_designs_snapshot.py shipped"
+
 # 4. npm install on remote
 echo "[3/6] npm install..."
 ssh "$REMOTE" "cd $REMOTE_DIR && npm install --omit=dev 2>&1 | tail -5"

← 4c2836c snapshot: prefix-match generators to end recurring allowlist  ·  back to Wallco Ai  ·  Gate /admin/golive[.json] + /api/dw-textures (unauth shell-e 0377440 →