✅ 구현 완료
- 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>
- meet-ref.json: 회의록 작성을 위한 AI 학습 참조 데이터 추가
- 관련자료.md: 회의록 관련 참고 문서 업데이트
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 프로토타입 05-회의진행.html 4개 탭 상세 분석
- AI 메모, 용어사전, 녹음 제어 기능 누락 API 7개 식별
- 우선순위별 구현 권장 순서 제시 (P0/P1/P2)
- 유저스토리 영향도 매핑 (US-06, US-07, US-08, US-09, US-10)
주요 누락 API:
- PUT /api/meetings/{meetingId}/memo (메모 저장)
- GET /api/ai/suggestions/realtime/{meetingId} (AI 실시간 추천)
- POST /api/ai/suggestions/{suggestionId}/adopt (AI 추천 채택)
- GET /api/ai/terms/search (용어 검색)
- GET /api/ai/terms/{termName}/detail (용어 상세)
- POST /api/stt/recordings/{recordingId}/pause (녹음 일시정지)
- POST /api/stt/recordings/{recordingId}/resume (녹음 재개)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
## 변경 내용
- minutes 테이블에 user_id 컬럼 추가 (참석자별 회의록 지원)
* user_id IS NULL: AI 통합 회의록
* user_id IS NOT NULL: 참석자별 회의록
- agenda_sections 테이블 생성 (안건별 AI 요약 저장)
* agenda_number, agenda_title
* ai_summary_short, discussions, decisions (JSON)
* pending_items (JSON), opinions (JSON)
- ai_summaries 테이블 생성 (AI 결과 캐싱)
* summary_type: CONSOLIDATED, TODO_EXTRACTION
* keywords, statistics (JSON)
* processing_time_ms (성능 모니터링)
- todos 테이블 확장 (AI 추출 정보)
* extracted_by: AI, MANUAL
* section_reference: 관련 안건 참조
* extraction_confidence: 0.00~1.00
## 문서
- DB-Schema-회의종료.md: 상세 스키마 문서
- ERD-회의종료.puml: ERD 다이어그램
- 회의종료-개발계획.md: 전체 개발 계획
## 설계 개선
- is_consolidated 컬럼 제거 (user_id로 구분 가능)
- 중복 정보 제거로 데이터 일관성 향상
- API 리뷰 분석 문서 작성 (프로토타입 vs 구현)
- 전체 구현률: 85% (23/27 API)
- 완전 누락 API 4개 식별
- 개선 필요 API 2개 식별
- 치명적 누락 API 발견:
- GET /api/meetings (회의 목록 조회)
- PUT /api/meetings/{meetingId} (회의 정보 수정)
- GET /api/dashboard/statistics (대시보드 통계)
- POST .../regenerate-summary (AI 요약 재생성)
- 유저스토리 업데이트:
- UFR-MEET-011 신규 추가 (회의정보수정)
- UFR-USER-020 API 요구사항 명시
- 회의 수정 API 명세 추가
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- design/aidata 디렉토리에 회의록 작성을 위한 AI 학습 데이터 추가
- terms-01.json ~ terms-04.json: 회의록 관련 용어 및 패턴 데이터
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 유저스토리 및 화면설계서 수정 (UFR-USER-020)
- 상태 라벨 및 버튼 유지, 과도한 디자인 스펙 제거
- 버전: v1.5.4
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 유저스토리 및 화면설계서 수정 (UFR-USER-020)
- 상태 라벨(배지) 유지: "진행중", "예정", "작성중", "확정완료"
- 상태 버튼 유지: "참여하기", "수정하기", "보기"
- 생성자 아이콘(👑) 유지
- 과도한 디자인 스펙 제거: D-day 표시, 깜박임 애니메이션, 세부 색상 지정
- 버전: v1.5.4
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- PCM 16kHz 포맷 지원으로 Azure Speech 인식 성공
- WebSocket 실시간 전송 기능 추가
- DB 저장 로직 제거 (AI 서비스에서 제안사항 저장)
- AI SSE 기반 제안사항 표시 테스트 페이지 추가
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 아키텍처_최적안_결정.md 신규 생성 (ADR-000 ~ ADR-004)
- 하이브리드 접근 전략 결정: 단계적 독립 운영 → 조건부 통합
- 용어집: PostgreSQL+pgvector, 관련회의록: Azure AI Search
- 구현방안-관련자료.md: AD-000 섹션 업데이트
- 구현방안-용어집.md: ADR-000, ADR-001 업데이트 및 버전 1.1 반영
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 통신업무도메인 문서 수정
- 구현방안 관련자료 및 용어집 추가
- 컴파일된 클래스 파일 업데이트
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
전체 32개 유저스토리를 상세 마크다운 표로 정리
- 전체 유저스토리 목록 (ID, 서비스, 역할, As a/I want to/So that 포함)
- 서비스별 개수 통계 (User 2개, Meeting 16개, AI 9개, STT 2개, Notification 1개)
- 역할별 분류 (생성자 7개, 참석자 19개, 관리자 1개, 시스템 3개)
- v2.4.1 변경사항 (신규 8개, 수정 3개)
- 주요 기능별 매핑 (회의 생명주기, AI 기능, 실시간 협업, 권한 관리)
- 유저스토리 작성 규칙 및 서비스 코드 설명
- 백로그 및 향후 계획
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 목차에 2 depth 하위 항목 추가 (가독성 향상)
- 각 주요 섹션 끝에 "목차로 돌아가기" 링크 추가
- 프로토타입 화면 목록: 02-대시보드 관련 유저스토리 추가 (UFR-USER-020)
- 마크다운 표준 앵커 링크 사용 (#목차)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
회의 종료 화면 정책 명확화 및 실시간 협업 충돌 방지 개선
- UFR-MEET-040: 회의 종료 화면 확인 전용 정책 추가 및 바로 최종 확정 옵션 추가
- UFR-COLLAB-020: 안건 기반 충돌 방지 메커니즘 강화
- UFR-MEET-050: 회의 종료 화면 바로 확정 시나리오 추가
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>