PR #9356 — headless behavior proof Repository: pingdotgg/t3code; branch fix/mobile-shared-settings Base: 45ad47df2254c226eb05e7f54c396aa28022cb43 Test phase: 5030a78b403126a4a44542d659e6ca2363799251 Implementation: 7845bb0034f442bd9cd2c3205093137ce5c9bc87 Scope: mounted current Thread behavior and Source control screens, real settings planning and pending state; mocked React Native controls, native dialog presenter, and command outcomes. Fixtures Healthy (success), Alpha (Permission denied), Beta (Disk full). No native or live transport claim. BEFORE — test-only commit on current-main production: 4 failed, 3 passed of 7. Missing alerts for save and project reset on both screens. Each failure received an empty alert message where the correct environment/reason pair was required. Pending/retry/subscription/interruption assertions still ran and passed. AFTER — implementation commit: 7/7 screen integration tests pass; 16/16 including existing scoped planner and auto-settle suites. Mobile typecheck, lint and formatting pass. Each failed environment retains its own reason; Healthy is omitted from failure messages. Controls unlock, retry runs, displayed settings change only after supplied subscription data changes, and interrupted outcomes do not alert. Native verification: T3 device_list returned “Agent device access is turned off for this environment.” No device, alternate automation, dev server, or native client was launched. Actual iOS/Android dialog presentation remains a human check.