Linkage Quality Audit
2026-03-14 • By Codex
This report audits player identity continuity structurally: source-ID semantics, transition-link methods, adjacent-lane coverage, safe remaining NCAA gaps, and suspicious shared hubs that may need cleanup.
- Generated:
2026-03-14T22:13:04-07:00 - Goal: improve linkage with measured rules, not ad hoc player patches.
Key Reads
scoped_id_uniqueis still the largest split-hub recovery method with1813links.- The new NCAA->Euro abbreviation bridge (
initial_last_euro_unique) contributes575links. - Conservative remaining NCAA internal misses are down to
4total pairs across the audited ladders. - Generic NCAA skip-level continuity now contributes
27men'sD3->D1links and13women'sD3->D1links. - Source-native bridge footprint now includes
4046college_referencelinkage rows,560pro_referencelinkage rows, and3explicit BR->SR transition links. - Remaining safe mainline cached-name mismatches are now
scoped=0andunscoped_unique=0. - Suspicious shared-hub cleanup queue currently surfaces
25cross-source/cross-league hubs.
Source Identity Rules
| Source | Lookup Scope | Cross-League Stable ID | Notes |
|---|---|---|---|
| pro_reference | global | no | Stable pro-reference player slugs within pro coverage. |
| mainline | source_league | no | League-scoped numeric ids; not globally unique across leagues. |
| eurocup | global | no | Stable within source; separate source from euroleague. |
| euroleague | global | no | Stable within source; separate source from eurocup. |
| ncaa | global | no | Single-source ids do not span leagues; players can acquire multiple ids over time. |
| college_reference | global | no | Stable player-page slugs within college-reference college coverage. |
| pro_box | global | yes | Stable person ids across NBA/G League coverage. |
Transition Method Summary
| Method | Links | Pairs | Avg Confidence | Last Updated |
|---|---|---|---|---|
| scoped_id_unique | 1813 | 4 | 0.995 | 2026-03-15 |
| euro_name_unique_adjacent | 1194 | 1 | 0.860 | 2026-03-15 |
| initial_last_euro_unique | 575 | 2 | 0.863 | 2026-03-15 |
| ncaa_boxscore_unique_name_pair | 352 | 6 | 0.841 | 2026-03-15 |
| rapm_unique_name_pair | 122 | 6 | 0.927 | 2026-03-15 |
| source_native_bridge | 3 | 1 | 0.999 | 2026-03-15 |
Transition Method By Pair
| Pair | Method | Links | Avg Confidence |
|---|---|---|---|
| EuroCup -> EuroLeague | euro_name_unique_adjacent | 1194 | 0.860 |
| G League -> NBA | scoped_id_unique | 335 | 0.995 |
| NCAAM D1 -> EuroCup | initial_last_euro_unique | 353 | 0.864 |
| NCAAM D1 -> EuroLeague | initial_last_euro_unique | 222 | 0.862 |
| NCAAM D1 -> G League | scoped_id_unique | 524 | 0.995 |
| NCAAM D1 -> NBA | scoped_id_unique | 754 | 0.995 |
| NCAAM D1 -> NBA | source_native_bridge | 3 | 0.999 |
| NCAAM D2 -> NCAAM D1 | ncaa_boxscore_unique_name_pair | 223 | 0.849 |
| NCAAM D2 -> NCAAM D1 | rapm_unique_name_pair | 35 | 0.930 |
| NCAAM D3 -> NCAAM D1 | ncaa_boxscore_unique_name_pair | 21 | 0.800 |
| NCAAM D3 -> NCAAM D1 | rapm_unique_name_pair | 6 | 0.900 |
| NCAAM D3 -> NCAAM D2 | ncaa_boxscore_unique_name_pair | 25 | 0.840 |
| NCAAM D3 -> NCAAM D2 | rapm_unique_name_pair | 14 | 0.930 |
| NCAAW D1 -> WNBA | scoped_id_unique | 200 | 0.995 |
| NCAAW D2 -> NCAAW D1 | ncaa_boxscore_unique_name_pair | 54 | 0.834 |
| NCAAW D2 -> NCAAW D1 | rapm_unique_name_pair | 51 | 0.930 |
| NCAAW D3 -> NCAAW D1 | rapm_unique_name_pair | 8 | 0.900 |
| NCAAW D3 -> NCAAW D1 | ncaa_boxscore_unique_name_pair | 5 | 0.800 |
| NCAAW D3 -> NCAAW D2 | ncaa_boxscore_unique_name_pair | 24 | 0.824 |
| NCAAW D3 -> NCAAW D2 | rapm_unique_name_pair | 8 | 0.930 |
Adjacent Pair Continuity
Shared hub = already canonicalized same player. Transition link = split-hub continuity edge.
| Pair | Shared Hubs | Transition Links | Total Paths |
|---|---|---|---|
| NCAAM D3 -> NCAAM D2 | 149 | 39 | 188 |
| NCAAM D2 -> NCAAM D1 | 540 | 258 | 798 |
| NCAAM D1 -> NBA | 316 | 757 | 1073 |
| NCAAM D1 -> G League | 455 | 524 | 979 |
| G League -> NBA | 1984 | 335 | 2319 |
| NCAAM D1 -> EuroCup | 17 | 353 | 370 |
| EuroCup -> EuroLeague | 153 | 1194 | 1347 |
| NCAAM D1 -> EuroLeague | 26 | 222 | 248 |
| NCAAW D3 -> NCAAW D2 | 615 | 32 | 647 |
| NCAAW D2 -> NCAAW D1 | 1254 | 105 | 1359 |
| NCAAW D1 -> WNBA | 149 | 200 | 349 |
| EuroLeague -> NBA | 329 | 0 | 329 |
| EuroLeague -> G League | 283 | 0 | 283 |
Safe NCAA Remaining Gaps
These are conservative same-name, valid-chronology, split-hub NCAA pairs. Missing counts here are the safest remaining NCAA worklist.
| Pair | Likely Pairs | Tracked Pairs | Missing |
|---|---|---|---|
| NCAAM D3 -> NCAAM D2 | 26 | 26 | 0 |
| NCAAM D2 -> NCAAM D1 | 215 | 212 | 3 |
| NCAAW D3 -> NCAAW D2 | 22 | 21 | 1 |
| NCAAW D2 -> NCAAW D1 | 78 | 78 | 0 |
Suspicious Shared Hubs
These hubs carry multiple strong surname clusters across sources. They are not proven bad merges, but they are the highest-value cleanup candidates.
| Hub | Display Name | Sources | Leagues | Surname Clusters | Full Names | Sample Names | Page |
|---|---|---|---|---|---|---|---|
| 163041 | N. Hayes-Davis | eurocup, euroleague, pro_box, pro_box_scores | eurocup, euroleague, gleague, nba, pro_box | 2 | 3 | Nigel Hayes | NIGEL HAYES |
| 220347 | B. Marjanovic | eurocup, euroleague, pro_box, pro_box_scores | eurocup, euroleague, gleague, nba, pro_box | 2 | 3 | Boban Marjanovic | BOBAN MARJANOVIC |
| 243032 | R. McGruder | eurocup, euroleague, pro_box, pro_box_scores | eurocup, euroleague, gleague, nba, pro_box | 2 | 3 | Rodney McGruder | RODNEY MCGRUDER |
| 215594 | C. Vandersloot | pro_reference, mainline, pro_box, pro_box_scores | pro_box, wnba | 2 | 2 | Courtney Vandersloot | Roosevelt Brown |
| 278942 | Davis Bertans | euroleague, pro_box, pro_box_scores | euroleague, gleague, nba, pro_box | 2 | 3 | Davis Bertans | DAVIS BERTANS |
| 281199 | Cameron Jones | eurocup, pro_box, pro_box_scores | eurocup, gleague, nba, pro_box | 2 | 3 | Cameron Jones | CAMERON JONES |
| 163514 | T. Horton-Tucker | euroleague, pro_box, pro_box_scores | euroleague, gleague, nba, pro_box | 2 | 2 | Talen Horton-Tucker | TALEN HORTON TUCKER |
| 279174 | Chris Chiozza | euroleague, pro_box, pro_box_scores | euroleague, gleague, nba, pro_box | 2 | 2 | CHIOZZA CHRIS | Chris Chiozza |
| 163066 | J. Poeltl | pro_reference, pro_box, pro_box_scores | gleague, nba, pro_box | 2 | 2 | Jakob Poeltl | Jakob Pöltl |
| 100423 | Egor Demin | ncaa, pro_box, pro_box_scores | nba, ncaa, pro_box | 2 | 2 | Egor Demin | Egor Dëmin |
| 278925 | Jantel Lavender | mainline, pro_box, pro_box_scores | mainline, pro_box, wnba | 2 | 2 | Jantel Lavender | Troy Murphy |
| 1999888301 | D. Robinson | mainline, pro_box, pro_box_scores | pro_box, wnba | 2 | 2 | Danielle Robinson | Johnny Phillips |
| 279216 | Didi Louzada | pro_box, pro_box_scores | gleague, nba, pro_box | 2 | 2 | Didi Louzada | Marcos Louzada Silva |
| 280754 | Trent Lyles | pro_box, pro_box_scores | gleague, nba, pro_box | 2 | 2 | Randy Livingston | Trent Lyles |
| 280886 | James Glazebrooks | pro_box, pro_box_scores | gleague, nba, pro_box | 2 | 2 | James Glazebrooks | Keith Closs |
| 281027 | Toni Belafonte | pro_box, pro_box_scores | gleague, nba, pro_box | 2 | 2 | Toni Belafonte | Zendon Hamilton |
| 281071 | TyShay Epps | pro_box, pro_box_scores | gleague, nba, pro_box | 2 | 2 | Ernest Brown | TyShay Epps |
| 281116 | Kallai Patton | pro_box, pro_box_scores | gleague, nba, pro_box | 2 | 2 | Kallai Patton | Mike James |
| 281128 | Kalil Whitehead | pro_box, pro_box_scores | gleague, nba, pro_box | 2 | 2 | Bobby Simmons | Kalil Whitehead |
| 281151 | RJ Smith | pro_box, pro_box_scores | gleague, nba, pro_box | 2 | 2 | Jay Williams | RJ Smith |
| 281169 | Ty Hendler | pro_box, pro_box_scores | gleague, nba, pro_box | 2 | 2 | Kareem Rush | Ty Hendler |
| 281193 | Bobby Espericueta | pro_box, pro_box_scores | gleague, nba, pro_box | 2 | 2 | Bobby Espericueta | Tamar Slay |
| 281195 | Grant Goosby | pro_box, pro_box_scores | gleague, nba, pro_box | 2 | 2 | Corsley Edwards | Grant Goosby |
| 281200 | Sunny Ozoh | pro_box, pro_box_scores | gleague, nba, pro_box | 2 | 2 | Jannero Pargo | Sunny Ozoh |
| 281203 | Brody Collins | pro_box, pro_box_scores | gleague, nba, pro_box | 2 | 2 | Brody Collins | Smush Parker |