v0.20.1: one fingerprint, six artists

trav's "Dionne Farris - I Know" kept identifying as Jay-Z, against ID3 tags
that plainly said otherwise. AcoustID was right; the ranking threw the answer
away.

The fingerprint matched one AcoustID result at 0.97, and six recordings hang
off it: Dionne Farris twice, plus Jay-Z, Marisela, New Atlantic and David
Essex, all of whom recorded a song called "I Know". A result's score belongs
to the *audio*, so every linked recording carries it however wrong the link
is. With the scores tied, ranking fell through to the duration bucket, where
Jay-Z's 222.7 s beat Dionne's 227.3 s against a 224 s file. The tags never got
a vote: the hint sat below duration in the sort key.

So the lookup now asks who submitted each link. `sources` joins LOOKUP_META —
475 people linked that audio to Dionne Farris, 6 to Jay-Z, 1 each to the rest
— and _link_tier sinks anything under a tenth of the strongest link in the
same result. The share is relative, never an absolute count, and a missing
count ranks as real: an obscure song's true link may have two submissions
against a stray's one, and rounds 45-46's payloads rank unchanged.

And it asks what the file already says. artist_hint_for gathers the artist
tag, the album artist and the artist in the filename; _artist_agreement counts
the words shared with a candidate's credit, placeholders dropped. Like every
hint since round 46 it only chooses among what AcoustID returned.

New key order: stray tier, artist agreement, duration bucket, hint overlap,
release rank — who, which take, which release. Artist above duration is the
whole fix; duration still separates two takes by one artist.

Verified live against the reported file: the proposal is now I Know — Dionne
Farris — Wild Seed - Wild Flower (1994), track 1, with all five mis-tagged
artists off the dropdown. The real response is pinned in tests/test_round52.py.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SKXUgsBBwe3qaHEjeV8ubP
This commit is contained in:
2026-09-11 20:41:33 -05:00
co-authored by Claude Opus 5
parent 81b7f6767c
commit c797cf570c
5 changed files with 383 additions and 13 deletions
+43
View File
@@ -1,5 +1,48 @@
## Done
### Round 52 (2026-09-11) — one fingerprint, six artists (v0.20.1)
trav's "Dionne Farris - I Know" kept being identified as Jay-Z, with ID3 tags
that plainly said otherwise. AcoustID was right all along; the ranking threw
the answer away.
- [x] **The diagnosis.** The fingerprint matched one AcoustID result at 0.97,
and *six* recordings hang off it — Dionne Farris twice, plus Jay-Z,
Marisela, New Atlantic and David Essex, all of whom recorded a song
called "I Know". A result's score belongs to the **audio**, so every
linked recording carries it however wrong the link is. With the scores
tied, ranking fell through to the duration bucket, and Jay-Z's 222.7 s
beat Dionne's 227.3 s against a 224 s file. The tags were never consulted
— the hint sat *below* duration in the sort key.
- [x] **Ask who submitted the link.** `sources` joins `LOOKUP_META`: 475 people
linked that audio to Dionne Farris, 6 to Jay-Z, and 1 each to the other
three. `_link_tier` sinks anything under a tenth of the strongest link in
the same result. The share is **relative**, never an absolute count, and
a missing count ranks as real — an obscure song's true link may have two
submissions against a stray's one, and nothing is demoted on missing
evidence (every canned payload from rounds 45–46 ranks unchanged).
- [x] **Ask what the file already says.** `artist_hint_for` gathers the artist
tag, the album artist and the artist in the filename; `_artist_agreement`
counts the words it shares with a candidate's artist credit, with
placeholders ("Unknown Artist", "Various") dropped. Like every hint since
round 46 it only chooses *among* what AcoustID returned — it can't invent
a candidate.
- [x] **New key order: who, which take, which release** — stray tier, artist
agreement, duration bucket, hint overlap, release rank. Artist above
duration is the whole fix; duration still separates two takes by one
artist, so round 46's rule is intact.
- [x] Verified live against the reported file: the proposal is now
**I Know — Dionne Farris — Wild Seed - Wild Flower (1994)**, track 1, and
all five mis-tagged artists are off the eight-candidate dropdown. The
real response is pinned as a canned payload in `tests/test_round52.py`.
- [x] **Noticed while verifying**: the full suite took 550 s and
`test_round33.py::…::test_stops_when_the_playing_track_is_deleted` hung
outright, with the R1 mounted. Not the Round 51 wedge — no uninterruptible
FUSE waits, and it cleared on its own: a later run was 932 passed in
12.2 s with that test green, and it passes 5/5 in 0.19 s alone. So an
MTP mount that is merely *busy* (not wedged) slows the suite ~45× and can
stall a Qt test outright. Worth suspecting before believing a hang.
### Round 51 (2026-09-11) — counts come home, and only playable files go (v0.20.0)
andTunes phase 3. The Rabbit is now one more machine in the play-count