SIGN IN SIGN UP

fix(crush): stop walking macOS-protected directories on first launch

The crush provider's auto-detection walked $HOME and ~/Documents up to
four levels deep looking for `.crush/crush.db`. On macOS that path
crosses into ~/Pictures/Photos Library.photoslibrary (Photo Library
TCC prompt) and, when iCloud Desktop & Documents Sync is enabled,
into iCloud-managed ~/Desktop and ~/Documents (iCloud Drive TCC
prompt). Both popped on every launch.

Two changes:

1. Drop $HOME and ~/Documents from the default search roots. The
   remaining defaults (~/code, ~/src, ~/workspace, ~/dev, ~/Projects,
   ~/projects, ~/Workspace) cover the conventional code-checkout
   locations without crossing into user-data territory. Users who
   keep crush projects elsewhere can point OPENUSAGE_CRUSH_ROOTS or
   the per-account `search_roots` at the specific directory.

2. Extend `isSkippableDirName` with Library, Pictures, Movies, Music,
   Desktop, Public, Applications, .Trash, and any *.photoslibrary
   bundle. This is defense in depth -- even if a user opts into a
   broad root via OPENUSAGE_CRUSH_ROOTS=$HOME, the walker now skips
   the dirs that would trigger TCC.

New `paths_test.go` pins the default-root and skip-list invariants so
neither can regress quietly. Provider doc is updated to explain the
exclusion and the override path.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
J
Jan Baraniewski committed
e725348117b44d27faacfbbfa293b9712c8665e5
Parent: c71ea19