From 9f739fe0cace2cbfbfe8273d0ded4c33b407c7d9 Mon Sep 17 00:00:00 2001 From: Eva Date: Sat, 11 Jul 2026 05:46:21 +0700 Subject: [PATCH] docs(runbook): fold in the three cold-agent gaps from the CRYPT-RICH run (#1538) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. Enclosed rooms: cutaway wall_height convention made explicit + the two measured artifacts (per-cell wall boxes -> crenellated depth -> 'tiled/ gamey' paint; over-dark frames) with the continuous-wall-band rule. 2. Reference-images LAW: clarify the img2img base-in-referenceImages[0] is the sanctioned required case; the LAW governs EXTERNAL anchors. 3. Coherence gate: scope note — diagnostic instrument, not the promotion floor; incumbents FLAG identically; blocking = candidate regressing cells the incumbent passes. --- docs/ROOM-PIPELINE-RUNBOOK.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/docs/ROOM-PIPELINE-RUNBOOK.md b/docs/ROOM-PIPELINE-RUNBOOK.md index f89a96c3..7e013c35 100644 --- a/docs/ROOM-PIPELINE-RUNBOOK.md +++ b/docs/ROOM-PIPELINE-RUNBOOK.md @@ -82,6 +82,18 @@ models. Route each prop through the kind that matches its true silhouette (cylin → tree, box → crate/rubble/masonry) — the generator-export converter (`tools/dungen_to_fixtures.py`) applies the same shape→kind rule for generator-sourced props (see step 8a). +**ENCLOSED ROOMS need a CUTAWAY greybox (tavern finding, PR #1531; codified from the CRYPT-RICH +cold-agent run, PR #1538):** full-height near walls poison the interior's depth/lighting read (NCC +collapses, the frame goes mostly black). Author enclosed interiors with `wall_height ≈ 5` on the +near/south walls (the camera-facing side stays open, the back walls keep height). Two artifacts to +avoid, both measured in #1538's panels: +- **Crenellation:** authoring wall bands as PER-CELL boxes gives the depth map toothed/castellated + wall-tops → the depth-CN paints a "tiled/gamey" motif panels penalize. Author each wall run as + ONE CONTINUOUS box spanning its cells, not a stack of cell-sized boxes. +- **Over-dark frames:** a cutaway that still leaves >~40% of the canvas as unlit wall/void reads + as a black-margin defect at panel time — check `visual_pregate.py`'s frame-lit gate on the BASE, + not just the styled result. + **Geometry schema** (mirrors `qa/export_scene_grid.py`): ``` {cols, rows, material, cell_default_walkable, walls, props:[{id, kind, cells}], @@ -177,6 +189,12 @@ actor stood on the authored impassable cell while the painted prop was elsewhere Run it against every registered candidate before it goes to the panel. +**Scope note (from the #1538 cold-agent run):** this gate is a *diagnostic instrument*, not the +promotion floor — `promote.py`'s panel-delta gate is the floor. Organic/legacy-styled incumbents +(including the deployed 8.0 crypt) fail cells of this gate identically; a cold agent should not +read a coherence FLAG on the candidate as blocking when the incumbent FLAGs the same cells. What +IS blocking: the candidate regressing coherence on cells the incumbent passes. + ### 6. Style pass — the reference-images LAW + structure/dimetric locks **Gemini instruction-edit** (`model_google-gemini-3-1-flash`) over the flux depth-CN base, with two @@ -215,6 +233,12 @@ A `STRUCTURE-LOCK EXCEPTION` clause is the sanctioned escape hatch for a specifi region (e.g. an unwanted concentric-ring pattern in ground texture) that the general lock would otherwise force Gemini to preserve — scope it tightly to the one region, never generally. +**Clarification (from the #1538 cold-agent run):** the LAW governs *external anchors*. Gemini +img2img mechanically requires the image being edited in `referenceImages[0]` — passing the +registered BASE you are styling (which was minted from this room's own greybox) is the sanctioned, +required case, not a violation. "No referenceImages" means: no SECOND image, no external style +anchor, no other room's plate. + **Registration gate:** edge-recall ≥0.95 for hard-edge/masonry rooms; for organic rooms edge-recall is ADVISORY (content-blind and class-dependent — issue #1491) — use the greybox-edge overlay as primary evidence instead.