# 04. KPI 버전/이력 관리

## 목표

- KPI의 버전(Release), 이력(History), revert 등 board 패턴 기반의 버전/이력 관리 기능 완성

## 세부 작업

1. **버전/이력 관리 구조 설계**
   - [x] KPI, KpiHistory, board 서비스 구조 점검 및 설계
   - [x] Release, revert, history snapshot 등 상태/버전 관리 플로우 정의
2. **버전 확정(Release) 로직 구현**
   - [x] KPI 수정 후 Release 시점에 이력 스냅샷 생성
   - [x] Release/Unrelease, revert 등 상태 전이 로직 구현
3. **이력 조회/복원 API/화면 구현**
   - [x] KPI 이력 목록/상세/비교/복원 API 및 UI 구현 (GraphQL 쿼리/뮤테이션, 프론트 UI, 실제 동작 확인)
   - [x] 이력 복원 시 기존 KPI 덮어쓰기/새 버전 생성 정책 보완 (복원 정책 옵션화, 실제 반영)
4. **subscriber/이벤트 기반 이력 자동화**
   - [x] 엔티티 subscriber 등으로 이력 자동 생성/관리
   - [x] 상태/버전 변경 이벤트 처리 구현
5. **테스트/문서화**
   - [ ] 버전/이력 관리 시나리오별 테스트, 예시, 문서화 보완 필요

## 체크리스트

- [x] 버전/이력 관리 구조/로직/이벤트 구현
- [x] 이력 조회/복원 API, UI, 정책 구현
- [ ] 테스트/문서화 보완 필요

## 완료 기준

- [x] KPI의 버전/이력 관리 기능이 정상 동작함 (API, UI, 정책 포함)
- [ ] 테스트/문서화가 완전히 보강되어야 함 # 추가 보완 필요
