- qa held-out: deterministically split ~1.5k BAAI samples into eval
(BAAI is the only qa source; eval previously had no qa coverage)
- sentiment now pure 3-class: move FINNSP (negative-entity NER) to event
- cross-set leakage: subtract train (instruction+input) keys from eval
- drop DISC-FIN dead code from download script
Output: train 158,252 / eval 16,419 (all 5 agents covered in eval)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Add preprocessing script: ad removal, label normalization, dedup