# Campaign OVERHAUL OH0 baseline Date: 2026-09-01 Worktree: `C:\Users\erikn\source\repos\acdream\.claude\worktrees\peaceful-blackburn-5333f0` Branch: `claude/campaign-w-retail-frame-walk` Purpose: preserve and classify the exact pre-overhaul state before any OH production behavior is changed. ## Outcome OH0 found a green but heavily modified renderer state. It is recoverable, but it is not one accepted fix. The dirty tree consists of several coherent candidate mechanisms, diagnostic experiments, tests, and documentation. No unrelated/user-owned semantic change was found. No dirty behavioral hunk is repository-proven user-accepted, so this baseline deliberately calls them **candidates** or **investigation state**. The accepted history anchors remain: - `b8befded` — accepted pre-overhaul rendering anchor named by the campaign. - `e880860291a79e0cb20454710567d86ad8731675` — OH0 parent HEAD. Checkpoint `b3b7d922` (`checkpoint(render): preserve pre-overhaul investigation state`) is the recovery anchor for the classified semantic state. It is not a visual or retail-fidelity acceptance claim. ## Repository state | Field | Value | |---|---| | Branch | `claude/campaign-w-retail-frame-walk` | | Parent HEAD | `e880860291a79e0cb20454710567d86ad8731675` | | Upstream | `origin/claude/campaign-w-retail-frame-walk` | | Upstream relation | behind `0`, ahead `27` | | Staged paths | `0` | | Dirty paths before this document | `53` | | Dirty-path composition | `45` tracked semantic/intentional diffs, `5` CRLF-normalization-only entries, `3` untracked | | Submodule | `references/WorldBuilder` at `34460c44d7fb921afa50ee30288a53236f50f451`, clean | | Tracked diff size | 2,945 insertions, 626 deletions across 45 semantic tracked paths | Five status entries have no filtered semantic diff and differ only by working tree line endings: - `src/AcDream.App/Rendering/Scene/RenderProjectionRecordFactory.cs` - `src/AcDream.App/Rendering/Scene/RenderSceneContracts.cs` - `src/AcDream.Core/Physics/ShadowPartBox.cs` - `src/AcDream.Core/World/MeshRef.cs` - `src/AcDream.Core/World/WorldEntity.cs` `src/AcDream.App/Streaming/LandblockBuildFactory.cs` removes one blank line only. Those six paths are excluded from the semantic checkpoint and left untouched. ## Complete semantic classification ### Plan and documentation - `docs/plans/2026-09-01-campaign-overhaul-world-solidity.md` is the new OH execution plan. - `docs/plans/2026-08-30-campaign-fw-frame-walk.md` records the accepted `b8befded` allocation closeout and links to OH. - `docs/architecture/worldbuilder-inventory.md` mixes candidate assertions about recipe 7, whole-mesh leaves, and reconstructed render-shadow membership. Those statements are evidence to review, not closed truth. - `docs/launch-options.md` documents cathedral probes, but the dirty version omits `ACDREAM_PROBE_FACILITY_STAIRS` and the behavior-changing `ACDREAM_PROBE_CATHEDRAL_SKIP_PUNCH`. It stays with diagnostic quarantine. ### Prepared-content recipe 7 candidate This coherent candidate carries the authored DrawingBSP root sphere into prepared GfxObj records and requires one explicit full rebuild from bake recipe 6 to 7: - `src/AcDream.Content/MeshExtractor.cs` - `src/AcDream.Content/Pak/PakFormat.cs` - `src/AcDream.Launcher.Core/Installation/ContentMigrationCatalog.cs` - `src/AcDream.Launcher.Core/Installation/LauncherInstallRecordStore.cs` - `tests/AcDream.Content.Tests/MeshExtractorSolidFaceExtractionTests.cs` - `tests/AcDream.Content.Tests/InstalledPreparedCollisionCatalogTests.cs` - `tests/AcDream.Launcher.Core.Tests/Installation/ContentMigrationCatalogTests.cs` This is not yet an accepted OH mechanism. OH2/OH3 must decide which authored bounds and graph owner retail actually uses. ### Independent lighting-review candidate This group removes last-frame drawable-cell filtering and selects from every resident light: - `src/AcDream.Core/Lighting/LightManager.cs` - `src/AcDream.App/Rendering/WorldRenderFrameBuilder.cs` - `tests/AcDream.Core.Tests/Lighting/LightManagerTests.cs` - `tests/AcDream.App.Tests/Rendering/WorldRenderFrameBuilderTests.cs` It is independent of OH0 and is not acceptance-proven. The parallel retail review found that retail separates a seven-light dynamic pool from a separate static bake, inserts the viewer light first, and derives candidates from the current EnvCell plus authored `VisibleCells`/`stab_list`. OH must keep this group quarantined unless a later world-ownership slice proves a dependency. ### Exact portal depth-state port candidate This atomic group replaces stencil mark/write plus bias with one ALWAYS/write/no-stencil pass and removes the bias shader/tests: - `src/AcDream.App/Rendering/Gpu/GpuPipelineDescription.cs` - `src/AcDream.App/Rendering/PortalDepthMaskRenderer.cs` - `src/AcDream.App/Rendering/PortalDepthMaskRenderer.Rhi.cs` - `src/AcDream.App/Rendering/Shaders/portal_depth.vert` - `src/AcDream.App/Rendering/Shaders/spv/portal_depth.vert.spv` - `src/AcDream.App/Rendering/Shaders/spv/shaders.manifest.json` - deleted `tests/AcDream.App.Tests/Rendering/Issue129PunchBiasTests.cs` - untracked `tests/AcDream.App.Tests/Rendering/PortalDepthMaskRetailStateTests.cs` The GPU state may match the isolated retail call, but activating it before the exact painter interleave exists removes the accepted #117 safeguard. Therefore this is preserved as an indivisible candidate, not accepted output. ### Walk-owned exit-seal view candidate The following changes borrow planes from exact walk clip slots and stamp exit seals per captured flood view rather than the legacy assembly/no-clip fallback: - `src/AcDream.App/Rendering/ClipFrame.cs` - portions of `src/AcDream.App/Rendering/RetailPViewPassExecutor.cs` - portions of `src/AcDream.App/Rendering/RetailPViewRenderer.cs` - portions of `src/AcDream.App/Rendering/Walk/WalkFrameDriver.cs` - `tests/AcDream.App.Tests/Rendering/ClipFrameLayoutTests.cs` - portions of `tests/AcDream.App.Tests/Rendering/Walk/WalkFrameDriverTests.cs` Several of those files also contain unrelated behavior and diagnostics, so future OH work must split by hunk rather than treating the files as one owner. ### Reconstructed static/dynamic membership candidate This group rebuilds static render-cell membership from visual bounds, buckets dynamics by physics CELLARRAY, inherits equipped-child root cells, and removes the static outdoor prune: - `src/AcDream.App/Composition/FrameRootComposition.cs` - portions of `src/AcDream.App/Rendering/Walk/WalkProductionWorldData.cs` - `src/AcDream.Core/Physics/CellTransit.cs` - `src/AcDream.Core/Physics/ShadowObjectRegistry.cs` - `src/AcDream.Core/Physics/ShadowShapeBuilder.cs` - `tests/AcDream.App.Tests/Rendering/Issue177StairDescentCameraFloodTests.cs` - `tests/AcDream.Core.Tests/Physics/CellTransitFindTransitCellsBoxTests.cs` - portions of `tests/AcDream.App.Tests/Rendering/Walk/WalkProductionWorldDataTests.cs` This is explicitly reconstruction evidence rather than the intended OH3 architecture: `WalkProductionWorldData` is a competing App-owned world model, and the `CellTransit` prune removal also changes collision membership. The portal-less building-shell fallback from anchor cell to landscape-position cell is a distinct behavior inside the same production/test files and must be reviewed separately. ### Built-mesh, part-stamp, and shell-stamp candidate This group changes admitted portal-view meshes to coarse sphere admission plus whole-mesh slot 0, adds per-part stamps and a local-player bypass, and rearms shell/part stamps at a mid-frame boundary: - portions of `src/AcDream.App/Rendering/Wb/WbDrawDispatcher.WalkClassify.cs` - portions of `src/AcDream.App/Rendering/Walk/WalkFrameDriver.cs` - portions of `src/AcDream.App/Rendering/RetailPViewPassExecutor.WalkLeaf.cs` - `tests/AcDream.App.Tests/Rendering/Walk/WalkProductionWorldConformanceTests.cs` - portions of `tests/AcDream.App.Tests/Rendering/Walk/WalkStaticStreamPopulatorTests.cs` - portions of `tests/AcDream.App.Tests/Rendering/Walk/WalkFrameDriverTests.cs` This reverses the mechanism in accepted commit `11e68aad`; it is high-risk until OH1 arbitrates retail's built-mesh versus non-built-mesh branches and the retail oracle proves the leaf order. ### Diagnostic-only apparatus - `src/AcDream.App/Rendering/Walk/WalkPView.cs` - `src/AcDream.App/Rendering/Wb/WbDrawDispatcher.OrderedStream.cs` - `src/AcDream.App/Rendering/Walk/WalkStaticStreamPopulator.cs` - untracked `src/AcDream.App/Rendering/Wb/WbDrawDispatcher.FacilityStairProbe.cs` - `tools/A8CellAudit/Program.cs` The Facility probe partial is a compile dependency of calls in the other three App files and must travel with them. `A8CellAudit` mixes DrawingBSP audits with cell/setup diagnostics; it remains evidence tooling. `src/AcDream.Core/Rendering/RenderingDiagnostics.cs` and portions of `WalkFrameDriver`, both pass executors, `RetailPViewRenderer`, `WalkProductionWorldData`, and `WbDrawDispatcher.WalkClassify` mix print-only traces with hard-coded cathedral carrier suppressions and skip switches. They are preserved only as quarantined investigation apparatus and are scheduled for removal in OH10. ## High-risk facts carried into OH1 1. No dirty behavioral change is acceptance-proven. 2. Whole-mesh slot-0 behavior reverses accepted `11e68aad`. 3. The one-pass far-Z punch removes #117's guard before exact painter interleave is present. 4. Static membership is reconstructed from AABBs in App, matching the duplicate-owner problem OH3 is meant to eliminate. 5. The `CellTransit` outdoor-prune change affects collision as well as render registration. 6. Dirty architecture documentation overstates unreviewed candidates as shipped truth. ## Behavior-changing diagnostic flags The following variables were checked at Process, User, and Machine scopes. All were absent at OH0, and every implementation tests for the exact string `"1"` or defaults a requested cell ID to zero. Therefore no probe is enabled in a normal launch from this environment. | Variable | Kind | OH0 value | |---|---|---| | `ACDREAM_PROBE_CATHEDRAL_SKIP_PUNCH` | suppresses punch behavior | unset | | `ACDREAM_PROBE_CATHEDRAL_SKIP_SEALS` | suppresses exit seals | unset | | `ACDREAM_PROBE_CATHEDRAL_SKIP_CELL_SHELLS` | suppresses cell shells | unset | | `ACDREAM_PROBE_CATHEDRAL_SKIP_SOUTH_LOOKIN_SHELLS` | scene-specific shell suppression | unset | | `ACDREAM_PROBE_CATHEDRAL_SKIP_LOOKIN_SHELL` | requested-cell shell suppression | unset | | `ACDREAM_PROBE_CATHEDRAL_SKIP_SOUTH_BUILDING_SHELL` | scene-specific building suppression | unset | | `ACDREAM_PROBE_CATHEDRAL_SHELL_ORDER` | print-only shell-order trace | unset | Additional Facility trace variables are diagnostic output controls. They do not alter the accepted draw path, but they remain quarantined with the behavior probes until OH10 cleanup. ## Build and focused automated baseline All commands ran from the binding worktree against the uncommitted state classified above. | Gate | Result | |---|---| | `dotnet build AcDream.slnx -c Release --nologo` | PASS — 0 warnings, 0 errors, 23.29 s | | App walk/depth/frame focused filter | PASS — 272 passed, 1 skipped, 0 failed | | Content geometry focused filter | PASS — 12 passed, 0 skipped, 0 failed | | Core membership/light focused filter | PASS — 33 passed, 0 skipped, 0 failed | | Launcher migration focused filter | PASS — 2 passed, 0 skipped, 0 failed | The App filter included `Rendering.Walk`, `PortalDepthMask`, `Issue177StairDescentCameraFloodTests`, `ClipFrameLayoutTests`, and `WorldRenderFrameBuilderTests`. Green tests prove the current candidates are internally consistent; they do not prove retail parity or visual acceptance. ## Installed source and prepared-package identity Source directory: `C:\Users\erikn\Documents\Asheron's Call` | Artifact | Bytes | SHA-256 | |---|---:|---| | `client_portal.dat` | 926,941,184 | `DC6E500BA22E6B186DB7171E3F3345238B6444C85D798ADC85E550973B8D12E4` | | `client_cell_1.dat` | 348,127,232 | `6DB0ABF00FBCEED62C3F1EE842EE7C1F423D732BED77A5B7C102EE89A52AB99E` | | `client_highres.dat` | 133,169,152 | `503E0828D14F2F9CCBC31431E1055AC188464BF4B499DE37F4C3D5B2D9F3E727` | | `client_local_English.dat` | 1,048,576 | `E85C820280C88FAC7DF6C8043F5E24596E9C8774193AF4123D756546F78FB2BB` | | `acdream.pak` | 597,144,496 | `0AD2A24C00579FC40E93E5C73FF800FCE587665D831AACD11DEACBCC59A84D6D` | | `acdream.recipe6.pak` | 597,229,424 | `37BC0EA1778F899AF9E3B2397937D373F69D615B15D3E32041BF389D93B624BF` | Active `acdream.pak` header: | Field | Value | |---|---:| | Magic | `0x4B504341` | | Format | `2` | | Portal iteration | `2072` | | Cell iteration | `982` | | HighRes iteration | `497` | | Language iteration | `994` | | TOC offset | `543435712` | | TOC count | `2237866` | | Bake tool version | `7` | Compiled shader manifest SHA-256: `65AE59DA995B9FBAA997F50A12B07FEEBB6CDA4121C881C5921BFF9ACE752CCF`. ## Pre-overhaul file hash manifest These hashes capture every status path before OH0 added this document. A deleted path is represented by the parent commit plus the explicit deletion. | Path | Status | Bytes | SHA-256 | |---|---|---:|---| | `docs/architecture/worldbuilder-inventory.md` | ` M` | 40809 | `275EACBB7AF5C6837558DE95ED0C973038E83E89A2EA1B4B10FCCD11AAC7378B` | | `docs/launch-options.md` | ` M` | 89617 | `1DEF166EF74A82A9FF4151FF3AB95A46DB03F951BDE44CBCF0415F3D06DE85ED` | | `docs/plans/2026-08-30-campaign-fw-frame-walk.md` | ` M` | 43730 | `988DACAC01E2367DBBCFD49DC1F146E8EDE2CE96892BCB9C25874D6A752B50F6` | | `src/AcDream.App/Composition/FrameRootComposition.cs` | ` M` | 40619 | `55BB45148909191BBF4B5EDACAB6273330BCD2AE37B60F4370426A3C14138146` | | `src/AcDream.App/Rendering/ClipFrame.cs` | ` M` | 14769 | `EA3C52E7FCFA51E4F9C21CDC33D89215F9E9768332DD88E831265E738E06BB01` | | `src/AcDream.App/Rendering/Gpu/GpuPipelineDescription.cs` | ` M` | 16982 | `108661215FE9DFF414ABFDB050985C3A0946A38EFA509ABB2A93443F8CB06A30` | | `src/AcDream.App/Rendering/PortalDepthMaskRenderer.Rhi.cs` | ` M` | 8820 | `93B559C8D30773ABB9E7DCA0884A0E6A37A9E16BA9AE13FDA1D4354E68D91022` | | `src/AcDream.App/Rendering/PortalDepthMaskRenderer.cs` | ` M` | 5070 | `D9C8D245C5CC7CFC96762AAEA28F7D74B3F1B0CFF7C7BA661C5FEF8806CBC62D` | | `src/AcDream.App/Rendering/RetailPViewPassExecutor.WalkLeaf.cs` | ` M` | 12773 | `81DE87E5687DD79901DC72714BBF21FE5295AEE1E0A4093BCF5A3B91AAAA95DB` | | `src/AcDream.App/Rendering/RetailPViewPassExecutor.cs` | ` M` | 19048 | `91B688E4ADE207FF016441979537B71C0B4AE6D5C4BF055EC0E0B0E6A6961CCA` | | `src/AcDream.App/Rendering/RetailPViewRenderer.cs` | ` M` | 41456 | `30193DE518BF3BF1312AC2E1A34CA9AF76FF38E0B9A0E848F15A6628C2A95920` | | `src/AcDream.App/Rendering/Scene/RenderProjectionRecordFactory.cs` | ` M` | 5342 | `A0C28300F80528BBD63FF034139DB7E353146B27E5782AEAFAF882AA244DD880` | | `src/AcDream.App/Rendering/Scene/RenderSceneContracts.cs` | ` M` | 21927 | `2D043913905BB45F1E3E24290CEDA96678AAF6EEE89FED17FA8586DFBAA27D8A` | | `src/AcDream.App/Rendering/Shaders/portal_depth.vert` | ` M` | 2632 | `004B91F8891EF63C3E9051E098F7FD5251537A8FB756FE647C22F5A729561EAE` | | `src/AcDream.App/Rendering/Shaders/spv/portal_depth.vert.spv` | ` M` | 1900 | `4AC1C452E7AC0D08A32F67FB03F21229AF2D1605BAA81F407240A3626251DFD7` | | `src/AcDream.App/Rendering/Shaders/spv/shaders.manifest.json` | ` M` | 11066 | `65AE59DA995B9FBAA997F50A12B07FEEBB6CDA4121C881C5921BFF9ACE752CCF` | | `src/AcDream.App/Rendering/Walk/WalkFrameDriver.cs` | ` M` | 80236 | `9E82A07B0CA77947657221566625ABB6305E476D3EA436E95F8F5006AD6C6F3C` | | `src/AcDream.App/Rendering/Walk/WalkPView.cs` | ` M` | 26293 | `565FC89767A6910EAB4E81785EB5CCF1D2F272FA37FD77BDB885F9D8135446B7` | | `src/AcDream.App/Rendering/Walk/WalkProductionWorldData.cs` | ` M` | 34723 | `86F2A43657E884BAE32D166A5C70084559C6D6A900810FD0DD2C76F1D7AC4CF1` | | `src/AcDream.App/Rendering/Walk/WalkStaticStreamPopulator.cs` | ` M` | 8896 | `FEA240901A82FCBE6B9B2DAED19DCDC985BF460E771F7820D8601F1136043F82` | | `src/AcDream.App/Rendering/Wb/WbDrawDispatcher.OrderedStream.cs` | ` M` | 31069 | `355FE62DBAA8988E69BD2A468DE44D7A5AE799D0E0649559C885900C7F6F0824` | | `src/AcDream.App/Rendering/Wb/WbDrawDispatcher.WalkClassify.cs` | ` M` | 41357 | `13A669521266D49396A8C8F3D34DA2064EDBE2BD0613F5112C0D4BCCDE404D87` | | `src/AcDream.App/Rendering/WorldRenderFrameBuilder.cs` | ` M` | 27021 | `A34C66BEBFF07538EC55BCC65454BEC61811FB5F7E724C749D8351A25741E585` | | `src/AcDream.App/Streaming/LandblockBuildFactory.cs` | ` M` | 37350 | `8BDDB5A07C32BB083475836A8C3F782F980E30E2D532F214A8A9AA5E80735C48` | | `src/AcDream.Content/MeshExtractor.cs` | ` M` | 72211 | `5453D06062416A2B04FFC900715C76BDA3E22CD36B68F30514D28FA5E0364C99` | | `src/AcDream.Content/Pak/PakFormat.cs` | ` M` | 8334 | `F260AB6742A576DDB84AF11A75089AD7645C9CF180456B341C9ECA6B07489757` | | `src/AcDream.Core/Lighting/LightManager.cs` | ` M` | 29182 | `F58998E7AAE1CC7C2E4D0E8EA76F23E3CBFCE9CE71B55104BD7D6671DCA60A26` | | `src/AcDream.Core/Physics/CellTransit.cs` | ` M` | 76728 | `74A4DE885A309AA5060DB130B0C13706C93A8B1A51C4C0675D91A777EA85ED91` | | `src/AcDream.Core/Physics/ShadowObjectRegistry.cs` | ` M` | 115614 | `D297D2CE83EF2341A438E2F697C63A0C27A1C6E4FAE62E18A904D9CB88CA57E7` | | `src/AcDream.Core/Physics/ShadowPartBox.cs` | ` M` | 8694 | `49F7A142CE8A1AE5EEBCB33E31B81421F84539D2CAD212D75ED5E36829190DF3` | | `src/AcDream.Core/Physics/ShadowShapeBuilder.cs` | ` M` | 23478 | `9FA4EE057C09B0BF0BBEFA618F1A9768F22A7EE99FF55596B334E32C55EA966F` | | `src/AcDream.Core/Rendering/RenderingDiagnostics.cs` | ` M` | 37557 | `9A251F8785F7F4256E5D30408178A7B4365B240FF01196E0F3E62C22AC76EAE5` | | `src/AcDream.Core/World/MeshRef.cs` | ` M` | 1778 | `9349926D73AEDC97A95726FAC154B84FC6D4EBF2DB6DD64BE50014291428A221` | | `src/AcDream.Core/World/WorldEntity.cs` | ` M` | 14597 | `81922AAA930B336ECC4167B7B342D9B65336EEB39ECBF61C1607ED530423CF57` | | `src/AcDream.Launcher.Core/Installation/ContentMigrationCatalog.cs` | ` M` | 4883 | `5C2CC4B1D6BF3BD6D3BE837E405E969C27235EC3845A449D97C50784E9AB21F4` | | `src/AcDream.Launcher.Core/Installation/LauncherInstallRecordStore.cs` | ` M` | 24440 | `787360E3D426DE24BB1CFE00CD6FBC69B9AFD86E18E161412EEBFB14861C6990` | | `tests/AcDream.App.Tests/Rendering/ClipFrameLayoutTests.cs` | ` M` | 8033 | `9C340D45BB703D1107B34C9BE40162D9E6C69C209E326DEA3744C2F870C2B040` | | `tests/AcDream.App.Tests/Rendering/Issue129PunchBiasTests.cs` | ` D` | deleted | n/a | | `tests/AcDream.App.Tests/Rendering/Issue177StairDescentCameraFloodTests.cs` | ` M` | 36493 | `21AC79E23320F73E377368AB63D2701E05C31708223AFF29D9DCF2C504A99EB9` | | `tests/AcDream.App.Tests/Rendering/Walk/WalkFrameDriverTests.cs` | ` M` | 55621 | `A68994C420D5F1099C5F86D9FDB2F194B5665A39874179B137CD6AA8504903FF` | | `tests/AcDream.App.Tests/Rendering/Walk/WalkProductionWorldConformanceTests.cs` | ` M` | 19850 | `F73CC8F494E568133E1C1354D52EE85252C575B26C98948F65BAF5FF522CA57C` | | `tests/AcDream.App.Tests/Rendering/Walk/WalkProductionWorldDataTests.cs` | ` M` | 9231 | `1FA6B591865C551619FC392F3B8FCD710299094529A8109355484EA3271A5457` | | `tests/AcDream.App.Tests/Rendering/Walk/WalkStaticStreamPopulatorTests.cs` | ` M` | 36223 | `4A08C37591C1F65A1142B6F8D9361EA2BC70FBE7C77519F17F758418694DF01B` | | `tests/AcDream.App.Tests/Rendering/WorldRenderFrameBuilderTests.cs` | ` M` | 22735 | `450BF823EAD6D825CDA3AD584634C704F721564F139C08B5EEB96A2228965ED7` | | `tests/AcDream.Content.Tests/InstalledPreparedCollisionCatalogTests.cs` | ` M` | 4208 | `0549B7C75651B4E3DF1469ED5B451DDA16B71710950A1EC252052419E3723903` | | `tests/AcDream.Content.Tests/MeshExtractorSolidFaceExtractionTests.cs` | ` M` | 20309 | `48D45135ACED92EFA57982E432CECE7B9ADE6AA50E1B12F0E36DFF347E2EDC35` | | `tests/AcDream.Core.Tests/Lighting/LightManagerTests.cs` | ` M` | 26623 | `DB009E9DE99AA471C1C8425C3056ED02DEB606B54109A2E76761C5F5A684BD24` | | `tests/AcDream.Core.Tests/Physics/CellTransitFindTransitCellsBoxTests.cs` | ` M` | 25854 | `09D32BDC9C3AE6F6235D32C560AEE3CA93734AB1D92597D4BD067E84AB5A86DD` | | `tests/AcDream.Launcher.Core.Tests/Installation/ContentMigrationCatalogTests.cs` | ` M` | 1112 | `69D38F40488702EBD2A6AB87A2B72D992CB07819A9125F13FEEEA31385D34964` | | `tools/A8CellAudit/Program.cs` | ` M` | 39282 | `D453EFBB7F1D70A3A7D866EDD7AEB166AEA00506AAAD4DB290A431A0BD13CC02` | | `docs/plans/2026-09-01-campaign-overhaul-world-solidity.md` | `??` | 66337 | `EDFB74CB3600B2DFE00FA789636674A1553C183FFA113115B16D72195B0CDB6D` | | `src/AcDream.App/Rendering/Wb/WbDrawDispatcher.FacilityStairProbe.cs` | `??` | 6536 | `5D12468429869A07606B3FB9AFE258C4007F85AFB3481C16D0F4882984A29552` | | `tests/AcDream.App.Tests/Rendering/PortalDepthMaskRetailStateTests.cs` | `??` | 2537 | `2175E30A42F856DD9AE77C8308120386633A0357654F37E56B0DB7E106DD0C9A` | ## Recovery procedure 1. Never use `reset --hard`, `checkout --`, or `clean` against this worktree. 2. To inspect the historical accepted state, use detached/read-only inspection of `b8befded` or `e880860291a79e0cb20454710567d86ad8731675` in a separate worktree; do not overwrite this checkout. 3. To restore the complete pre-overhaul investigation state, revert later OH commits in reverse order, stopping at checkpoint `b3b7d922`. 4. To undo the checkpoint itself while retaining history, use `git revert b3b7d922`; do not rewrite history. 5. The six excluded normalization/blank-line paths may remain dirty. Compare them with `git diff --ignore-space-at-eol -- ` before treating them as content. 6. Validate any restored state with the DAT/package/shader identities above, then rerun the Release build and the four focused gate groups. ## OH0 review disposition - Every pre-existing status path is accounted for. - Both required history anchors are recorded. - No behavior probe is silently enabled by its default or current environment. - No unrelated/user-owned semantic change was found. - Production behavior was not edited during OH0. - The classified state is safe to preserve as an explicitly unaccepted recovery checkpoint.