6eec796403
The plugin had zero tests, and the docs make dozens of "bit-identical" and "conservative verdict" claims that nothing machine-checks. OPSTACK-PLAN §4 Phase 0.5 asks for these before any op-stack work is built on top. - VoxelForgeTestFixture.h — headless world (transient strate definitions -> UVoxelSettings -> a real UVoxelStrateManager::Initialize), so the tests hit UVoxelGenerator::GetDensityAt where the ~30 thread_local caches actually live. One strate per archetype, pinned via FixedStrates so slot index -> archetype is stable across seeds. - DensityPurity — 10k points re-sampled in shuffled order on the same thread and on N worker threads, asserting BIT equality. AVoxelWorld::ValidateDeterminism is game-thread only and structurally cannot see worker-cache divergence, which is how AUDIT C2 stayed hidden. Includes a flat-field canary so a collapsed noise field (AUDIT C1) can't make the test pass vacuously, and a diff-layer pass that exercises the direct-mapped DiffSlots cache. - ClassifyTileSoundness — scans tiles for a non-Mixed verdict, then brute-forces the exact mesher lattice (g in [-1, Cells+1], margin included) and asserts every sample is on the claimed side of IsoLevel 0. A false AllSolid/AllAir is an invisible collisionless hole; T1.d v1 was reverted for exactly that in June. Errors out rather than passing if no tile yielded a verdict to check. - DiffLayerContention — N reader threads running the worker call mix while the game thread writes and Clear()s, asserting survival and a monotonic ModsVersion. UNVERIFIED: never compiled — this module has never pulled in AutomationTest.h and Private/Tests/ is new. See OPSTACK-PROGRESS.md for the likely error spots. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>