← back to Wallco Ai
REVIEW-2026-06-03.md
91 lines
# wallco-ai — STAGED ACTIONS for Steve's approval (2026-06-03)
Autonomous compliance loop (DTD focus A). Everything below is **staged, NOT executed**.
Approve / Disapprove on the viewer; add per-item notes in the textarea. On your
return I execute the approved ones by hand (they're all deploy/publish-gated, so
the loop cannot run them itself).
---
## ① Deploy 195 dogs to prod · severity HIGH · gated: prod-deploy
**State:** Dogs collection curated + published in Mac2 PG — **195 breed-silhouette
wallpapers**, all settlement-OK (13 non-compliant already pulled by the post-publish
canary). Snapshot rebuilt locally. **Not yet on live wallco.ai** (deploy blocked under
the loop's no-deploy guardrail).
**On approval I run:**
```
cd ~/Projects/wallco-ai && python3 scripts/refresh_designs_snapshot.py && ./deploy-kamatera.sh
```
**Risk:** customer-facing prod deploy, fully reversible (unpublish + redeploy).
---
## ② Unpublish 658 user_removed-yet-live rows · severity HIGH · gated: bulk-unpublish
**Finding (loop tick 1):** 658 published rows have `user_removed=true` — removed
content that is still live. The hard legal gate is otherwise CLEAN (0 live rows are
settlement BLOCK / VISION-ERROR / REVIEW).
By category: **designer-scenic 363** · stoned-animals 125 · drunk-animals-designer 110
· face-skull-damask 27 · damask 13 · cactus 9 · (rest ≤4).
⚠️ These **may include intentional auto-curator force-publish overrides** — that's
exactly why I'm not bulk-pulling pre-existing rows without your eyes.
**On approval I run** (staged SQL → then snapshot rebuild + deploy):
```
psql -d dw_unified -f ~/Projects/wallco-ai/yolo-queue/STAGED-unpublish-user-removed-live.sql
```
**Risk:** bulk-unpublish of pre-existing rows, reversible (re-publish).
**Tick-2 root cause:** designer-scenic's 363 are a SINGLE 2026-05-20 batch that was removed (`user_removed=true`) then force-republished by the auto-curator — i.e. explicitly-removed content, safe to unpublish. Also flags an auto-curator bug (must honor `user_removed`).
---
## 🟡 FYI — not requesting action yet
- **2,867 never-settlement-gated live rows** — legacy / auto-curator publishes. Not a
violation (no BLOCK live), but un-gated. Recommend a settlement-gating *pass*, not a
purge (would gut the catalog). Deferred to a later loop tick / your call.
*The loop keeps running (~25 min/tick), appending new staged actions to
`yolo-queue/staged-actions.jsonl` + this review file as it finds them.*
---
## ③ Settlement vision re-gate of 2,867 never-gated live rows · severity MEDIUM · gated: metered-gemini
**Finding (loop tick 3):** 2,867 live rows have `settlement_verdict = NULL` — never formally
gated (legacy + auto-curator publishes). **0 are BLOCK**, so no active legal fire, but they're
un-verified. Prompt-keyword triage proved unreliable (anti-prompt boilerplate: 109/110 stripe
prompts say "botanical"), so the robust check is the Gemini **vision** gate.
**Priority tiers (re-gate Tier-1 first):**
- TIER 1 HIGH ~1,173 — monterey-mural 402 · designer-scenic 363 · chinoiserie 269 · designer-bugs 65 · geometric-block-leaves 45 · botanical-wonders 12 · floral 8 · tree-mural 8 · cactus-pine-scenic 1
- TIER 2 MED ~1,060 — stoned-animals 610 · drunk-animals family ~290 · designer-zoo-calm 52 · cactus 71
- TIER 3 LOW ~728 — muybridge-plate 513 · stripe 110 · dogs 51 · face-skull-damask 27 · aztec-kilim 11 (no foliage; skippable)
**Cost:** Gemini 2.5-flash vision, ~$0.0003–0.001/img → **Tier-1 ≈ $0.40–1.20**, all 2,867 ≈ $1–3.
**On approval I run** the settlement vision gate over Tier-1 (then Tier-2), stamping
`settlement_verdict` only (does NOT touch `is_published`). Any BLOCK/REVIEW hit becomes a
separate unpublish decision for you — no auto-unpublish.
---
## ④ Delete 1,590 orphan room rows · severity MEDIUM · gated: destructive-delete
**Finding (loop tick 5):** wallco_rooms = 6,313 rows; 3,891 serve live designs (OK).
**Safe-to-delete orphans = 1,590** — rooms for designs that are GONE (31) or
`user_removed=true` (1,559). By category: designer-scenic 761 · face-skull-damask 396 ·
drunk-animals-designer 99 · designer-bugs 75 · cactus 27 · (design gone) 31 · others.
**Deliberately EXCLUDES** the 832 "unpublished-only" rooms — those designs can be
re-published (the dogs just were), so deleting their rooms would force costly regen.
⚠️ **Dependency on ②:** designer-scenic's 761 overlap the removed batch in action ②. Run
this only after ② is confirmed — if you re-publish that batch instead of unpublishing,
keep their rooms.
**On approval (after ② settles) I run** the staged DELETE (`STAGED-delete-orphan-rooms.sql`)
for the 1,590 missing/removed-design rooms; reversible only via regen.
*FYI — no-tif backlog: 3,708/5,759 published rows (64%) have no TIF. Per CLAUDE.md this is
EXPECTED (lazy print masters, NOT a publish prerequisite) — informational, no action.*