import json, re, collections res = json.load(open("out/house-metrics.json")) man = {r["track_id"]: r for r in (json.loads(l) for l in open("manifest.jsonl") if l.strip())} pairs = res["cross_split_near_duplicate_scan"]["pairs"] norm = lambda s: re.sub(r"[^a-z0-9]+", "", s.lower()) print("flagged pairs:", len(pairs)) print("distinct holdout tracks:", len({p["holdout_track"] for p in pairs})) print("distinct training tracks:", len({p["training_track"] for p in pairs})) tm = [p for p in pairs if norm(p["holdout_title"]) == norm(p["training_title"])] am = [p for p in pairs if norm(p["holdout_artist"]) == norm(p["training_artist"])] print("normalised TITLE matches:", len(tm)) print("same-artist pairs (impossible under an artist split):", len(am)) print("byte-identical audio across flagged pairs:", sum(1 for p in pairs if man[p["holdout_track"]]["local_sha256"] == man[p["training_track"]]["local_sha256"])) dm = [p for p in pairs if abs(man[p["holdout_track"]]["duration_s"] - man[p["training_track"]]["duration_s"]) < 1.0] print("duration within 1.0 s:", len(dm)) for p in dm: a, b = man[p["holdout_track"]], man[p["training_track"]] print(f" d={p['distance']:.4f} {a['duration_s']:.1f}s vs {b['duration_s']:.1f}s " f"| {p['holdout_title']!r} ({p['holdout_artist']}) / {p['training_title']!r} ({p['training_artist']})") c = collections.Counter(p["holdout_track"] for p in pairs) print("\nholdout tracks by how many training neighbours:", c.most_common(8)) print("distance range:", min(p['distance'] for p in pairs), "-", max(p['distance'] for p in pairs))