@startuml 05-회의종료 !theme mono title 05. 회의 종료 및 완료 - 이벤트스토밍 플로우 actor "회의록 작성자" as User participant "회의록 시스템" as System participant "LLM" as LLM participant "캘린더 시스템" as Calendar participant "알림 시스템" as Notification == 회의 종료 == User -> System : **커맨드**: 회의 종료하기\n(데이터: 회의 ID, 종료 시간) activate System System -> System : 음성 녹음 중지 System -> System : 회의 통계 생성 System --> User : **이벤트**: 회의가 종료됨\n(데이터: 종료 시간, 회의 총 시간, 참석자 수) deactivate System == 최종 회의록 확정 == User -> System : **커맨드**: 최종 회의록 확정하기\n(데이터: 회의록 버전, 확정자) activate System System -> System : 필수 항목 누락 검사 System -> System : 최종 버전 생성 System --> User : **이벤트**: 최종 회의록이 확정됨\n(데이터: 회의록 ID, 확정 버전, 확정 시간) deactivate System note right of System **Policy/Rule**: 회의 종료 시 → AI가 자동으로 Todo 항목 추출 end note == Todo 자동 추출 == System -> LLM : **커맨드**: Todo 자동 추출하기\n(데이터: 회의록 내용, 추출 규칙) activate LLM LLM -> LLM : 회의록 내용 분석 LLM -> LLM : 액션 아이템 식별 LLM -> LLM : 담당자 자동 식별 LLM --> System : **이벤트**: Todo가 자동 추출됨\n(데이터: Todo 목록, 추출된 항목 수, 담당자 정보) deactivate LLM note right of LLM **Policy/Rule**: Todo 추출 시 → 담당자 자동 식별 (발언 내용 기반) end note == 다음 회의 일정 연동 == alt 다음 회의 일정이 언급됨 note right of System **Policy/Rule**: 다음 회의 일정이 언급되면 → 자동으로 캘린더에 등록 end note System -> Calendar : **커맨드**: 일정 연동하기\n(데이터: 일정 정보, 캘린더 ID) activate Calendar Calendar -> Calendar : 일정 생성 Calendar --> System : **이벤트**: 일정이 캘린더에 연동됨\n(데이터: 일정 ID, 연동 상태) deactivate Calendar end == 회의록 공유 == note right of System **Policy/Rule**: 회의록 확정 시 → 참석자 전원에게 자동 공유 end note System -> Notification : **커맨드**: 회의록 공유하기\n(데이터: 공유 대상, 공유 권한, 공유 방식) activate Notification Notification -> Notification : 공유 링크 생성 Notification --> System : **이벤트**: 회의록이 공유됨\n(데이터: 공유 ID, 공유 대상, 공유 시간) Notification -> User : 회의록 공유 알림 Notification --> System : **이벤트**: 알림이 발송됨\n(데이터: 알림 대상, 알림 내용) deactivate Notification note over User, Notification **Actor**: 회의록 작성자, AI 시스템 **External System**: LLM (Todo 추출), 캘린더 시스템, 알림 시스템 **커맨드 데이터**: 회의 종료 정보, 회의록 버전, 일정 정보 **이벤트 데이터**: 확정 회의록, Todo 목록, 공유 상태 end note @enduml