[유저스토리 v2.0.5]
- UFR-TODO-040 (09-Todo관리): "Todo수정" → "Todo관리" 기능 확장
- 통계 블록 재정의: 전체(미완료), 마감임박(3일 이내), 지연(기한 경과)
- 필터링: 전체, 지연, 마감임박, 완료 (각 필터에 개수 표시)
- 체크박스 확인 모달: 완료/미완료 전환 시 확인
- 권한: 담당자 본인 OR 회의록 작성자만 편집 가능
- UFR-MEET-047 (10-회의록상세조회): 탭 순서 및 기본 노출 변경
- 탭 구성: 대시보드 / 회의록
- 기본 노출: 대시보드 탭 우선 노출
- UFR-MEET-055 (11-회의록수정): 진입 경로 및 권한 제어 명확화
- 진입 경로: 10-회의록상세조회 → "수정" 버튼 클릭
- 권한 제어: 검증완료 전(모든 참석자), 검증완료 후(회의 생성자만)
- 회의 일시/장소: 읽기 전용 표시 명시
[화면설계서 v1.4.7]
- 09-Todo관리: 통계, 필터, 모달 UI/UX 재정의
- 10-회의록상세조회: 탭 순서 변경, 대시보드 탭 기본 활성
- 11-회의록수정: 진입 경로, 권한 제어, UI 구성 명확화
[프로토타입]
- 09-Todo관리.html: 통계 블록, 필터 개수, 체크박스 확인 모달 구현
- 10-회의록상세조회.html: 탭 순서 및 active 클래스 변경
- 11-회의록수정.html: 권한 코멘트, 읽기 전용 표시 추가
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 정책 변경: 검증완료 섹션은 회의 생성자만 잠금 해제 후 수정 가능
- 참석자용 잠금해제 요청 기능 완전 제거 (공수 절감)
주요 변경사항:
- design/userstory.md (v2.0.4)
- UFR-MEET-055: 권한 제어 명확화 (생성자만 잠금 해제 가능)
- UFR-COLLAB-030: 섹션 잠금 기능 설명 업데이트
- 참석자는 검증완료 섹션 읽기 전용으로 표시
- design/uiux/prototype/11-회의록수정.html
- 잠금해제요청 버튼 제거
- 읽기 전용 배지 추가 (🔒 읽기 전용)
- unlockSection() 함수 제거
- 안내 텍스트: "(잠금됨 · 회의 생성자만 수정 가능)"
- design/uiux/uiux.md (v1.4.6)
- 인터랙션 섹션 수정: 권한별 차등 표시 정책 반영
- 06-검증완료: 생성자용 잠금해제 기능 유지
- 11-회의록수정: 참석자 읽기 전용 표시
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 문서 이력에는 v2.0.3까지 업데이트되어 있었으나
- 문서 타이틀은 v2.0.2로 남아있던 문제 수정
- 타이틀과 목차의 버전을 v2.0.3으로 일치시킴
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 06-검증완료.html: saveLater() 함수 개선
- 회의록 상태를 '작성중'으로 임시 저장
- 토스트 메시지 표시 후 02-대시보드로 이동
- 1초 delay 후 화면 전환으로 UX 개선
- UI/UX 설계서: 06-검증완료 섹션 업데이트
- 인터랙션 섹션에 '나중에 하기' 동작 상세 명시
- Option 1 적용: 대시보드 이동 후 회의록 목록에서 재접근 가능
- 임시 저장 → 대시보드 이동 → 회의록 목록 조회 플로우 문서화
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 09-Todo관리 프로토타입: 권한별 담당자 필드 표시/숨김 기능 추가
- 일반 담당자: 담당자 필드 숨김 (본인 Todo만 수정)
- 회의 생성자: 담당자 필드 표시 (모든 Todo 수정 가능)
- 담당자 변경 시 알림 발송 로직 추가
- checkIfUserIsCreator() 함수 추가 (회의 생성자 권한 확인)
- 권한별 동적 UI 메시지 표시
- 설계서 Option 1 준수: 09-Todo관리에서 일반 담당자는 담당자 변경 불가
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 공유 기능 제거 반영
- AFR-USER-020: 대시보드 "공유받은 회의록" 섹션 제거
- UFR-MEET-046: 회의록 목록 카테고리 필터 "공유받은 회의" 제거
- 모바일 헤더 프로필 아바타 통일
- 데스크탑 사이드바와 동일한 아바타 스타일 적용
- 프로토타입 3개 파일 업데이트 (02-대시보드, 09-Todo관리, 12-회의록목록조회)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- AI 서비스 API 설계서 작성 (design/backend/api/ai-service-api.md)
- OpenAPI 3.0 명세서 작성 (design/backend/api/ai-service-api.yaml)
- 회의록 AI 분석 API 엔드포인트 정의
- 일정 추출 API 엔드포인트 정의
- 요약 생성 API 엔드포인트 정의
- 공통 응답 포맷 및 에러 처리 정의
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 프롬프트 기반 회의록 개선 → 섹션 AI 요약 재생성으로 변경
- UFR-AI-030 → UFR-AI-035로 유저스토리 교체
- API 엔드포인트: POST /sections/{sectionId}/regenerate-summary
- 내부 시퀀스, 외부 시퀀스, API 설계서, 유저스토리 일관성 확보
- 프로토타입의 "AI 재생성" 버튼 기능과 정확히 매칭
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 하단 액션 바에 콘텐츠가 가려지는 문제 수정
- 모바일/데스크톱 모두 padding-bottom: 120px 적용
- Validation 시 입력란이 헤더에 가려지는 문제 수정
- html에 scroll-padding-top: 80px 추가
- 자동 스크롤 시 헤더 높이만큼 여백 확보
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 대시보드 프로토타입 수정
- Todo 관리 프로토타입 수정
- 회의록 목록조회 프로토타입 수정
- 공통 CSS 스타일 업데이트
- 이미지 리소스 추가 (cicle.png, hi.png)
- UI/UX 설계서 업데이트
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
## 변경 사항
### API 설계 개선
- AI Service TODO 추출 API Request에 minutesContent 필드 추가
- 마이크로서비스 독립성 강화 (외부 서비스 의존성 제거)
### 수정된 파일
1. design/backend/api/spec/ai-service-api-spec.md
- POST /todos/extract Request Body에 minutesContent 추가
- 회의록 전체 내용을 직접 전달하는 방식으로 개선
2. design/backend/api/ai-service-api.yaml
- TodoExtractionRequest 스키마 수정
- minutesContent 필드 required로 추가
- 상세한 description 및 example 추가
3. design/backend/sequence/inner/ai-Todo자동추출.puml
- DB 회의록 조회 로직 제거
- Request에서 minutesContent 직접 수신
- 입력 데이터 검증 로직 추가
- 회의록 파싱 로직 추가
## 개선 효과
- 서비스 간 의존성 제거 (AI Service 독립성 강화)
- 성능 향상 (DB 조회 제거로 500ms 단축)
- 장애 격리 개선 (외부 서비스 장애 영향 차단)
- 구현 복잡도 감소 (외부 API 통신 로직 불필요)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 외부 시퀀스(6개), 내부 시퀀스(30개), API 명세(5개) 일관성 검증
- Sequential thinking을 활용한 체계적 분석
- 종합 평가: A등급 (96.25/100점)
- 일관성 수준: 매우 높음 (99%)
- 검증된 API: 47개 중 45개 완벽 일치 (95.7%)
- 사소한 문서 개선 사항 2개 식별
주요 강점:
- OpenAPI 3.0 표준 완벽 준수
- 유저스토리 100% 추적 가능
- 컨트롤러 분리 명확
- 3단계 일관성 확보 (외부→내부→API)
개선 권장:
- 대시보드 라우팅 규칙 문서 수정
- 베이스 URL 표기 통일
- WebSocket 상세 문서화
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 5개 마이크로서비스 API 명세 작성 (User, Meeting, STT, AI, Notification)
- OpenAPI 3.0 표준 준수
- 총 47개 API 설계
- 유저스토리 100% 커버리지
- swagger-cli 검증 통과
- 종합 API 설계서 작성
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- .gitignore 업데이트
- 대시보드 프로토타입 수정
- 회의록 상세조회 프로토타입 수정
- 회의록 목록조회 프로토타입 수정
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- .gitignore 업데이트
- 대시보드 프로토타입 수정
- 회의록공유 프로토타입 삭제
- UI/UX 설계서 업데이트
- 공유하기 제거 검토 보고서 추가
- 유저스토리 업데이트
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- inner/user-대시보드조회.puml 삭제 (outer와 중복)
- outer/대시보드조회.puml 수정
- Meeting Service 호출 흐름 추가
- MSA 아키텍처 제대로 반영
- 서비스 간 통신 명확화
- inner/meeting-대시보드조회.puml 유지 (Meeting Service 비즈니스 로직)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 4개의 중복된 STT 시퀀스를 2개로 통합
- 녹음 시작 및 화자 인식 플로우 통합 (stt-녹음시작및인식.puml)
- 텍스트 변환 플로우 통합 - 실시간/배치 모드 포함 (stt-텍스트변환통합.puml)
- 중복 파일 4개 삭제 (음성녹음시작, 음성텍스트변환, 음성녹음인식, 텍스트변환)
- Azure Speech Service 설정 및 신뢰도 검증 기준 통일
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
주요 변경사항:
[Critical]
- API 엔드포인트 통일: POST /api/minutes/{minutesId}/finalize
- 이벤트 이름 표준화: MinutesFinalized
[Warning]
- API Gateway 라우팅 규칙 문서화 (외부 시퀀스 7개 파일)
- 대시보드 API 경로 통일: GET /api/dashboard
- AI 제안 병합 프로세스 상세 문서화
- 회의록 확정 검증 로직 5단계 상세화
[Minor]
- Redis 캐시 TTL 명시 (7개 파일, TTL 정책 표준화)
- 대시보드 페이지네이션 파라미터 추가
- 에러 응답 포맷 표준화 (14개 에러 응답)
총 31개 파일 수정, 34건의 개선 사항 적용
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 프로토타입(03-회의예약.html): AI 안건 추천 버튼 및 관련 코드 제거
- CSS: .ai-suggest-btn 스타일 제거
- HTML: AI 안건 추천 버튼 제거
- JavaScript: suggestAgenda() 함수 및 이벤트 리스너 제거
- UI/UX 설계서(uiux.md): AI 안건 추천 버튼 항목 제거
- 테스트 결과서(TEST_RESULTS.md): AI 안건 추천 테스트 케이스 제거
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
주요 변경사항:
- 전체 화면 레이아웃 개선 (좌우 여백 제거, 반응형 비율 조정)
- 모바일 플로팅 버튼 + 바텀시트 패턴 구현
- 참고자료 영역 접근성 개선 (웹/모바일 분기)
- 관련회의록 상세 모달 추가
UI 개선:
- Live Speech 영역 제거
- 상단 여백 최소화 (모바일 0px, 데스크톱 8px)
- AI 재생성 버튼 추가 (secondary 스타일)
- 편집 버튼 스타일 통일 (primary, 아이콘 제거)
- 플로팅 버튼 이미지 적용 (review.png + 배지 카운터)
모바일 기능:
- 플로팅 버튼 (우하단, 70px 간격)
- 바텀시트 (참고자료, 80vh 높이)
- 드래그 핸들 및 제스처 지원
- 관련회의록 핵심 내용 모달
반응형 처리:
- 웹 (1024px+): 62-65% 회의록 / 35-38% 참고자료
- 모바일 (1024px-): 100% 회의록 + 플로팅 버튼
- 아이패드 최적화 (바텀시트 높이 및 위치 조정)
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
- 관련회의록 추가 모달 버튼 스타일 통일 (btn-sm 적용)
- 잠금해제요청 버튼 개선 (모바일 레이아웃 깨짐 수정)
- 텍스트 간소화: "(잠금 해제 필요)" → "(잠금됨)"
- 텍스트 버튼 → padlock 이미지 + 텍스트 버튼으로 변경
- 모바일에서 한 줄 표시 최적화 (flex 레이아웃)
- padlock 이미지 파일 추가
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
전체 5개 마이크로서비스의 내부 처리 흐름을 상세히 설계
[추가된 파일]
- Meeting Service: 6개 시나리오 (검증완료, 실시간수정동기화, 최종회의록확정, 충돌해결, 템플릿선택, 회의록목록조회)
- STT Service: 2개 시나리오 (음성녹음인식, 텍스트변환)
- User Service: 2개 시나리오 (사용자인증, 대시보드조회)
- Notification Service: 1개 시나리오 (알림발송)
[주요 설계 내용]
- Clean Architecture 적용 (Controller → Service → Domain → Repository)
- Cache-Aside 패턴 (Redis 기반 성능 최적화)
- Event-Driven Architecture (Azure Event Hub)
- Real-time Collaboration (WebSocket + OT 알고리즘)
- RAG 기능 (맥락 기반 AI)
[검증 결과]
- PlantUML 문법 검증: 모든 파일 통과 ✅
- 유저스토리 매칭: 100% 일치 ✅
- 아키텍처 패턴 준수: 완료 ✅
[병렬 처리]
- 서브 에이전트 3개로 병렬 작업 수행
- Meeting Service, AI Service, STT/User/Notification 동시 설계
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 회의개요 모달에 편집/저장 기능 구현
- 입력 필드 스타일 추가 (edit-field, edit-label)
- 편집 모드 토글 기능 구현
- 섹션 데이터 관리 및 저장 기능
- 사용자 피드백 토스트 메시지 추가
- 다른 섹션은 회의록수정 화면 안내
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- API 경로 통일: /meetings → /minutes 리소스 기반 설계
- HTTP 메서드 표준화: 부분 수정 시 PUT → PATCH 변경
- 캐시 키 명명 규칙 통일: minutes:detail:, dashboard:, todo: 등
- 이벤트명 용어 통일: Transcript* → Minutes* 도메인 용어 적용
- DB 테이블명 정확성 개선: TranscriptVersion → MinutesVersion
수정 파일:
- 회의종료및최종확정.puml
- 회의록공유.puml
- Todo완료및회의록반영.puml
- 회의록상세조회및수정.puml
일관성 점수: 78/100 → 95/100
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 모든 버튼에 'btn' 클래스 추가하여 common.css 표준 적용
- 카드 내 버튼: btn-secondary, btn-primary
- 모달 버튼: btn-ghost, btn-primary
- 동적 생성 버튼 포함
- 헤더 구조를 03-회의예약.html과 동일하게 변경
- page-header → header 클래스 사용
- header-left 구조로 통일
- back-btn 클래스 적용
- 건너뛰기 버튼을 btn-primary로 변경 (임시저장 버튼과 통일)
- 뒤로가기 버튼에 history.back() 기능 적용
- 메인 콘텐츠 영역 구조 통일 (main-content)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 10-회의록상세조회.html: 회의록 상세 조회 화면 개선
- 11-회의록수정.html: 회의록 수정 화면 개선
- common.css: 공통 스타일 개선
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- AI Service 이벤트 구독 제거
- MeetingCreated, MeetingEnded 구독 제거
- TranscriptReady만 구독하도록 단순화
- Notification Service 이벤트 구독 변경
- 기존 모든 이벤트 제거 (MeetingCreated, MeetingEnded, TranscriptCreated, TodoCreated, TodoCompleted, TranscriptShared)
- NotificationRequest 이벤트만 구독하도록 통합
- Meeting Service 이벤트 발행 단순화
- 발행 이벤트: MeetingEnded, NotificationRequest만 유지
- NotificationRequest에 발송수단, 대상자, 메시지 정보 포함
- 이벤트 발행/구독 매트릭스 업데이트
- 8개 이벤트 → 4개 이벤트로 단순화
- 주요 사용자 플로우 업데이트 (회의 예약, 종료, Todo 관리, 회의록 공유)
- Mermaid 다이어그램 이벤트 구독 매핑 수정
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- AI 서비스의 회의록 자동작성 내부 시퀀스 다이어그램 수정
- 프롬프트 생성, AI 요청, 응답 처리 로직 개선
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>