8910ec9bda
The prefetch_update_check daemon thread (started at tui_gateway.server import time) shells out to git via the shared subprocess singleton at an arbitrary point after import. Tests that patch subprocess.run/Popen process-wide can capture that stray spawn in call_args, flaking their assertions: on 2026-08-28 CI, test_slash_worker_popen_uses_utf8_replace saw encoding=None from the thread's un-encoded 'git fetch' (red on main, run 33175879563) and test_deliver_validates_profile_and_runs_transport captured argv ['rev-parse', 'FETCH_HEAD'] from the shallow-checkout banner path (FLAKY frame, run 33183215857). Fix the class at the source: _skip_background_prefetch() makes both prefetch_update_check and prefetch_banner_data no-ops under pytest (nothing in tests needs a live update check; the done event is set so get_update_result callers don't burn their timeout). Tests exercising the prefetch itself monkeypatch the predicate. Sabotage-verified regression tests pin both no-ops.