테이블 변경:
- source: tb_ship_risk_info → tb_ship_risk_detail_info
- target: tb_ship_risk_info → tb_ship_risk_detail_info
- target history: tb_ship_risk_hstry → tb_ship_risk_detail_hstry
- target 추가: tb_ship_risk_detail_info_hstry (indicator 값 변경 이력)
Job 분리:
- riskDataSyncJob: 데이터 동기화 + 스냅샷 이력
- riskDetailChangeDataSyncJob: 스냅샷 시계열 비교 → 값 변경 이력
RiskDto/Entity: indicator(Integer) + desc(String) 컬럼 추가 (42→83 필드)
BaseSyncReader: while 루프로 모든 그룹 연속 로드 (null=Step종료 문제 해결)
BatchWriteListener: 청크 내 모든 고유 job_execution_id P→S 업데이트
README.md 추가
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>