- 250826_slack_id_column_standardization.md: 새 문서 생성
- gmail_tokens.slack_id → slack_user_id 변경 계획
- 테이블별 현황 및 영향도 분석
- 3단계 마이그레이션 전략
- 250826_id_체계_정리_및_conversation_logs_문제_해결.md: 참조 링크 추가
- 1차 시도: UUID 변환 (Foreign key 위반 발생)
- 2차 해결: users 테이블 확인 로직 추가
- 등록 사용자만 user_id, 비등록은 slack_user_id 사용
- Foreign key 제약 유지하며 모든 대화 저장 가능
- 커밋: 84d124a, 5a0af8a
- iptables 7개 IP 차단 완료
- 규칙 영구 저장 완료 (/etc/iptables/rules.v4)
- 차단 실행 결과 섹션 추가
- 상태를 '차단 완료'로 변경
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- PHPUnit RCE 및 .env 탈취 시도 분석
- 공격자 IP 목록 및 패턴 정리
- iptables, fail2ban, nginx 보안 설정 방안
- 모니터링 및 장기 대책 포함
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 채팅 엔드포인트: 해결 완료 (rb8001에 /api/message 추가됨)
- robeing_id undefined: Frontend 초기화 타이밍 문제 발견
- Gateway 캐시가 undefined 저장하는 문제 확인
- Frontend game-layout.tsx 수정 필요 사항 명시
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 문제 상황 분석 (Gateway는 정상, rb8001에 엔드포인트 없음)
- 3가지 해결 방안 비교 분석
- 방안 A 선택: rb8001에 /api/message 엔드포인트 추가
- 구체적인 구현 코드 및 테스트 방법 제시
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- gmail-token-slack-id-migration.md → troubleshooting/250825_gmail_token_slack_id_migration.md
- postgresql_ssh_tunnel_guide.md → 300_architecture/database/250820_postgresql_ssh_tunnel_guide.md
- robeing-monitor-integration.md → troubleshooting/250817_robeing_monitor_integration.md
날짜 prefix 추가 및 적절한 디렉토리로 이동
- 매일 9시 브리핑 이메일 수집 실패 문제 (3명 사용자 영향)
- 모든 사용자 token_data=NULL 상태 분석
- 단계별 해결 방안 제시:
- 즉시: 관리자 대신 OAuth 인증
- 중기: 사용자 재인증 유도
- 장기: 자동 토큰 갱신 구현
- 1시간 내 실행 가능한 상세 가이드 포함
- daily_briefing_sequences.md: rb8001 매일 9시 브리핑 시스템 완전 문서화
- 정상 작동 시퀀스, 현재 실패 시퀀스, 토큰 갱신 플로우 포함
- Gmail 토큰 NULL 문제로 이메일 수집 실패 상황 명시
- 250825_robeing_stats_display_issue.md: 프론트엔드 로빙 상태 미표시 문제
- 프론트엔드 하드코딩, 51124 서버 DB 미조회 문제 분석
- 문제 플로우 다이어그램 및 해결 방안 제시
- Document auth-server JWT username fix
- Document frontend dynamic robeing ID implementation
- Analyze rb8001 hardcoded stats problem
- Propose Gateway DB query solution
- Include API call flow analysis
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
- 크론잡 방식이 아닌 API 호출 시점 자동 갱신이 정상 패턴임을 명확화
- skill-email과 rb8001의 토큰 만료 체크 로직 부재 문제 지적
- 모든 사용자 토큰 수동 갱신 완료 (0914eagle, cdctfm, happybell80)
- OAuth client 정보 환경변수와 일치하도록 수정
- 정상 구현 패턴 코드 예시 추가
- 해결된 부분과 미해결 문제 명확히 구분
- Gmail 토큰 자동 갱신 timezone 버그 상세 분석 추가
- auth-server의 datetime.now() UTC 처리 문제
- API는 정상 작동하나 expiry 필드 잘못 저장
- 로컬 개발자를 위한 즉시 수정 액션 아이템 추가
- app/api/gmail_refresh.py:132 수정 필요
- timezone.utc 사용 권장
- 불필요한 중복 해결책 제거, 현재 문제에 집중
- 루트 디렉토리의 트러블슈팅 문서들을 troubleshooting 폴더로 이동
- rb8001 일일 요약 크론잡 실패 분석 문서에 OAuth 토큰 검증 결과 추가
- 토큰 만료 상태 상세 확인 (모든 토큰 24시간 이상 만료)
- auth-server 정상 작동 확인
- 자동 갱신 실패 원인 분석 섹션 추가
- skill-email DB 연결 성공 확인 (auth_db → main_db)
- Gmail OAuth 토큰 NULL 문제 상세 기록
- 해결 조치사항 및 남은 문제점 업데이트
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- tables.md: 실제 DB 구조에 맞게 수정
- gmail_tokens 테이블 추가 컬럼 반영 (access_token, refresh_token 등)
- robeing_stats 테이블 컬럼 수정 (email_sent_count 제거, name 추가)
- 테이블 소유자 정보 업데이트
- gmail_tokens_old 백업 테이블 문서화
- rb8001 일일 요약 크론잡 실패 분석 문서 신규 작성
- Gateway-rb8001-skill 서비스 간 플로우 문서화
- skill-email 500 에러 원인 분석 (auth_db 부재)
- 해결 방안 및 모니터링 포인트 제시