Two code-review findings: 1. Add a guard in cmake/install_desktop_entry.cmake that fails visibly when both XDG_DATA_HOME and HOME are unset or empty, preventing silent installation to the filesystem root in minimal CI sandboxes. 2. Replace the plan's tail-based verification with grep, because cmake's FATAL_ERROR message and ninja's "build stopped" lines push the actual rejection message out of the last four lines. The grep command reliably finds the expected "desktop-file-validate rejected" string. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>