Applies rule 32's migration exception: each header still says what the
schema was, what changes and what it prevents, but task, milestone,
decision and rule ids are replaced by the practice they stood for, the
operator quotes by the decision, single-install counts are dropped, and
pointers to a deleted package and an external design doc are gone.
golang-migrate keeps no checksum, so editing applied migrations'
comments is safe.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- acquisition_settings.upgrade_until (default High quality lossy, Lidarr's
cutoff, note #5527; "" is off), an "Upgrade until" row under Searching.
- The wanted worker judges held albums hourly: tier per format from size per
second (the scanner records no bitrate), the album's worst. Below the
cutoff it is wanted for quality; a video rip among its tracks always.
- The schedule searches upgrades weekly, after open wants; a release no
better than the copy held is refused ("not_better").
- The import matches each file to the track it would replace (recording,
then disc/track) and replaces it when it is a rip or the file is a better
tier: over the same path in one rename, or filed beside it and the old
track folded in (library.ReplaceTrack: file first, then foldTrackInto).
Nothing better: the release is set aside.
- Collection › Upgrades (Lidarr's Cutoff Unmet); Suspect sources says when a
clean copy was looked for instead of Lidarr's search.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>