Feature
Root cause: players are per-set rows, so new sets created fresh rows without NBA/MLB/UFC IDs. Backfilled 1,304 image references by matching player names across sets. Signature Class went from 0/259 to 239/259 NBA IDs.
Player Image ID Backfill
Root cause diagnosed: player headshot images resolve via external IDs (nba_player_id, mlb_player_id, ufc_image_url) stored on per-set player rows. When new sets are seeded, fresh player rows are created without these IDs, even though the same player exists in other sets with IDs populated. Backfilled by matching player names: 266 NBA IDs, 562 MLB IDs, 2 UFC URLs, 474 image_url values. Future seed scripts should include an ID-backfill step after creating player rows.