docs: 로빙 일기 시스템 계획 상세화

- activity_log 테이블 추가 (스킬 실행 자동 기록)
- 생성 시간 오전 2시/3시로 변경
- DB만 저장 + API 동적 생성 방식으로 변경
- 관리자 대시보드 상세 추가
- 전날 00:00~23:59:59 시간 범위 명시
- 모든 활동 기록 목적 명확화
This commit is contained in:
Claude-51124 2025-12-09 16:10:30 +09:00
parent 2c8cf707d2
commit 98af2b019b

View File

@ -27,31 +27,44 @@
## 요구사항
1. **자동 생성**: 하루/세션 단위 자동 일기 생성
2. **감정 반영**: 주요 감정, 감정 변화 요약
3. **문제 정리**: 장애/실패/리뷰 큐 기반 "배운 점" 서술
4. **저장**: 마크다운 파일 + DB (robeing_diary 테이블)
5. **조회**: 운영자 md 파일 조회, 향후 대시보드 확장
1. **자동 생성**: 매일 오전 2시 또는 3시에 전날(00:00~23:59:59) 일기 자동 생성
2. **모든 활동 기록**: 사용자 대화, 자동 스킬 실행(이메일 요약, 뉴스 게시, 브리핑 등), 스케줄러 작업, 에러/경고 로그 포함
3. **감정 반영**: 주요 감정, 감정 변화 요약
4. **문제 정리**: 장애/실패/리뷰 큐 기반 "배운 점" 서술
5. **저장**: DB만 저장 (robeing_diary 테이블), 조회 시 API로 마크다운 동적 생성
6. **조회**: 관리자 대시보드 일기 목록/상세 페이지, 선택적으로 DOCS 동기화
---
## 아키텍처
### 1. 데이터 수집
- rb8001의 대화/감정/리뷰 큐/에러 로그 집계
- Diary Aggregator 함수
- **대화 데이터**: `conversation_log` (사용자 대화, intent, confidence)
- **활동 데이터**: `activity_log` (자동 스킬 실행: 이메일 요약, 뉴스 게시, 브리핑 등)
- **감정 데이터**: `emotion_readings` (감정 변화, 지배적 감정, 엔트로피)
- **성장 데이터**: `robeing` 테이블 (스탯, 경험치, 레벨업)
- **문제 데이터**: `intent_review_queue` (리뷰 이슈), 애플리케이션 로그 (ERROR/WARNING)
- **시간 범위**: 전날 00:00:00 ~ 23:59:59
- **Diary Aggregator 함수**: 모든 데이터 집계
### 2. 요약·서술
### 2. 활동 로그 기록
- 스킬 실행 시 자동으로 `activity_log` 테이블에 기록 (스킬명, 실행 시간, 결과, 에러 발생 여부)
- 모든 로빙 활동을 추적하여 일기 집계에 포함
### 3. 요약·서술
- 구조화 데이터(JSON) → 일기 텍스트
- 템플릿 + LLM 조합
- 섹션: "오늘 한 일", "감정 상태", "문제와 배운 점", "내일 계획"
### 3. 저장
- **DB**: `robeing_diary(date, robeing_id, summary, dominant_emotion, stats JSONB)`
- **파일**: `DOCS/journey/diary/rb8001/yymmdd_오늘주제.md` (예: `251209_오늘의_성장.md`)
### 4. 저장
- **DB**: `robeing_diary(date, robeing_id, summary, dominant_emotion, stats JSONB, full_content TEXT)`
- **파일**: 저장하지 않음 (API로 동적 생성)
- **로빙별 구분**: `robeing_id` 컬럼으로 각 로빙별 일기 관리
### 4. 조회
- 1단계: 서버에서 md 파일 직접 조회
- 2단계: 관리자 대시보드 일기 목록/상세 보기
### 5. 조회
- **API**: rb8001에 `/api/diary/{date}` 엔드포인트 추가 (DB 조회 후 마크다운 동적 생성)
- **관리자 대시보드**: admin-dashboard에 일기 목록/상세 페이지 추가
- **DOCS 동기화**: 선택적으로 별도 스크립트로 `DOCS/journey/diary/rb8001/yymmdd_주제.md`에 주기적 동기화
---
@ -77,11 +90,14 @@
## 구현 단계
1. Diary Aggregator 스키마 정의
2. TDD 테스트 작성
3. 집계 로직 + md 템플릿 구현
4. DB/파일 저장 연결
5. 스케줄러 등록 (매일 자정)
1. **DB 테이블 생성**: `robeing_diary` 테이블, `activity_log` 테이블 생성
2. **활동 로그 기록**: 스킬 실행 시 `activity_log`에 자동 기록 로직 추가
3. **Diary Aggregator 구현**: 모든 데이터 소스 집계 로직 구현
4. **일기 생성 로직**: LLM으로 일기 텍스트 생성, `robeing_diary`에 저장
5. **API 엔드포인트**: rb8001에 `/api/diary/{date}` 추가 (마크다운 동적 생성)
6. **관리자 대시보드**: admin-dashboard에 일기 목록/상세 페이지 추가
7. **스케줄러 등록**: 매일 오전 2시 또는 3시에 전날 일기 생성
8. **DOCS 동기화 스크립트**: 선택적으로 별도 스크립트로 DOCS 동기화
---