- speedBoostEndMs: elapsedMs(게임 시간) → DateTime.now()(실제 시간) - autoReviveEndMs: elapsedMs → DateTime.now() - MonetizationState: isAutoReviveActive/isSpeedBoostActive 실제 시간 기준 - 5배속에서 5분 버프가 1분에 만료되던 문제 해결 - bossLevelingEndTime은 이미 DateTime.now() 기준 (변경 불필요)
- save_integrity_test: 13개 (sign/verify 라운드트립, 변조 감지, 레거시 호환) - save_data_roundtrip_test: 16개 (toJson/fromJson, v2→v4 마이그레이션, 기본값)
- MonetizationState 23개 테스트 (버프 활성/만료, 유료/무료 분기) - ReturnRewardsService 14개 테스트 (보상 계산, 2배 시간, 포맷팅)