← back to Wallco Ai
refresh_designs_snapshot: include tags[] column so the curator-force-publish exemption in passesAestheticGate actually matches on prod (was the missing piece — gate filtered #53814 out of DESIGNS at load despite is_published=TRUE)
63a6271dc3298b88e92452bca26620398060ec84 · 2026-05-28 09:37:33 -0700 · Steve Abrams
Files touched
M scripts/refresh_designs_snapshot.py
Diff
commit 63a6271dc3298b88e92452bca26620398060ec84
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Thu May 28 09:37:33 2026 -0700
refresh_designs_snapshot: include tags[] column so the curator-force-publish exemption in passesAestheticGate actually matches on prod (was the missing piece — gate filtered #53814 out of DESIGNS at load despite is_published=TRUE)
---
scripts/refresh_designs_snapshot.py | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/scripts/refresh_designs_snapshot.py b/scripts/refresh_designs_snapshot.py
index 74bb968..0a546d5 100644
--- a/scripts/refresh_designs_snapshot.py
+++ b/scripts/refresh_designs_snapshot.py
@@ -73,7 +73,7 @@ def title_for(cat, hex_, id_):
rows = psql_json(
"SELECT COALESCE(json_agg(t),'[]'::json) FROM ("
"SELECT id, kind, category, dominant_hex, prompt, generator, seed, local_path, "
- "is_published, created_at, motifs, room_mockups, notes, "
+ "is_published, created_at, motifs, room_mockups, notes, tags, "
"user_removed, user_color_good, user_style_good, user_scale_good, user_stars "
# 2026-05-22 — added 'comfy' so Mac1 ComfyUI-generated designs (drunk-monkeys-v2 etc)
# land in the snapshot. Previously these were silently excluded, making the live
@@ -145,6 +145,11 @@ for r in rows:
"is_published": bool(r['is_published']),
"created_at": r['created_at'],
"motifs": r.get('motifs') or [],
+ # tags powers the load-time aesthetic-gate exemption: a row tagged
+ # 'curator-force-publish' bypasses passesAestheticGate so it actually
+ # loads into DESIGNS (otherwise the /by-id route 404s even though
+ # is_published=TRUE). Safe to ship: tags are non-PII curator metadata.
+ "tags": r.get('tags') or [],
# User-feedback fields — used by sorts (highest-stars-first), grid
# badges, and the rating UI on /design/:id.
"user_removed": bool(r.get('user_removed')),
← 49f4fa9 HOT-always-publish: bypass passesAestheticGate at server loa
·
back to Wallco Ai
·
cactus-curator: 📦 TIF badge on every card (green when archi 1f77520 →