- Add rarity name cross-reference table in Background section mapping PRD
display names (Replacement/Reserve/Starter/All-Star/MVP/Hall of Fame) to
codebase names (Common/Bronze/Silver/Gold/Diamond/HoF) with IDs
- Fix T4-2: correct Gold OPS threshold from 0.700 to 0.900 (confirmed in
rarity_thresholds.py); add note that 0.700 is the Bronze floor
- Fix T4-1: restate truncation invariant as a single precise assertion —
sum(columns) == 108 - truncated_amount — instead of two independent checks
that can both pass while the sum is wrong for unrelated reasons
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Seven pre-implementation test cases covering: 108-sum invariant
preservation under profile-based boosts, D20 probability shift
magnitude at T4, pipeline collision risk between T4 rarity upgrade
and live-series post_player_updates, HoF rarity cap (non-contiguous
ID ladder), RP T1 achievability, SP/RP/batter T4 parity, and the
cross-season stat accumulation design decision that must be confirmed
before Phase 2 code is written.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>