release: 2026-04-07.2 (prediction e2e + 프론트 mock 정리) #7

병합
htlee develop 에서 main 로 3 commits 를 머지했습니다 2026-04-07 15:37:26 +09:00
소유자

릴리즈 [2026-04-07.2]

변경

  • prediction e2e: 누락 테이블 12개 + NUMERIC precision 통합 수정
  • 백엔드 GET /api/stats/hourly 신규
  • 프론트 전수 mock 정리: eventStore.alerts, enforcementStore.plans, transferStore 제거
  • Dashboard/MonitoringDashboard/Statistics 더미 → 실 API 전환
  • UTC → KST 시간 표시 통일 (공통 유틸 + 14개 파일)
  • i18n group.parentInference 사이드바 미번역 수정
  • 12개 mock 화면에 데모 데이터 배지 추가
  • RiskMap Math.random() 격자 제거
## 릴리즈 [2026-04-07.2] ### 변경 - prediction e2e: 누락 테이블 12개 + NUMERIC precision 통합 수정 - 백엔드 GET /api/stats/hourly 신규 - 프론트 전수 mock 정리: eventStore.alerts, enforcementStore.plans, transferStore 제거 - Dashboard/MonitoringDashboard/Statistics 더미 → 실 API 전환 - UTC → KST 시간 표시 통일 (공통 유틸 + 14개 파일) - i18n group.parentInference 사이드바 미번역 수정 - 12개 mock 화면에 데모 데이터 배지 추가 - RiskMap Math.random() 격자 제거
htlee added 3 commits 2026-04-07 15:37:19 +09:00
- V014: fleet_vessels, fleet_tracking_snapshot, gear_identity_log,
  gear_correlation_scores/raw_metrics, correlation_param_models,
  group_polygon_snapshots, gear_group_episodes/episode_snapshots,
  gear_group_parent_candidate_snapshots, gear_parent_label_tracking_cycles,
  system_config 테이블 추가
- V015: 점수/비율 NUMERIC precision 일괄 확대 (score→7,4 / pct→12,2) +
  vessel_analysis_results UNIQUE(mmsi, analyzed_at) 인덱스 추가
- prediction kcgdb.py: timestamp→analyzed_at, zone→zone_code,
  is_leader→fleet_is_leader, is_transship_suspect→transship_suspect 매핑

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
## 시간 표시 KST 통일
- shared/utils/dateFormat.ts 공통 유틸 신규 (formatDateTime/formatDate/formatTime/toDateParam)
- 14개 파일에서 인라인 toLocaleString → 공통 유틸 교체

## i18n 'group.parentInference' 사이드바 미번역 수정
- ko/en common.json의 'group' 키 중복 정의를 병합
  (95행 두번째 group 객체가 35행을 덮어써서 parentInference 누락)

## Dashboard/MonitoringDashboard/Statistics 더미→실 API
- 백엔드 GET /api/stats/hourly 신규 (PredictionStatsHourly 엔티티/리포지토리)
- Dashboard: HOURLY_DETECTION/VESSEL_TYPE/AREA_RISK 하드코딩 제거 →
  getHourlyStats(24) + getDailyStats(today) 결과로 useMemo 변환
- MonitoringDashboard: TREND Math.random() 제거 → getHourlyStats 기반
  위험도 가중평균 + 경보 카운트
- Statistics: KPI_DATA 하드코딩 제거 → getKpiMetrics() 결과를 표 행으로

## Store mock 의존성 제거
- eventStore.alerts/MOCK_ALERTS 제거 (MobileService는 events에서 직접 추출)
- enforcementStore.plans 제거 (EnforcementPlan은 이미 직접 API 호출)
- transferStore + MOCK_TRANSFERS 완전 제거
  (ChinaFishing/TransferDetection은 RealTransshipSuspects 컴포넌트 사용)
- mock/events.ts, mock/enforcement.ts, mock/transfers.ts 파일 삭제

## RiskMap 랜덤 격자 제거
- generateGrid() Math.random() 제거 → 빈 배열 + 'AI 분석 데이터 수집 중' 안내
- MTIS 외부 통계 5개 탭에 [MTIS 외부 통계] 배지 추가

## 12개 mock 화면에 '데모 데이터' 노란색 배지 추가
- patrol/PatrolRoute, FleetOptimization
- admin/AdminPanel, DataHub, NoticeManagement, SystemConfig
- ai-operations/AIModelManagement, MLOpsPage
- field-ops/ShipAgent
- statistics/ReportManagement, ExternalService
- surveillance/MapControl

## 백엔드 NUMERIC precision 동기화
- PredictionKpi.deltaPct: 5,2 → 12,2
- PredictionStatsDaily/Monthly.aiAccuracyPct: 5,2 → 12,2
- (V015 마이그레이션과 동기화)

44 files changed, +346 / -787

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
claude-bot 이 변경사항을 승인하였습니다. 2026-04-07 15:37:25 +09:00
claude-bot left a comment
멤버

릴리즈 승인

릴리즈 승인
htlee merged commit 1c69e2cdb8 into main 2026-04-07 15:37:26 +09:00
"로그인하여 이 대화에 참여"
No reviewers
레이블 없음
마일스톤 없음
담당자 없음
참여자 2명
알림
마감일
기한이 올바르지 않거나 범위를 벗어났습니다. 'yyyy-mm-dd'형식을 사용해주십시오.

마감일이 설정되지 않았습니다.

의존성

No dependencies set.

Reference: gc/kcg-ai-monitoring#7
No description provided.