Desktop report link proof

Build each revision independently with `vp i` and `vp run build:desktop`.
Use a fresh T3 home per revision with T3CODE_DEV_SEED=0. Disable paid providers.
Register replay.mjs as a local ACP provider named reportReplay (commandPath: node,
commandArgs: absolute path to replay.mjs). The deterministic agent calls the real
thread-scoped MCP html_render tool; it does not mock the report or click handler.
Launch the built Electron app under headless-desktop with --no-sandbox --disable-gpu
and --remote-debugging-port=<port>. Keep its XDG_CONFIG_HOME isolated too.
Complete onboarding. Add a fresh git project named Link report demo through the CLI.
Run seed.sh from each checkout, passing an output directory and base or head.
Run desktop-proof.cjs <checkout> <debug-port> <base|head> <output-directory>.
Thread JSON files produced by seed.sh must be in the parent of output-directory.
The driver opens each report, clicks the ordinary anchor, and tries the independent
report button if the content remains. Fullscreen uses the real Open full screen UI.
Use light theme, 1280x900, and close the thread details panel before recording.

Base: 1bdf470328bceb4cf41c734a91fcc8a443880aa0
Head: 89ef35447891f7ae2a93a23f11ef4feb506c6e28
Both thread and mail anchors blanked the report on base, inline and fullscreen.
All four reports stayed visible and their buttons responded on head.
Stills were taken after two screenshots 500ms apart matched.
The supplied MP4s record the same click sequence for each case on both revisions.

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