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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user