# 작업 보고: task-1095.1
- 팀: dev2-team (오딘)
- 작업 내용: YouTube 전사/요약 파이프라인 에이전트 미팅 — InsuWiki 지적자산화 Best 구현 방안 도출
- 생성/수정 파일:
  - `/home/jay/workspace/memory/meetings/2026-03-26-youtube-knowledge-pipeline.md` (신규)
  - `/home/jay/workspace/memory/reports/task-1095.1.md` (신규)
- 테스트 결과: N/A (설계 미팅, 코드 변경 없음)
- 비고: 제이회장님 직접 지시로 에이전트 미팅 소집

## 미팅 개요
- 참석: 토르(백엔드), 프레이야(프론트), 미미르(UX/IA), 헤임달(QA), 로키(레드팀)
- 모드: hybrid, 깊이: thorough
- 사이클: 2회 (Independent → DA Round)

## 미팅 배경
- 기존 InsuWiki Cloud Functions 파이프라인(crawlYoutubeChannels.ts)이 YouTube API 변경으로 Track A/B 실패
- task-1094.1에서 Whisper GPU 서비스에 youtube-transcribe 엔드포인트 추가 완료
- 제이회장님 컨셉: "서버에서 단순하게 — 신규 영상 체크 → 전사 → 요약 → Drive 업로드 → Firestore 메타데이터"
- 핵심 목적: 유튜브 보험 콘텐츠를 InsuWiki 검색 가능한 지적자산으로 만듦

## 최종 합의 사항

### 1. 아키텍처: 서버 Python 파이프라인 (Cloud Functions 폐기)
- 아누 서버(100.76.130.39)에서 Python 스크립트로 전체 파이프라인 실행
- Whisper GPU와 같은 서버 → 네트워크 홉 제거, 타임아웃 제한 없음
- Firestore: Python firebase-admin SDK (서비스 계정 키)
- Google Drive: Python google-api-python-client
- 기존 Cloud Functions는 Python 파이프라인 2주 안정화 후 폐기

### 2. 파이프라인 흐름
```
크론 6시간 → YouTube API 신규 영상 체크
→ 전사 3-tier: YouTube 자막 우선 → Whisper fallback → 제목+설명 fallback
→ Gemini 2.5 Flash 요약 (제목+설명만인 영상은 요약 생성 금지)
→ Google Drive 업로드 (전사파일 + 요약파일)
→ Firestore youtube_knowledge 메타데이터 저장
→ Google Sheets 승인 큐에 행 추가
→ 제이회장님 승인 후 insurance_chunks RAG 인덱스 반영
```

### 3. 금소법 대응: Google Sheets 승인 큐
- 처리 결과를 Google Sheets에 자동 기록
- 제이회장님이 체크박스로 승인 → 승인된 것만 InsuWiki RAG 반영
- 수치(숫자+단위) 포함 요약은 노란색 경고 표시
- 로키(레드팀) 제안, DA 라운드에서 채택

### 4. InsuWiki 프론트엔드 (Phase 분리)
- Phase 1: insurance_chunks에서 youtube sourceType 분리 + AnswerCard 배지 개선
- Phase 2 (100개 도달 시): /youtube 독립 탐색 페이지
- Phase 3 (500개 도달 시): 주제 태그, 채널 프로필

### 5. 모니터링 필수
- 파이프라인 실행 후 Telegram 보고 (크론 조용한 실패 방지)
- Whisper 서비스 health check (크론 실행 전)
- Drive OAuth2 토큰 만료 사전 알림

## 레드팀 주요 지적 사항
- **#1 CRITICAL**: 잘못된 전사→금소법 위반 위험. conflictsWithPolicy 항상 false, 인간 검토 없이 RAG 즉시 노출 → 승인 큐로 해결
- **#2**: Cloud Function localhost 호출 구조적 결함 → 서버 Python으로 이전하여 해결
- **#3**: 단일 GPU 서버 SPOF → 모니터링으로 대응
- **#4**: YouTube ToS 위반 (yt-dlp) → 자막 우선, Whisper는 fallback으로만

## 미해결 항목
- Google Sheets 승인 큐 구체적 시트 구조 설계
- Apps Script → Firestore 반영 스크립트 구현
- conflictsWithPolicy 자동 감지 로직 (Phase 2)
- Firebase 서비스 계정 키 파일 보안 관리

## 산출물
- 미팅 기록: `/home/jay/workspace/memory/meetings/2026-03-26-youtube-knowledge-pipeline.md`

## 다음 단계
- 서버 Python 파이프라인 구현 위임 (Lv.3)
- Google Sheets 승인 큐 구현
- InsuWiki 프론트엔드 Phase 1 별도 위임
