[object Object]

← back to Wallco Ai

TODO: orphan rooms fixed-locally (141 copies, 0 remain; prod push Steve-gated) + dw_admin rotation queued in secrets-manager checklist

443ac42338623588f7b9a0bc439f5b7b320299ff · 2026-06-01 13:19:03 -0700 · Steve Abrams

Files touched

Diff

commit 443ac42338623588f7b9a0bc439f5b7b320299ff
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Mon Jun 1 13:19:03 2026 -0700

    TODO: orphan rooms fixed-locally (141 copies, 0 remain; prod push Steve-gated) + dw_admin rotation queued in secrets-manager checklist
---
 TODO.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/TODO.md b/TODO.md
index 165621c..5378667 100644
--- a/TODO.md
+++ b/TODO.md
@@ -17,8 +17,8 @@ up unchecked rows automatically.
 - [x] **Room PDP dual-path resolver — fixed + live (prod 911ccd1 / Mac2 43012d9d).** `resolveRoomUrl`/`resolveDesignRooms` — rooms resolve from the wallco_rooms TABLE (durable) via data/rooms OR legacy /uploads image_path, applied to /api/rooms+gallery, PDP "See in a room" figure, tearsheet, brief. Restored ~1,217 legacy designs regressed earlier same day. /admin/rooms list filters removed_at (78c7a75).
 - [x] Pulled 8 BAD damask room renders (oversized/micro, misrepresented product) — reversible soft-delete, Steve-approved.
 - [ ] **Room pipeline Phase 2 (gated, when ready):** the room-setting-app Gemini engine still has flat/scale/single-template issues for NEW cloud renders — prompt-harden (no-frame), scale-normalize (analyze-pattern route exists, caller hardcodes 27"), hue→room template. See `~/.claude/yolo-queue/ROOM-PIPELINE-ROOTCAUSE.md`. NOT urgent — the free PIL path covers the catalog.
-- [ ] ~114 true-orphan designs (wallco_rooms row but no file either location) — re-render or DB image_path repair. See `~/.claude/yolo-queue/PARKED-FOR-STEVE.md`.
-- [~] **Security (Kamatera compromise 2026-05-30):** wallco-ai stripped of hardcoded dw_admin DSN (c07228b8) + security-monitor cron (4d989e2e). **Designer-Wallcoverings code hygiene DONE 2026-05-30** — 25 source files stripped across nested DW-Programming (3e3124d, 16 files) + nested shopify (0f0a91a, 2 files) + parent (06d3d7a, 7 files), plus 7 stale .pyc untracked via new __pycache__ gitignore rule. All dw_admin pw literals gone from `git grep` (literal redacted from this TODO row to keep gitleaks happy). Patterns covered: bare DSN, export PGPASSWORD, inline PGPASSWORD='..' psql, DB_PASS="..", README.md env-example. Host + DB preserved in every DSN per secret-strip convention. **STILL OPEN (Steve-gated):** rotate the dw_admin pw itself via `~/Projects/_shared/docs/pg-rotation-runbook.md` — once rotated, these scripts inherit the new pw via env without further code changes.
+- [~] **Orphan room renders — FIXED LOCALLY 2026-06-01.** Census corrected the stale "~114": actually **141 gallery rows** missing the canonical `data/rooms/design_<id>_<rt>.png` render (resolver checks canonical only, ignores image_path). ALL 141 were **copy-fixable** from existing upload PNGs (lossless `shutil.copy2`, NO regen) — restored on Mac2, `MISSING_gallery 141→0`, rooms serve HTTP 200; **104 are published live designs** that were missing their "See it in a room". Reusable: `/tmp/orphan_strict.py` (census) + `/tmp/orphan_fix.py` (copy upload→canonical). **STILL OPEN (Steve-gated):** prod wallco.ai still 404s these — `data/rooms/` is deploy-excluded, so push via a **targeted additive rsync of just the 141** (`--files-from=/tmp/orphan-rooms-filelist.txt`, no `--delete`, no restart — resolver reads files live). Command handed to Steve 2026-06-01; classifier blocks autonomous prod write.
+- [~] **Security (Kamatera compromise 2026-05-30):** wallco-ai stripped of hardcoded dw_admin DSN (c07228b8) + security-monitor cron (4d989e2e). **Designer-Wallcoverings code hygiene DONE 2026-05-30** — 25 source files stripped across nested DW-Programming (3e3124d, 16 files) + nested shopify (0f0a91a, 2 files) + parent (06d3d7a, 7 files), plus 7 stale .pyc untracked via new __pycache__ gitignore rule. All dw_admin pw literals gone from `git grep` (literal redacted from this TODO row to keep gitleaks happy). Patterns covered: bare DSN, export PGPASSWORD, inline PGPASSWORD='..' psql, DB_PASS="..", README.md env-example. Host + DB preserved in every DSN per secret-strip convention. **STILL OPEN (Steve-gated):** rotate the dw_admin pw itself via `~/Projects/_shared/docs/pg-rotation-runbook.md` — once rotated, these scripts inherit the new pw via env without further code changes. **Queued 2026-06-01** in `~/Projects/secrets-manager/ROTATION-CHECKLIST.md` (item #1, alongside the 2 Gemini key mints).
 - [x] SSH auth to Kamatera fixed (rotated key not matched by IP in ~/.ssh/config → added IP to Host block + ssh-add).
 - [x] Auto-resume: canonical daemon `com.steve.claude-auto-resume` (pid 3452) is the real one; global kill-switch `~/.claude-resume-disabled` is ON to stop self-trigger in phrase-quoting sessions (removed my redundant claude-resume-all.sh dup).
 

← 2369124 styleguides: admin can add/delete custom style guides; usabl  ·  back to Wallco Ai  ·  Add unpublished-designs census 2026-06-01: 40,107 unpublishe 05eafc2 →