Track matching: fuzzy fallback, Source fallback and un-merge #30

Closed
opened 2026-10-06 21:16:53 +02:00 by SBDeveloper · 1 comment
Owner

Part of #13

What to build

Extend Recordings (ADR 0003) beyond ISRC. When ISRC is missing, fuzzy tag matching (title, artist, duration) produces suggestions the user can accept to group Tracks into a Recording; it never groups automatically. The user can un-group any Recording, which leaves its Tracks, Playlists, Queue and Favourites untouched. Rejected suggestions are not offered again.

Suggestion and un-group controls live in the new shell (Track menu from #43, settings from #44).

Acceptance criteria

  • Fuzzy matches surface as suggestions when ISRC is absent
  • Accepting a suggestion groups the Tracks into a Recording
  • Rejected suggestions do not return
  • Un-group restores separate Library entries without touching Playlists, Queue or Favourites
  • Core integration tests

Blocked by

Part of #13 ## What to build Extend Recordings (ADR 0003) beyond ISRC. When ISRC is missing, fuzzy tag matching (title, artist, duration) produces **suggestions** the user can accept to group Tracks into a Recording; it never groups automatically. The user can un-group any Recording, which leaves its Tracks, Playlists, Queue and Favourites untouched. Rejected suggestions are not offered again. Suggestion and un-group controls live in the new shell (Track menu from #43, settings from #44). ## Acceptance criteria - [ ] Fuzzy matches surface as suggestions when ISRC is absent - [ ] Accepting a suggestion groups the Tracks into a Recording - [ ] Rejected suggestions do not return - [ ] Un-group restores separate Library entries without touching Playlists, Queue or Favourites - [ ] Core integration tests ## Blocked by - #29 - #43
Author
Owner

Implemented in 49c6ea1: fuzzy suggestions (title, artist, duration) when ISRC absent, accept groups into a Recording, rejected pairs persist, un-group leaves Playlists/Queue/Favourites untouched. Suggestion controls in matching settings, un-group in Track menu. Core integration tests in crates/core/tests/recordings.rs.

Implemented in 49c6ea1: fuzzy suggestions (title, artist, duration) when ISRC absent, accept groups into a Recording, rejected pairs persist, un-group leaves Playlists/Queue/Favourites untouched. Suggestion controls in matching settings, un-group in Track menu. Core integration tests in crates/core/tests/recordings.rs.
Sign in to join this conversation.
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
SBDeveloper/medley#30
No description provided.