soulsync/tests/matching
BoulderBadgeDad 89f843d223 #851: normalize '/' ':' '_' to spaces so slash-titles match underscore sources
The candidate matcher rejected valid downloads of titles with a '/' or ':' (e.g.
Sawano's "You See Big Girl / T:T") because the unified normalize() removed those
chars ("t:t" -> "tt") while keeping the '_' that source filenames substitute for
them ("T_T" -> "t_t") — the asymmetry tanked the similarity score. Now '/ \ : _'
all map to spaces before the strip, so "/ T:T" and "_ T_T" both normalize to "t t".

Verified on the real library: similarity for the Sawano pair 0.927 -> 1.000; only
348/40786 strings (0.85%, all containing those separators) change; worst-case
joined-variant match (e.g. "12:05" vs "1205") stays 0.889, well above the 0.70
title threshold — no match regressions. Fixes the matching half of #851.
2026-06-11 10:46:36 -07:00
..
__init__.py Add pure artist-name comparison helper with alias awareness 2026-05-10 16:08:38 -07:00
test_acoustid_candidates.py AcoustID scanner: multi-candidate match + duration guard + multi-value retag 2026-05-14 14:09:38 -07:00
test_acoustid_verification_aliases.py refactor(verification): import path delegates to shared core 2026-06-11 01:27:28 +02:00
test_album_context_title.py Fix MTV Unplugged & live-album false-quarantine pipeline 2026-05-14 12:14:31 -07:00
test_artist_alias_lookup_586.py MusicBrainz: alias trust-gate evaluates MB-score leader, not combined leader 2026-06-06 16:44:14 +02:00
test_artist_alias_service.py Fix MB-worker alias test fixtures missing self.db 2026-06-05 13:24:21 -07:00
test_artist_aliases.py AcoustID scanner: handle multi-value artist credits 2026-05-10 19:17:59 -07:00
test_audio_verification_core.py feat(verification): status vocabulary, DB column, SOULSYNC_VERIFICATION tag 2026-06-11 01:27:29 +02:00
test_divergent_version.py fix(tidal): honour version field in matching and back off on rate limits 2026-06-08 13:50:19 -04:00
test_normalize_slash_851.py #851: normalize '/' ':' '_' to spaces so slash-titles match underscore sources 2026-06-11 10:46:36 -07:00
test_numeric_release_guard.py Cover art: a numeric difference is a different release — Vol.4 stops wearing Vol.4.5's cover 2026-06-07 10:21:23 -07:00
test_script_compat.py #797: stop AcoustID quarantining correct non-English-artist downloads 2026-06-05 16:02:01 -07:00
test_verification_status.py Fix import artist override and verification review 2026-06-11 01:28:31 +02:00
test_version_mismatch.py AcoustID + quarantine modal: three bug fixes (closes #607, closes #608) 2026-05-15 08:55:06 -07:00