6d875662fa
Walks the downloads tree and reports files that fail magic-byte validation — the "how many pre-existing files in my library are silently truncated?" question, answered. Skips the _quarantine subtree (already known-bad) and caps suspect_paths at 500 with a truncated flag so the persisted report can't grow unbounded. On-demand only: a full filesystem walk on a NAS-mounted library is expensive and the user should choose when to pay for it. Pre-existing files are reported, not quarantined — they may be the only copy and the user decides what to do. Adds GET /api/settings/library-validation (most recent report) and POST /api/settings/library-validation/run (queue a fresh sweep). Cached under cache.library_validation_report. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>