Files
chimera-gfx-Public/docs/evidence/phase0-build-2026-07-17.md
Chimera GFX release export a6037502d7
phase0-ci / build-and-audit (push) Successful in 2m14s
Publish Chimera GFX source
2026-09-03 03:27:14 +02:00

77 lines
3.5 KiB
Markdown

# 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`.