2609 (8/31-10/7) fully supersedes 2026Week39平台消耗.xlsx, which is
removed; 2610 adds 10/8 and wins the overlapping October days.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The consumption export keeps changing filename (每日数据 -> Week39...),
which broke the glob each time. build_data.py now treats any workbook
containing a 平台消耗统计 sheet as a data source and orders them by the
latest date they contain, so the fresher file wins on overlapping days.
2026Week39平台消耗.xlsx covers 8/31-9/27 and fully supersedes the 2609
file, which is removed; 2608 stays for the earlier August dates.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
投手List.xlsx is a strict superset of the previous roster (19 added,
none removed or reassigned) and claims every previously unmatched
Adpingid, so the report has no unattributed spend.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The 2609 file carries only 8/31 and has no 投手 sheet, so build_data.py
now globs every *每日数据-武汉萌奇熊.xlsx, merges 平台消耗统计 per date
(newer filename wins for a repeated date), and takes the roster from the
newest file that still has a 投手 sheet. Future month rollovers need no
code change.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>