# Campaign AR Stage 1 automated gate **Date:** 2026-08-22 **Verdict:** PASS — every Stage 1 gate that does not require physical visual or desktop-performance judgment is complete. Those judgments were deliberately outside this automated report and subsequently passed in the [Stage 1 live-gate report](2026-08-22-atmospheric-stage1-live-gate.md). ## Scope This report covers the current authored-celestial implementation: the visible above-horizon sun, dominant haloed moon, secondary moon, and no-source states; the selected source's direction-versus-energy handoff; the 336-byte render-pack shadow ABI; the unchanged authoritative retail path; and local deterministic performance and lifetime contracts. It does not itself claim that a physical display proves shadow alignment, source-transition continuity, temporal pixelation/shimmer quality, or desktop frame pacing. It did not itself begin Campaign AR Stage 2; the subsequent project-owner live approval did. ## Results | Gate | Result | |---|---| | Shader compilation | 24/24 Vulkan shader pairs ready | | Retail shader preservation | all 18 pre-campaign SPIR-V SHA-256 oracles exact; no tracked retail SPIR-V change | | Focused App renderer validation | 344/344 passed | | Core sky loader | 14/14 passed | | SDK and standalone pack validator | 30/30 passed | | MossTank plugin regression | 48/48 passed | | Forced locked restore | passed for the complete solution graph | | Complete Release build after locked restore | passed, 0 warnings, 0 errors | | Fresh-process hermetic Release gate | 14,928/14,928 passed, 0 skipped, 0 failed, 14 assemblies | | App assembly inside the complete gate | 5,823/5,823 passed | The release evidence bundle is [`artifacts/atmospheric-rendering/stage1-moon-release-gate/`](../../artifacts/atmospheric-rendering/stage1-moon-release-gate/). Its `release-gate-summary.json`, TRX files, logs, environment inventory, and `SHA256SUMS.txt` are the machine-readable authority for the fresh-process total. ## Performance and lifetime coverage The complete App gate includes these deterministic contracts: - `DirectionalShadowCasterFrameTests.WarmStableFrame_AllocatesZero` builds a 9,500-static-caster scene, warms it, then performs 256 stable frames with zero managed bytes, no additional scene-index copy, no classification, and no topology rebuild. - `DirectionalShadowCasterFrameTests.WarmDenseChangedFrames_AllocateZeroAndReadNoSceneRecords` proves dense animated-transform refresh stays allocation-free and does not reread scene records. - `AtmosphericCpuStageProfilerTests.WarmedObservationAllocatesNothing` and `AtmosphericGpuTimerSamplingTests.WarmSamplingDecisionsAllocateZero` keep the measurement path allocation-free after warmup. - `RenderPackLongCycleConvergenceTests.RepeatedPackResizeFailureGenerationAndFlightCyclesConvergeExactly` repeatedly crosses Low, Medium, High, retail selection, resize, injected failure/recovery, both frame-flight slots, render-generation replacement, and terminal disposal for 12 cycles. Every pack resource, registration, receiver candidate, transform owner, texture slot, and pipeline-format lease returns to its exact baseline. - `RenderPackLongCycleConvergenceTests.DeviceRecreationIsFullRendererTeardownThenANewContextAndDevice` proves recreation is complete old-renderer/context/device teardown followed by an independent activation generation on a fresh device. These are CPU-side and recording-RHI gates. The historical physical AMD rows remain valid for their exact pre-moon binaries and stated scope, but they are not reused as current sun-and-moon image-quality or desktop-performance proof. ## Authoritative-path and scope audit - Shader regeneration expands includes and injects pack-only definitions only for pack shaders. Unchanged retail sources retain their existing committed binaries; the source manifest still forces a recompile after a real source edit. - The exact pre-campaign retail SPIR-V oracle passes after ordinary shader regeneration. - No source file under `src/AcDream.Runtime` changed for this campaign gate. - No physics or collision source changed. - No retail GLSL source changed. - Pack-off production integration continues to require zero enhancement passes, resources, casters, cascades, draws, or dispatches and its pinned framebuffer and resource ledger remain exact. ## Pending project-owner gate When the desktop is healthy, launch the corrected Release client against ACE and stop for the project owner to judge: - sun, dominant-moon, and secondary-moon shadow alignment; - sun-to-moon, moon-to-moon, and no-source transitions; - temporal pixelation/shimmer during camera and celestial motion; and - desktop smoothness, frame pacing, and FPS behavior. Stage 2 and campaign closeout remain gated on that explicit approval.