D262 - A build with no status bar does not gather what would fill one

status: decided

obs_sysinfo_report() runs in every build, including the elfldr payload, which draws no header. Gathering the status fields there is not just wasted: some getters touch subsystems a title sets up and a bare payload does not. The IP field calls sceNetCtlInit/sceNetCtlGetInfo, and running that in an elfldr payload - where the network is not brought up the way it is for a title - is a plausible way to wedge the process. A payload build carrying that code, launched while another run was being killed, is the most likely cause of a console wedge that then cost a recovery.

So the payload build defines OBS_NO_UI and obs_sysinfo_report() returns immediately under it. The function still exists and is still called; it simply gathers nothing. The HUD path (screen.c) is already gated at run time by obs_live, which a payload never sets, so no status getter runs in a headless build from either direction.

The gate is the build shape, not a run-time check, because the acquisition happens before the display is even attempted (start.c) - there is nothing to test at run time that early, and the fact that settles it, "this build has no UI", is known at compile time.