- 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>
- 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>
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>
✅ 구현 완료
- AI Python Service (FastAPI, Claude API, 8087 포트)
- POST /api/v1/transcripts/consolidate
- 참석자별 회의록 → AI 통합 분석
- 키워드/안건별 요약/Todo 추출
- Meeting Service AI 통합
- EndMeetingService (@Primary)
- AIServiceClient (RestTemplate, 30초 timeout)
- AI 분석 결과 저장 (meeting_analysis, todos)
- 회의 상태 COMPLETED 처리
- DTO 구조 (간소화)
- ConsolidateRequest/Response
- MeetingEndDTO
- Todo 제목만 포함 (담당자/마감일 제거)
📝 기술스택
- Python: FastAPI, anthropic 0.71.0, psycopg2
- Java: Spring Boot, RestTemplate
- Claude: claude-3-5-sonnet-20241022
🔧 주요 이슈 해결
- 포트 충돌: 8086(feature/stt-ai) → 8087(feat/meeting-ai)
- Bean 충돌: @Primary 추가
- YAML 문법: ai.service.url 구조 수정
- anthropic 라이브러리 업그레이드
📚 테스트 가이드 및 스크립트 작성
- claude/MEETING-AI-TEST-GUIDE.md
- test-meeting-ai.sh
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
## 구현 내용
- 참석자별 회의록 조회 API (GET /api/meetings/{meetingId}/ai/participant-minutes)
- 안건별 섹션 조회 API (GET /api/meetings/{meetingId}/ai/agenda-sections)
- 회의 통계 조회 API (GET /api/meetings/{meetingId}/ai/statistics)
## DB 스키마 변경
- V4 마이그레이션: agenda_sections 테이블에 todos JSON 컬럼 추가
- AI가 추출한 Todo를 안건별로 저장하는 구조
## 주요 특징
- AI Service가 한 번에 요약 + Todo 추출
- 프로토타입 기반 요구사항 반영 (불필요한 통계 제거)
- Todo 수를 agenda_sections의 todos 컬럼에서 집계
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- .vscode/settings.json 위치 조정
- claudedocs 백업 파일 무시 패턴 추가
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
프로토타입 기반 화면별 기능과 실제 구현된 API를 종합 분석하여 문서화
- 9개 화면별 필요 API 매핑
- 구현된 API 27개 분석
- 누락된 API 26개 식별
- 우선순위 높은 누락 API 6개 선정
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>