Given a canonical track's stored fields — title, the single artist string,
and the Bandcamp label.name (og:site_name) — decide the real artist(s) and
label(s). No re-fetching: this is exactly what a backfill would see. Inputs on the left, what the resolver
produces on the right — judge it yourself.
label.name
was never captured). On 180 random tracks, 49% resolve high-confidence (artist ≠ page → clean split) and
48% land low-confidence — where the artist is just the page name, which is correct for a solo act but hides a
collapsed label. That low bucket is the honest boundary of what one track can tell you.high = artist ≠ page (clean). med = artist parsed from a compilation title (watch title order). low = artist is the page name (right iff it's a solo act; a self-crediting label hides here).
Inputs (all stored). canonical_tracks.title, canonical_tracks.artist
(the single free-text field), and track_sources.metadata_json.label.name / .id
(the Bandcamp og:site_name + band_id). Page context = a one-pass aggregate per band_id: track count, fraction of titles
shaped "Artist - Title", distinct primary artists, and the Various-Artists flag.
Resolver. Label from label.name when it differs from the artist; artist from the
artist field unless it has collapsed to the page name, in which case the artist is parsed from
the title on pages that look like compilations. feat./&/, split into primary + featured.
Caveats — this is eyeball-grade. The 180 random tracks have no ground truth; only the 11-track check-set is
hand-labelled, so 8/11 is indicative, not a calibrated accuracy. The low bucket conflates genuine solo artists
(correct) with self-crediting labels (wrong) — splitting them needs the page-level classifier or a corroboration pass
(Discogs / cross-catalog artist recurrence). Title order is unsolvable from one page (Bandcamp enforces no
"Artist - Title" convention). Some tracks have a null label.name (band_id present, og:site_name
never captured) — a data-completeness gap, not a resolver error. Generator lives in
digdeeper-similarity/scripts.