Linux AppImage icon leak reproduction for PR 25775

Base b883156e269de2002873aebdef6019f336b687a7
Head 54b4b87f5a9dfa69a2d9d6144f75a4c01b0231a4

Build each commit from its own checkout after vp i:
  vp run dist:desktop:linux --output-dir <artifacts> --verbose
The base packaging invocation was interrupted with SIGTERM; its completed
bundles and helpers were reused by rerunning packaging with --skip-build.
No application source was edited.

Extract apps/desktop/prod-resources/icon.png from resources/app.asar in each
AppImage (AppImage --appimage-extract, then @electron/asar.extractFile).
Place drive.py and panel.py together in an evidence scratch directory.
Run each side separately with the same driver:
  headless-desktop python3 drive.py before BASE_SHA APPIMAGE BUNDLED_ICON
  headless-desktop python3 drive.py after HEAD_SHA APPIMAGE BUNDLED_ICON

Each run creates fresh T3CODE_HOME, XDG_DATA_HOME and XDG_CONFIG_HOME.
It records the real AppImage launched normally through FUSE with
--no-sandbox --disable-gpu, keeps the primary running, and launches five
secondary instances sequentially. No provider turn is requested.

The live panel reports all regular /tmp/.org.chromium.Chromium.* files,
and the number of NEW files whose SHA-256 equals the bundled PNG. It also
checks the persistent installed icon against that PNG after every launch.
The main window is shown at 1170x1010 in a 1920x1080 X11/Xvfb desktop.
The primary remains running until the final capture and recording complete.
Two identical screenshots 500 ms apart are required before keeping a still.

redact.sh masks only the host label on the welcome page for publication.
The videos show actual screen activity and the live filesystem panel;
the icon and file counts are not edited.

AI-assisted; verified with the tests and tools listed above.
