# L156 — native-floor carve reaches the grade stop rule | Landing | Before (L151) | After (L156) | |---|---|---| | passage/0-1/0 · upper | ![Before upper 0-1](captures/before-l151-0-1-0-upper-landing.jpg) | ![After upper 0-1](captures/after-l156-0-1-0-upper-landing.jpg) | | passage/0-1/0 · lower | ![Before lower 0-1](captures/before-l151-0-1-0-lower-landing.jpg) | ![After lower 0-1](captures/after-l156-0-1-0-lower-landing.jpg) | | passage/1-2/0 · upper | ![Before upper 1-2](captures/before-l151-1-2-0-upper-landing.jpg) | ![After upper 1-2](captures/after-l156-1-2-0-upper-landing.jpg) | | passage/1-2/0 · lower | ![Before lower 1-2](captures/before-l151-1-2-0-lower-landing.jpg) | ![After lower 1-2](captures/after-l156-1-2-0-lower-landing.jpg) | | passage/2-3/0 · upper | ![Before upper 2-3](captures/before-l151-2-3-0-upper-landing.jpg) | ![After upper 2-3](captures/after-l156-2-3-0-upper-landing.jpg) | | passage/2-3/0 · lower | ![Before lower 2-3](captures/before-l151-2-3-0-lower-landing.jpg) | ![After lower 2-3](captures/after-l156-2-3-0-lower-landing.jpg) | ## Result The headroom-only carve was implemented and captured, but L156 does not pass: fast tier still fails the upper Surface World landing's evaluated floor grade at 22.847° against 15°. The plan profile itself is 10.037°. The passage-interior support exemption and its open-floor negative control pass. The Floating Islands chamber-band failure is fixed: every chamber in both 16-seed sweeps is inside its host band, although other gates leave both sweeps at 0/16. The grade cause stops here after its three failed fits. ## What changed - Bumped `WorldAssemblyEvaluatorVersion` from 239 to 240. The chamber carve now starts at the planned floor raised to the receiving native ground height when that surface is within the chamber's 4.5 m clear-height budget. Surface World samples its deterministic heightfield; a missing or higher, separate surface falls back to the planned floor. The chamber clears upward from that floor and retains its 0.75 m shell. Passage joining remains bounded to 15°. - Added a passage-interior exemption to chamber support sampling. On the fast fixture it skipped 5,933 bore-overlap support samples; 76,671 passage-interior capsule samples had zero solid hits and the chamber audit reported zero unsupported samples. - Added an open-floor negative control outside the bore. It found 3 unsupported samples and reported the expected failure (control status PASS). - Fit each landing's full grade reach, shell, clear height, and Surface World rise inside its host content band. Seed 0's six chambers all pass; its tightest lower and upper band margins are 3.195 m and 3.642 m. The band gate passed all 16 seeds in both sweep types. ## Measurements - **Fast tier:** failed after 64.31 s on the upper chamber. `PassagePlanGradeAudit` passed at 10.037°; the evaluated walk-floor chord at segment 10 was 22.847° over 0.479 m horizontal and 0.202 m vertical. The chamber audit had one grade failure. Passage interior was open (0 solid hits); the outside-bore open-floor negative control detected its unsupported floor. - **Composed sweeps:** Tunnel Network 0/16 and Vertical Shafts 0/16 passed, with all 16 seeds completed for each at source stamp `4bf096c0…`. The exact landing-band and envelope gates passed across both sweeps. Remaining failures include passage summary/walkability, seams, interior-capsule and chamber-floor gates, and some route-to-chamber envelope conflicts. - **Determinism:** Clang and GCC at W1/W8/W12 passed 6/6 with identical output hashes. Density `0179a7f6937dab67`, mesh `5f84fb3d3509f12e`, payload `8b857b09f6cb0ea4`, topology `1601efe43ef906b9`, and material `bd37729ce9c3d68d`. A seed-0 candidate baseline is recorded at `baselines/native-owner-fi-seed0.json`; it is not promoted as canonical while fast and composed gates fail. - **Captures:** six matched eye-height views before (L151) and after (L156), same camera poses and layout identity; image quality passed 12/12. Before stamp `1ca3b84f…`; after stamp `4bf096c0…`. - **Linux UE:** `VFHostEditor` built successfully, 27/27 actions in 69 s. No Unreal `Source/` files changed. Four start poses per condition settled LOD0–2 at median 2.421 s (`assembler-world`) and 2.457 s (planner). Five interleaved 30 m/s movement runs per condition: near-ready moving mean was 45.51% vs 39.04% (−14.21% planner); far holes were 3.15% vs 3.55% (+12.66%); max and p99 game-thread ticks were +4.13% and +6.64%. Each trace covered 46 moving samples over roughly 53–62 s. - **L80:** no comparison result. Its quiet gate passed at load 0.74 and CPU idle 99.2%. The baseline warm-up passed in 1.72 s, but the L156 binary rejects the old owner snapshot's canonical identity. A regenerated v240 snapshot is accepted by L156, then the full pipeline exits 2: 176/21,103 compiled passage-centre samples are solid. The L137 binary rejects that v240 snapshot, so no shared serialized snapshot yields a valid cross-version comparison. `--force-generate` does not bypass the initial identity check. ## Checks and limits - Ran: Clang and GCC headless builds; fast tier; both 16-seed sweeps; chamber support and open-floor negative control; content-band/envelope audits; six-way compiler/worker determinism; 12 capture-quality checks; Linux UE build, four start poses, and five 30 m/s runs per condition. - Not run: L80 `assembler/world` timing at W8/W12 across all four layers. The host met its quiet gate, but the candidate fails its full-pipeline walkability check and the two revisions reject each other's canonical snapshots. The lone baseline warm-up is not treated as a timing comparison. - The native-floor representation removes below-ground carving in the intended headroom case, but the effective chamber floor still violates the 15° join at a Surface World heightfield transition. No canonical baseline promotion is justified until that gate and the two composed sweeps pass. ## Remaining risk The exact upper-chamber failure is at a native-surface transition, while the planned passage floor remains within its grade bound. The other sweep failures are also unresolved; the band fix and support-audit change do not make those gates pass. The movement result is slower for near-ready coverage than `assembler/world` in this five-run window.