← back to Wallco Ai
TODO: seam joint-heal v2 + four-horsemen verdict + non-tiling diagnostic (Steve decision needed)
af64e058469429edc1c970186d58fb35d599b65e · 2026-06-12 09:43:55 -0700 · Steve Abrams
Files touched
Diff
commit af64e058469429edc1c970186d58fb35d599b65e
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Fri Jun 12 09:43:55 2026 -0700
TODO: seam joint-heal v2 + four-horsemen verdict + non-tiling diagnostic (Steve decision needed)
---
TODO.md | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/TODO.md b/TODO.md
index 201aa3a..7795094 100644
--- a/TODO.md
+++ b/TODO.md
@@ -4,6 +4,14 @@ Surfaced to CNCP at http://localhost:3333 (via /api/tasks reading this file).
Format — `## Section` headers + `- [ ] task` / `- [x] done`. CNCP picks
up unchecked rows automatically.
+## Seam joint-heal — element-copy method + four-horsemen gate (2026-06-12, DTD verdict C, Steve-gated decision)
+- [x] Root cause of the rejected smudge variants CONFIRMED: old heal_band_mid AVERAGED L/R columns across the seam → blurred band = the smudge Steve rejected all session. Built scripts/element_copy_heal.py as the replacement: CRISP wrap-edge palette-reconcile (writes only dominant-palette colors on disagreeing wrap columns; NO averaging, NO drawn line). Committed 0fdef02.
+- [x] First element-copy attempt (half-period-roll patch-copy) zeroed the seam scan to 0.0 PASS but VISIBLY transplanted a block / sliced the frog's face on 2766 — rejected on inspection. DTD verdict C: interior mid-lines (W/2,H/2) are arbitrary sample lines, NOT real tile joins; never heal them. Rewrote to wrap-edge-only.
+- [x] Wrap-edge v2 PASSES four-horsemen elegance on 2766: no smudge, no slice, two-tone engraving crispness preserved, frog intact. Before/after at /tmp/beforeafter_2766_wrap.png; edge zoom /tmp/wrapedge_zoom_2766.png.
+- [x] DIAGNOSTIC (blocking): ALL 9 Wave-1 roots are SINGLE-SUBJECT and do NOT tile (autocorrelation ~0/-negative; none >0.3 repeat threshold). The wrap heal is elegant but only moves the scan 9.34→8.86 — stays WARN, because the subject body genuinely does not continue across the tile wrap. Cannot reach the EDGE-SEAMLESS PASS gate without visibly damaging the subject.
+- [x] Loop kept STOPPED (/tmp/seam-joint-heal.STOP present, runner not running). NOTHING inserted, NOTHING published (0/13 old smudge variants published). Curator filter NOT repointed (no v2 variants exist — correct under verdict).
+- [ ] **STEVE — DECISION NEEDED:** these 9 roots can't be both scan-PASS AND elegant (they don't tile). Pick: (A) relax the EDGE-SEAMLESS gate for confirmed non-tiling single-subject roots — ship the crisp wrap-edge heal at WARN (Codex's dissent; requires you to OK relaxing a hard gate), OR (B) route these to regen-until-clean / a true seamless re-roll instead of joint-heal (joint-heal is for tiles with localized joints, which these are not). I did NOT resume the loop pending your call.
+
## Generator-health regression — batch child timeout (2026-06-01, DIAGNOSED + LOCAL FIX, deploy Steve-gated)
- [x] Root cause: `0/N survived the quality gate (code null)` was NOT a gate rejection. The batch child SIGTERM-timed-out mid-flight. Batch route budgeted 150s/render (`Math.max(180000, n*150000)`) but comfy polls up to 15min/render (commit 86d053ad). Every multi-render comfy batch was killed before finishing; runs 27/28/30 hit their exact timeouts (3/10/30 min) and died at code=null. 5 designs (10251-10255) DID land in prod PG, correctly unpublished — the run rows lied.
- [x] Fix (commit 3eeffee3, server.js + lib/{ghost,composition,subject}-detector.js): (1) per-render budget 150s→18min +5min slack, cap 4h (env `WALLCO_BATCH_PER_RENDER_MS`); (2) code=null signal-kill distinguished from real gate-reject(code 1), reported accurately; (3) reconciler falls back to harvesting `✓ #<id>` lines when killed-child never prints the `Created…IDs:` summary; (4) boot reaper closes runs stuck in `running` >30min (8 prod orphans incl pm2-wipe #29); (5) retired gemini-2.0-flash (404 since 2026-06-01) → gemini-2.5-flash in the 3 in-gen detectors (matches b25dd485).
← 0fdef02 element_copy_heal v2: wrap-edge-only crisp palette-reconcile
·
back to Wallco Ai
·
Add edge-seam mural gate batch (DTD-B: edge-PASS keeps tile, 393fbb9 →