packaged_gui_app_paths() returns the machine's real install locations
(/Applications/Hermes.app and ~/Applications/Hermes.app on macOS, the
desktop entry and icons on Linux, Programs\Hermes on Windows), and tests
keep HOME intact. A test that runs the real GUI uninstall or update swap
without stubbing it deletes the developer's own app: the variant of
test_uninstall_gui_keeps_userdata_dir_when_told_to in 954d90f15f
(#122553) removed /Applications/Hermes.app on a maintainer machine
during review, and Hermes vanished from Spotlight.
The home I/O guard now captures those paths at conftest import, before
any test can patch sys.platform or HOME, and fails the test on any
delete, rename, replace, chmod, utime or write-mode open inside them,
by the literal or the resolved path. Reads stay allowed (update paths
probe the installed app). The refusal uses pytest.fail
because the uninstall removal helpers catch Exception: an
AssertionError there is logged as a warning and the test passes.