# Phase-0 and offline Phase-1 build evidence - Date: 2026-07-17 - Source commit: `72292f2d5788ad643e9d1816ce28ab754ef739b5` - Branch: `main` - Firmware gate: `NONE` - Hardware transfer/execution: **not performed** The source tree was clean when the two artifacts below were rebuilt. Generated build directories and ELFs are ignored; only their machine-readable manifests are tracked. ## Host verification | Environment | Result | |---|---| | Windows, Visual Studio 2022 x64 Debug | 11/11 CTest tests passed | | Windows, Visual Studio 2022 x64 Release | 11/11 CTest tests passed | | WSL, Clang 18.1.8, clang-tidy 18, warnings as errors | 12/12 CTest tests passed | | WSL, GCC 15.2.0, ASan + UBSan | 12/12 CTest tests passed | | Installed core library consumer | compiled and exited 0 | | Installed RetroArch/SDL2 scaffold consumer | compiled and exited 0 | The tests include API/error/lifecycle validation, cross-context ownership, resource limits, deterministic mock upload/present state, adapter refusal, firmware-gate negative cases, symbol-manifest generation, artifact-manifest tamper rejection, format, safety policy, and secret scanning. The Clang ASan/UBSan variant was attempted but could not link because this WSL installation lacks Clang 18's `compiler-rt` ASan archives. That attempt is not counted as a passed test. The available GCC sanitizer runtime completed the same 12-test suite successfully. Docker was not installed in the local environment, so the pinned Dockerfile was reviewed but not built. Its host and Phase-0 cross-build commands were run directly with the same pinned compiler/SDK inputs. No Gitea job is claimed as passed merely from being queued. ## Cross-build verification The clean PS5 compile used: - PS5 Payload SDK `v0.41`, commit `d2e2e585740362976a39fdd5ccf390f199a7bc37`; - PS5 SDL2 commit `0baf4ac49382b537ba449901b5b6d0d189bb1fbb`; - the single reviewed keyboard/IME-removal overlay; - SDL2main, audio, joystick, haptic, sensor, power, file, filesystem, locale, misc, OpenGL, LoadSO, render, Vulkan, dummy/offscreen video, and HIDAPI disabled for the Phase-1 candidate; - warnings as errors and firmware identifier `NONE`. All core, adapter, firmware-gate, probe, and disabled Phase-1 targets compiled and linked. Static `prospero-nm` inspection then passed the strict import audit. | Artifact | Size | SHA-256 | Static result | |---|---:|---|---| | `chimera-gfx-capability-probe.elf` | 110424 | `f0f74978ac62490ff2482386e9c4efa3ad6d6cc46e10d54c41cb8669b4449f36` | 0 direct Sce imports; 0 GNM imports | | `chimera-gfx-phase1-videoout-clear.elf` | 1566368 | `2e826ac4ea2bffb626d82e370f98909bb508417d92b1ac3796e9f5a902e975c9` | exact reviewed 15-name Sce set; 0 GNM/keyboard/IME/UserService imports | The 15 Phase-1 imports are six direct-memory/equeue functions, one SystemService function, and eight VideoOut functions listed in `docs/phase1/VIDEOOUT_CLEAR_EXPERIMENT.md`. `llvm-objdump-18` confirmed the retained control-flow order in the Phase-1 `main`: firmware gate at offset `0x78`, `SDL_SetMainReady` at `0xa9`, `SDL_Init` at `0xb4`, and the sole `SDL_UpdateWindowSurface` at `0x1fc`. The probe likewise reaches its firmware gate before loader construction and probe logic. With embedded identifier `NONE`, both return before the later calls. The corresponding tracked manifests are: - `manifests/artifacts/chimera-gfx-capability-probe-0.1.0-none.json`; - `manifests/artifacts/chimera-gfx-phase1-videoout-clear-0.1.0-none.json`. Both manifests verify against the local bytes and state `authorized: false`, `transferred: false`, and `executed: false`.