New roster is a strict superset of 投手.xlsx (14 added, none removed, no reassignments). build_data.py now picks the roster by an explicit precedence list, so the old 投手.xlsx stays as a fallback. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>