← back to Wallco Ai
Root fix: refresh_designs_snapshot withholds settlement-BLOCK rows at the artifact chokepoint — defeats all racing publishers (drunk_animals_tick etc); guard now spoon-keyed
40ba2c39851bd9ff1ae612c19c2adc7f00dbf85d · 2026-05-30 21:17:37 -0700 · Steve Abrams
Files touched
M scripts/refresh_designs_snapshot.py
Diff
commit 40ba2c39851bd9ff1ae612c19c2adc7f00dbf85d
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Sat May 30 21:17:37 2026 -0700
Root fix: refresh_designs_snapshot withholds settlement-BLOCK rows at the artifact chokepoint — defeats all racing publishers (drunk_animals_tick etc); guard now spoon-keyed
---
scripts/refresh_designs_snapshot.py | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/scripts/refresh_designs_snapshot.py b/scripts/refresh_designs_snapshot.py
index 2fa1c1a..576e70e 100644
--- a/scripts/refresh_designs_snapshot.py
+++ b/scripts/refresh_designs_snapshot.py
@@ -74,6 +74,7 @@ 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, tags, "
+ "settlement_verdict, "
"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
@@ -149,7 +150,14 @@ for r in rows:
# live from PG via psqlQuery — neither needs it in designs.json.
"generator": "wallco.ai",
"seed": r['seed'],
- "is_published": bool(r['is_published']),
+ # SETTLEMENT HARD GATE (2026-05-30): never emit a settlement-LEGAL-block row as
+ # published, no matter what is_published says in PG. Racing publishers
+ # (drunk_animals_tick, curator force-publish, bulk re-publish) can transiently
+ # set is_published=TRUE on a BLOCK/REVIEW-VISION-ERROR row; this is the single
+ # chokepoint that builds the live artifact, so withholding here protects every
+ # deploy. Purely subtractive — can only hide blocked content, never publish.
+ # BLEED_GHOST_* is a quality verdict, NOT the legal gate — left alone.
+ "is_published": bool(r['is_published']) and not str(r.get('settlement_verdict') or '').startswith(('BLOCK', 'REVIEW-VISION-ERROR')),
"created_at": r['created_at'],
"motifs": r.get('motifs') or [],
# tags powers the load-time aesthetic-gate exemption: a row tagged
← 25e21a7 publish next-5 settlement-clean drunk-animals batch3 (Steve
·
back to Wallco Ai
·
security: add rel=noopener noreferrer to all target=_blank l 8eef445 →