# Cathedral review — code + probe-log audit (companion report) Delivered 2026-08-30 by the code/log audit agent (separate from the fable/opus mechanism reviews; this one audited the six commits, the exact HEAD frame flow, and every `fw3-*`/`fw4-*` probe log of the day). The full text below is verbatim from the agent's report. ## Executive synthesis 1. All six FW4 slices behave as written on frames where the walk yields exit views — the post-slice-6 log shows the falls emitting pre-clear and draining over full-screen terrain depth on those frames. 2. Two defect mechanisms visible in the FINAL log are untouched by all six commits: - **Anomaly 1 — `ov==0` frames:** 66 of 26,601 interior frames at the terrace produced ZERO walk exit views → `RetailFrameWalk.DrawInside` skips `DrawLandscape` entirely → no terrain color, no terrain depth, no sky that frame. Everything drawn that frame (pre-clear alpha included — 17 frames had the falls straddler set drain against an EMPTY depth buffer) composites over stale color. These are the seam frames. Slices 1–5 fixed staging; slice 6 fixed clipping WHEN the landscape turn runs; nothing addressed the no-views case. - **Anomaly 2 — cell `0xF418010D` never floods:** the connecting portal from `f418010c` classifies `inview=1` (a FACING SURFACE, not an armed opening) at the terrace viewpoint (`[walk-portal] init cell=f418010c i=1 dest=f418010d d=-23..-50 pside=0 inview=1`), so the walk never traverses into it: never sealed, always fails the outside-stage flood gate (`outside=0` in every sampled `[walk-dyn]` line since the probe existed), and its r≈10 m weenies (the STALKS: f428a/f428b etc.) ride DynamicLast — post-clear meshes that z-pass over every vista pixel no seal covers, on EVERY interior frame. 3. Combined with the fable review's oracle-trace finding (retail has ZERO interior-rooted frames at the terrace — `terrace-center.log` and `terrace-edge.log` contain no `DI` lines at all; the whole cathedral arrives as `ov=0 n=1` building look-ins under an OUTDOOR root), the remaining user-visible defects reduce to: - ROOT DIVERGENCE A: our camera-cell resolution roots INTERIOR at the terrace where retail roots OUTDOOR. An outdoor root has no clear, no seals, no ov==0 case — the entire problem class does not exist in retail's frame shape at these poses. - ROOT DIVERGENCE B: the walk's portal side classification at `f418010c → f418010d` (facing-surface vs opening — `PortalSide` vs the sign of `d`, `WalkPView.cs:103-120`) — the same family as the FW1 foundry F67–79 residue. 4. UNVERIFIED (flagged, not papered over): whether the old apparatus's flood contains f418010d (needed for the stalk meshes' DynamicLast viewcone admission); the exact dat portal/panel geometry behind the 66 `ov==0` frames; the color-attachment load behavior behind slice 6's "stale color" claim. ## Full audit text ### PART 1 — The six same-day commits (times: 18:21 / 19:22 / 19:28 / 19:37 / 19:58 / 20:06) - `37febd1f` slice 1: interior outside-view slices from the walk (`ClipFrameAssembler.ReassembleOutsideViewFromWalk`; PrepareClipFrame moved below the walk block; Landscape event carries ViewCount; the per-view TerrainSlice fan; `activeTerrainSliceCount` deleted; `ACDREAM_PROBE_WALK_ROOT` added). 4 new materializer tests. - `c40aecfc` slice 2: exit seals stamp the walk's own flood (`WalkFrameDriver.InteriorFloodCells`; `DrawWalkExitPortalMasks` — the walk decides WHICH cells seal, the OLD assembly still decides the per-cell CLIP, unclipped fallback). Phase-tag probe apparatus added. No test changes. - `5f7ccdea` slice 3: `outsideStageFlood = walkDriver.VisitedCells` passed to BOTH `DynamicDrawsInOutsideStage` call sites (renderer + frame product). `[walk-dyn]` probe. No test changes. - `f3a03efc` slice 4: interior roots keep outside-stage owners (straddlers included) in the pre-clear union, record them in `_preClearParticleOwnerScratch`, both DrawDynamicsLast arms subtract. Outdoor keeps ExceptRoute(DynamicLast). No test changes. - `0d6cd5c0` slice 5: the falls re-identified as EnvCell stab statics; `SphereStraddlesExitPlane` extracted; straddling flood-cell statics' owners submit pre-clear, post-replay cell union subtracts. `[walk-emit]`/`[walk-portal]` probes. No test changes. - `bb9212c7` slice 6: one TerrainSlice(0) fan; interior roots draw terrain+sky UNCLIPPED (view-culled only); outdoor keeps the sliced path. Latent: the bounds check at `WalkLeaf.cs:81-86` still throws if the reassembly yields 0 slices while a Landscape turn fired. No test changes. Test posture: slice 1 shipped tests; slices 2–6 shipped zero test changes (probe + production only). ### PART 2 — HEAD frame flow for an interior-rooted production frame Setup: BeginFrame (phase:=pre) → OLD PortalVisibilityBuilder.Build → BuildInteriorRootLookIns (old apparatus) → AssembleClipFrame + AppendLookInClipFrames (old per-cell slices) → walk Collect (no GPU; flood → optional Landscape turn iff `OutsideView.ViewCount > 0` → building turns → OnInteriorFloodDrawTurn: Clear/Seals events + InteriorFloodCells + flood cell turns) → ReassembleOutsideViewFromWalk → the ONE PrepareClipFrame → prepareCells = old ∪ look-in ∪ walk → ViewconeCuller.Build (outside planes = walk-derived; per-cell planes = OLD) → BuildAndBorrow with outsideStageFlood = walk VisitedCells → routes: LookInObject (old-assembly slices), LandscapeOutsideDynamic (walk slices + cone), DynamicLast (indoor dynamics; viewcone from OLD per-cell planes — a cell with NO plane set returns false). Replay (pre-clear only when a Landscape turn recorded): Sky (unclipped, interior) → TerrainSlice(0) (unclipped, depth write ON) → interleaved static/building/look-in mesh ranges + AlphaBarrier partial drains + punch fans (stencil far-Z, clipped by the walk view pinned at emission) → ClearInteriorDepth event → closure: [static-owner particles + slice-5 straddler statics + DrawLandscapeDynamicsPhase (EARLY-OUTS ENTIRELY if OutsideViewSlices.Length == 0) ] → FlushLandscapeAlpha (the pre-clear drain, full far→near over true landscape depth) → ClearInteriorDepth (depth aspect only, color preserved; phase:=post) → ExitSeals (walk InteriorFloodCells × old-assembly clips; TRUE depth, ALWAYS+write, no color; cells not in the walk flood never seal) → flood CellShell + statics (the interior repaint). Post-replay: cell-owner particles (walk flood minus look-ins minus straddlers; post, deferred) → DrawDynamicsLast (post-clear meshes, old-plane viewcone; particles minus pre-set) → unattached-interior → MarkVisibleCells(old ∪ look-in ∪ walk) → final alpha EndFrame drain (far→near, depth LESS/no write vs clear+seal+repaint depth) → ParticleVisibilityController admission = the union of both apparatuses. Structural observations: the walk decides the seal CELL SET, the OLD assembly still decides seal clips, look-in slices, and the DynamicLast per-cell viewcone; the walk's thin exit views still gate all dynamics staging; if ViewCount == 0 no Landscape turn fires at all while clear + seals + repaint still run. ### PART 3 — Probe-log findings Log-era map: `fw3-walk-root-probe.log` 18:09 = pre-slice-1 AND NOT the cathedral (all roots 0xA9B4… — the stairwell investigation); `fw3-falls-probe.log` 19:23 ≈ slice-2; `fw4-seal-gate` 19:27; `fw4-slice3-gate` 19:32; `fw4-slice4-gate` 19:44; `fw4-portal-probe` 19:50 (slice-4 + uncommitted slice-5 probes); `fw4-slice5-gate` ≈19:59; `fw4-slice6-gate` 20:23 = the ONLY post-slice-6 run. - The falls emitters are `4f418012..15` + `f4180106` (InteriorEntityId- Allocator statics of cell 0xF4180106), riding a per-look-in-cell `DrawCellParticles` union; `viewer=0xF4180106` appears in ZERO [walk-root] lines (the 8-frame post-flip sampler never caught it). - Post-slice-6 frames WITH exit views: falls pre-clear, no cell-owners/dyn-owners post — the staging repairs work as written. - ANOMALY 1: 66/26,601 interior frames with NO landscape turn (no SkyPreScene, no outdoor static-owners, no unattached-outdoor) — the ov==0 shape; all 66 carry `dyn-owners n=2 ids=[f4243,f4287] phase=post`, and 17 carry a pre-clear falls drain against EMPTY depth. - ANOMALY 2: cell f418010d in ZERO walkCells lists across all 7 cathedral logs; `init cell=f418010c i=1 dest=f418010d d=-23..-50 pside=0 inview=1`; its dynamics f428a/f428b always `outside=0`; their particles appear in NO dyn-owners set — the visible stalks are the MESHES, drawn post-clear. - ANOMALY 3: 17 seam FLIPs at nearly identical eye positions (interior 0xF4180104 eye=(31.09,61.34,172.05) vs outdoor 0xF418000B eye=(30.90,63.04,172.05)). - ANOMALY 4: `[walk-emit]` empty in ALL logs — the interior-unattached route carried no emitters (the falls are attached statics). - ANOMALY 5: the surviving exit views are thin (n=4 clips on portals j=1/2/4; j=0 often n=0) — consistent with the authored polys being narrow bands.