docs: add verify-first kickoff prompt to the render-residuals handoff (treat the diagnosis as a suspect statement)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Erik 2026-06-07 22:12:38 +02:00
parent ef2186147d
commit 5c6e53b0a4

View file

@ -123,3 +123,76 @@ read. This answers whether F2 is "build back faces" or "restore a pre-flip draw"
- Memory: `project_indoor_flap_rootcause` (update with this corrected diagnosis),
`reference_render_pipeline_state`, `feedback_render_downstream_of_membership` (the oscillation IS a
membership/flood-stability bug, per that note).
---
## 7. Next-session kickoff prompt — VERIFY-FIRST (the diagnosis above is a SUSPECT'S statement)
This session reached the §3 diagnosis only AFTER three wrong guesses, so the next session must verify it
cold before building any fix. Paste this to start:
```
Continue acdream M1.5 render unification. Branch claude/thirsty-goldberg-51bb9b, HEAD 774cb22.
PowerShell on Windows; build before launch; live ACE 127.0.0.1:9000, testaccount/testpassword, char
+Acdream (spawns at the Holtburg/Arcanum cottage, landblock 0xA9B4).
The render-unification CUTOVER FLIP is committed. It is CLAIMED to have killed the two-branch render
"flap" but left two residuals — see-through building walls and oscillation — and a root-cause diagnosis
was reached. That diagnosis was only reached AFTER THREE WRONG GUESSES in the same session, so DO NOT
trust it. Your FIRST job is to verify it cold, with fresh primary evidence, and you are explicitly
licensed to REFUTE it.
READ (as a suspect's statement, NOT as truth):
- docs/research/2026-06-07-cutover-flip-render-residuals-diagnosis-handoff.md (claimed diagnosis +
do-not-retry list + the probe numbers it rests on)
- memory project_indoor_flap_rootcause (corrected diagnosis claim)
=== TASK 1 — UNBIASED VERIFICATION (complete fully BEFORE proposing any fix) ===
Do not anchor on the handoff's conclusions — re-derive each from independent evidence. For each claim,
report CONFIRMED / REFUTED / CORRECTED with the evidence. If ANY load-bearing claim is refuted, the
diagnosis is wrong: STOP, re-diagnose, do not build a fix on it. Prefer dispatching the verification to a
fresh subagent that has NOT seen the conclusions, to avoid confirmation bias.
1.1 "The branch-toggle flap is gone (one render path)." Launch (ACDREAM_PROBE_FLAP=1); walk
indoor<->outdoor and pan the camera at a doorway; RLE the [render-sig] `branch` field. Expected if
true: zero `branch=OutdoorRoot` after spawn. Refute if OutdoorRoot reappears.
1.2 "Oscillation == outdoor-node flood membership instability." Add a probe logging
pvFrame.OrderedVisibleCells.Count per outdoor-root frame WHILE STANDING PERFECTLY STILL at the
cottage. Swings frame-to-frame (e.g. 1<->13) -> unstable (confirms). Constant while the user still
sees oscillation -> DIFFERENT cause (refute + re-diagnose). Correlate the swings with what visibly
flickers.
1.3 "See-through == single-sided EnvCell walls." Dump the actual sides_type distribution of a REAL
Holtburg building cell's wall polygons (Environment dat -> CellStruct, focused test/tool over the
cottage cell). Confirm walls are predominantly single-sided AND that PrepareCellStructMeshData
(ObjectMeshManager ~1299-1310) builds a back face only for SidesType None/Clockwise (not
CounterClockwise). FALSIFIABLE cross-check: temporarily force the EnvCell shell pass to CullMode.None
(double-sided) and confirm THAT alone makes the walls solid from outside; revert after.
1.4 "The building WALLS are the EnvCell shells; the ModelId 'shell' is only a partial frame." Re-add the
[bshell] probe (total/withMesh/inOutdoorPartition/envCellsFlooded). Independently inspect what the
building ModelId Setup geometry IS (poly count, bbox) vs the EnvCell shell. Reproduce or refute the
skip-all-interiors experiment (building went fully see-through).
1.5 (OPEN, decides the fix shape) "Pre-flip buildings were solid from outside — what drew the walls?"
Check out the pre-flip commit (parent of 445e861), launch, confirm buildings solid from outside,
trace what drew the solid walls (old outdoor `else` block GameWindow.cs ~7557-7663 /
DrawPortal+BuildFromExterior / a global EnvCell-shell render). Decides whether F2 is "build missing
back faces" or "restore a pre-flip draw the flip replaced".
DO-NOT-RETRY (proven failures last session): the slot-0 skip (made oscillation worse); skipping all
interior shells / gating DrawEnvCellShells off for the outdoor root (building fully see-through — already
ran); any render-side debounce/grace (forbidden, no-workarounds).
=== TASK 2 — only AFTER Task 1 confirms or corrects the diagnosis ===
Implement F1 (stabilise flood membership — e.g. ground building membership in the cell stab_list/PVS
instead of the per-frame portal-side test) and F2 (the verified wall-sidedness fix). TDD where possible;
each lands behind a USER VISUAL GATE at the cottage. Do not delete the dead DrawPortal/BuildFromExterior/
outdoor-else paths until the residuals are visually confirmed fixed.
```
**Why verify-first:** the fastest single decisive test is the §1.3 falsifiable cross-check (force
`CullMode.None`; if walls go solid from outside, the single-sided-wall hypothesis is confirmed and F2 is
"build back faces"). Run the verification under a fresh subagent so it can't rubber-stamp these
conclusions.