Git pull로 확인한 결과:
- auth-server: slack_id 사용 안함
- robeing-monitor: slack_user_id 이미 적용 (items.py:316)
- skill-email: slack_user_id 이미 적용 (db_credentials_provider.py:68)
- rb8001: DB 조회시 slack_user_id 사용
DB 컬럼명 변경에 따른 코드 수정 불필요 확인
- gmail_tokens.slack_id → slack_user_id 변경 완료 확인
- user_preferences 테이블 생성 완료 확인
- 뉴스 키워드 하드코딩 제거 코드 배포 완료
- 인덱스 생성 확인 (idx_gmail_tokens_slack_user_id)
모든 DB 작업과 코드 수정이 완료됨
- 중복 문서 250826_happybell80_사용자별설정_구현.md 삭제
- 250826_id_체계_정리 문서에 완료 현황 업데이트
- 뉴스 키워드 하드코딩 제거 완료 (커밋: aed931e)
- 이메일 요약 프롬프트 수정 완료 (커밋: 7103599)
- 상태를 '대부분 해결'로 변경
- Slack ID 컬럼명 불일치 문제 분석
- 뉴스 키워드 하드코딩 해결 과정
- user_preferences 테이블 설계 및 구현
- rb8001 코드 수정 내역 (커밋: aed931e, 7103599)
주요 성과:
- 사용자별 맞춤 뉴스 키워드 설정 가능
- 하드코딩 제거로 유연성 향상
- DB 스키마 일관성 개선 준비
- 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>