day 0 external dependency validation - #1
Merged
Conversation
core: httpx[http2], rapidfuzz clap group (opt-in, heavy): torch, transformers, av, numpy, psutil dev group: pytest, plus pytest config (pythonpath=scripts, testpaths=tests)
go/no-go probe for the pipeline's external deps before building it: - deezer preview coverage, isrc lookup, rate-limit under burst - listenbrainz labs similar-recordings (canonical mbid via recording-search) - musicbrainz messy-string search (2-stage query) - clap load/memory/latency prints a pass/warn/fail summary; a skipped critical check reports INCOMPLETE (exit 2) rather than a passing GO. tests cover the verdict logic.
erick-ti
added a commit
that referenced
this pull request
May 27, 2026
* suppress seed-equivalence — drop the seed's own master from its results the day-7 eval surfaced (and reproduced) a seed recommending a *different master of itself* at #1 — take five → "take five — dave brubeck" at audio cosine 0.988, but a distinct mbid + deezer track, so the identity (mbid/ptid) dedup can't catch it. _build_results now drops an audio-scored result whose raw audio cosine ≥ SEED_EQUIVALENCE_AUDIO_MIN (0.98) AND whose title token_set-matches the seed (≥ SEED_EQUIVALENCE_TITLE_MIN, 0.90), recording its keys first so cultural backfill can't re-add it. a live/acoustic version scores lower audio and survives — the and-gate keeps the heuristic from collapsing the distinct recordings the product exists to surface. audio-path only (no audio score in cultural-only mode — the documented gap); thresholds are env knobs for eval calibration. validated on the full 19-seed benchmark: only the two take-five seeds changed (self-rec gone, genuine jazz promoted), 17/19 untouched, and "take five" is still correctly recommended for the so-what seed (different seed title → not suppressed). regression in test_pipeline.py. * update roadmap: seed-equivalence suppression done flips the day-7 follow-up to ✓ — _build_results drops the seed's own master (audio ≥ 0.98 + title match), validated surgical on the full benchmark (only the take-five seeds changed, 17/19 untouched).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds the Day 0 go/no-go script that checks the pipeline's external dependencies before we build on them: Deezer preview coverage + ISRC lookup, ListenBrainz Labs similar-recordings, MusicBrainz canonicalization, and CLAP load/memory/latency. All six checks pass on a five-genre seed set (100% Deezer coverage, CLAP ~660 MB and 76 ms/clip on CPU), so Day 1 is clear. Also adds the deps the script needs (httpx, rapidfuzz, the CLAP stack, pytest) plus a regression test so a skipped critical check reports INCOMPLETE instead of a false GO.