- ObjectMapper를 사용하여 todos JSON 문자열을 파싱
- TodoJson DTO 클래스 추가
- parseTodosJson() 메서드 구현
- MeetingStatisticsResponse에서 실제 Todo 개수 계산
- 에러 처리 로직 추가 (파싱 실패 시 빈 리스트 반환)
JSON 구조: [{title, assignee, dueDate, description, priority}]
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- logs/, *.log 패턴 추가
- 기존 추적되던 로그 파일 제거
- 향후 merge 충돌 방지
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Azure Event Hubs 의존성이 필요한 InMemoryCheckpointStore.java 파일 삭제
- 해당 클래스는 프로젝트에서 사용되지 않음
- GitHub Actions 빌드 에러 해결
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
회의 종료 API 및 AI 회의록 통합 기능을 main 브랜치에 병합
주요 기능:
- 회의 종료 시 AI 자동 요약 생성
- 안건별 논의사항/결정사항 자동 정리
- 주요 키워드 추출
- Todo 및 보류사항 자동 식별
충돌 해결:
- MinutesSectionEntity: id 필드명으로 통일
- AgendaSection 관련 파일들: feat/meeting-ai 버전 사용
- application.yml: AI Service 포트 8086 설정 유지
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
주요 변경사항:
- 회의 종료 API 구현 (POST /api/meetings/{meetingId}/end)
- AI 회의록 통합 요약 기능 구현
- Claude API 연동 및 프롬프트 최적화
- 안건별 요약, 키워드 추출, 결정사항 자동 정리
AI Service (Python):
- Claude 모델 설정: claude-sonnet-4-5-20250929
- 회의록 통합 프롬프트 개선
- AgendaSummary 모델 summary 필드 매핑 수정
- decisions 필드 추가 및 응답 구조 정리
- 입력 데이터 로깅 추가
Meeting Service (Java):
- EndMeetingService AI 통합 로직 구현
- MeetingAnalysis 엔티티 decisions 필드 추가
- AgendaSection opinions 필드 제거
- AI Service 포트 8086으로 설정
- DB 마이그레이션 스크립트 추가 (V7)
테스트 결과:
✅ 회의 종료 API 정상 동작
✅ AI 응답 검증 (keywords, summary, decisions)
✅ 안건별 요약 및 보류사항 추출
✅ 처리 시간: ~11초, 토큰: ~2,600
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
주요 변경사항:
- 프로토타입 백업 파일 삭제 (대시보드, 회의진행)
- 참조 이미지 파일 정리 (KakaoTalk 스크린샷 4건)
- UI/UX 설계서 및 유저스토리 업데이트
프로젝트 정리 및 문서 구조 개선
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- SecurityConfig에서 JWT 인증 제거하여 모든 요청 허용
- JwtTokenProvider 및 JwtAuthenticationFilter 의존성 제거
- 프론트엔드에서 토큰 없이 API 호출 가능하도록 수정
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- SecurityConfig에서 JWT 인증 제거하여 모든 요청 허용
- RecordingDto에 Jackson 역직렬화를 위한 어노테이션 추가
- @NoArgsConstructor, @AllArgsConstructor 추가
- @JsonDeserialize, @JsonPOJOBuilder 추가
- 프론트엔드에서 토큰 없이 API 호출 가능하도록 수정
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- AgendaSection 도메인 및 Entity에서 opinions 필드 제거
- ParticipantOpinion 내부 클래스 삭제
- MeetingAiController 및 AgendaSectionResponse에서 opinions 관련 로직 제거
- agenda_sections 테이블 마이그레이션 SQL 스크립트 추가
* agenda_number: varchar(50) → integer 변환
* decisions, pending_items, todos: text → json 변환
* opinions 컬럼 삭제
- 자동 백업 및 롤백 기능 포함
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- AI 서비스 reload 설정 비활성화 (포트 충돌 방지)
- start.sh 삭제 및 restart.sh로 대체
- STT 서비스 로깅 및 WebSocket 핸들러 개선
- 회의 안건 섹션 마이그레이션 SQL 추가
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
UI/UX 설계서 및 유저스토리 용어 일관성 개선 (v1.5.9)
주요 변경사항:
- 화면설계서: 100개 인스턴스 변경
- 유저스토리: 132개 인스턴스 변경
- 프로토타입: 34개 인스턴스 변경
- 총 266개 인스턴스 용어 통일
사용자 역할 용어 체계 완전 통일 (생성자/참여자)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
회의록 수정 화면에서 Todo 관련 내용 완전 제거
- 프로토타입(11-회의록수정.html) 검증 결과 Todo UI 미존재 확인
- Todo 관리는 회의록 상세조회 화면(10-회의록상세조회.html)에서만 가능
- 회의록 수정 화면 출력 내용에 관련회의록 추가/제거 기능 명시
수정 사항:
- 수행절차: Todo 조회 항목 제거
- 출력/결과: Todo 목록 항목 제거, 관련회의록 추가/제거 추가
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
UI/UX 설계서 및 유저스토리 용어 일관성 개선 (v1.5.9)
주요 변경사항:
- 화면설계서: 100개 인스턴스 변경
- 유저스토리: 132개 인스턴스 변경
- 프로토타입: 34개 인스턴스 변경
- 총 266개 인스턴스 용어 통일
사용자 역할 용어 체계 완전 통일 (생성자/참여자)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
유저스토리:
- UFR-TODO 참조 제거 (742, 1136-1137 라인)
- UFR-TERM-010/020/030 전체 삭제 (RAG와 기능 중복)
- 버전 업데이트: v2.4.3 → v2.4.4
- 목차에서 UFR-TERM 항목 제거
- 변경 이력 추가
UI/UX 설계서:
- Todo 서비스 매핑 제거 (96 라인)
- 09-Todo관리 화면 취소선 처리 및 제거 표시
- 09-Todo관리 섹션에 제거 안내 추가
- Todo 편집 섹션 제거 표시
- 버전 업데이트: v1.5.6 → v1.5.7
- 변경 이력 추가
- 목차 2-depth로 간소화
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
• 02-대시보드.html 수정
- 예정 회의 카드 권한 제어 개선
- 생성자/참석자 역할별 클릭 동작 차별화
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
• UFR-COLLAB-010 (회의록수정동기화) 삭제
- WebSocket 기반 실시간 동기화 기능 미구현
- MVP 스코프에서 제외됨
• UFR-COLLAB-020 (충돌해결) 삭제
- 안건 기반 충돌 방지는 UFR-COLLAB-030과 UFR-MEET-055에 통합
- Last Write Wins 정책은 UFR-MEET-055에 명시
• UFR-MEET-055 예외처리 개선
- 동시 편집 정책에 충돌 처리 상세 설명 추가
- Last Write Wins 정책 명시
• 마이크로서비스 구성 수정
- 실시간 협업 제거
- 안건별 검증완료 및 잠금 처리로 변경
- Notification 서비스 추가
• UI/UX 설계서 동기화
- 모든 UFR-COLLAB-010/020 참조를 UFR-COLLAB-030으로 변경
- 05-회의진행, 11-회의록수정 화면 관련 유저스토리 업데이트
- 화면 맵핑 테이블 수정
• 문서 버전: v2.4.2 → v2.4.3
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
## API 경로 변경
- /api/v1/ai → /api/ai 로 경로 단순화
- 최종 엔드포인트: /api/ai/suggestions/meetings/{meetingId}/stream
## Docker 컨테이너화
- Dockerfile 작성 (Python 3.11 slim 기반)
- .dockerignore 추가
- 헬스 체크 포함
## Kubernetes 배포
- Deployment 및 Service 매니페스트 작성
- Replica: 1, Port: 8087
- Liveness/Readiness Probe 설정
- 리소스 제한: CPU 250m-1000m, Memory 512Mi-1024Mi
## Secret 및 ConfigMap
- ai-secret: Claude API Key
- azure-secret: Event Hub Connection String (AI Listen Policy)
- redis-config/redis-secret: Redis 연결 정보
## Ingress 설정
- /api/ai/suggestions 경로 추가 (ai-service:8087)
- 기존 /api/ai 경로 유지 (ai:8080)
## 배포 문서
- DEPLOYMENT.md: 상세한 AKS 배포 가이드
- Docker 이미지 빌드 및 푸시
- Secret/ConfigMap 생성
- 배포 및 검증
- 트러블슈팅
## ACR 이미지
- acrdigitalgarage02.azurecr.io/hgzero/ai-service:latest
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Swagger UI를 Spring Boot 스타일(/swagger-ui.html)로 변경
- OpenAPI 스펙 개선 및 상세한 API 문서화
- 프론트엔드 연동을 위한 API-DOCUMENTATION.md 추가
- SSE 연결 예시 (JavaScript/React)
- 응답 스키마 및 TypeScript 인터페이스
- 동작 흐름 및 주의사항
- FastAPI 설정 파일(config.py) 추가
- API 엔드포인트:
- GET /api/v1/ai/suggestions/meetings/{meeting_id}/stream (SSE)
- GET /health (헬스 체크)
- GET /v3/api-docs (OpenAPI JSON)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>