# 유튜브 파이프라인 확장: Whisper STT 분기 + 전문/요약 분리 + Drive/dispatch 연동

## 배경
- InsuWiki 유튜브 크롤링 시스템: 2개 채널(보험명의정닥터, 인스킹) 6시간 주기 자동 크롤링
- **문제**: 인스킹 채널은 자막이 없는 영상이 많아 기존 자막 기반 파이프라인으로 처리 불가
- **문제**: 구글드라이브에 요약만 있고 전문(full transcript)이 없음
- **문제**: project-map incremental 시스템에서 Drive 변경 추적 미구현
- **문제**: dispatch 시스템에서 --changed-files 연동 미구현

## 프로젝트 경로
- InsuWiki: `/home/jay/projects/insuwiki/`
- 메인 크롤링 엔진: `functions/src/crawlYoutubeChannels.ts`
- 3-Layer 계획서: `docs/plans/260303-youtube-3layer-plan.md`
- 3-Layer 맥락노트: `docs/plans/260303-youtube-3layer-context-note.md`
- 3-Layer 체크리스트: `docs/plans/260303-youtube-3layer-checklist.md`
- project-map 스크립트: `/home/jay/workspace/scripts/project-map.py`
- dispatch.py: `/home/jay/workspace/dispatch.py`
- task-186.1 보고서 (incremental 구현): `/home/jay/workspace/memory/reports/task-186.1.md`

## Phase 1: Whisper STT 비용 분석 + 자막 유무 자동 분기

### 목표
- 영상별 자막 유무를 자동 감지
- 자막 있으면 기존 YouTube 자막 API 사용
- 자막 없으면 Whisper STT로 음성→텍스트 변환
- **비용 구조 분석 먼저 수행** (구현 전에 비용 리포트 작성)

### 비용 분석 항목
1. **OpenAI Whisper API**: 분당 비용, 1시간 영상 기준 비용
2. **자체 호스팅 (whisper.cpp / faster-whisper)**: GPU 없이 CPU 기준 처리 시간·비용
3. **Google Cloud Speech-to-Text**: 비용 비교
4. **현재 YouTube 자막 API**: 무료 (쿼터 제한만)
5. 월간 예상 비용 (채널 2개, 신규 영상 주 3~5개 가정)

### 구현
- `crawlYoutubeChannels.ts` 수정: 자막 유무 체크 로직 추가
- Whisper STT 통합 (API or 자체 호스팅 — 비용 분석 결과에 따라 결정)
- 오디오 추출: yt-dlp로 mp3/wav 다운로드 → Whisper 처리 → 텍스트 반환
- 한국어 인식 설정 (language: 'ko')

### 비용 분석 결과 저장
- `/home/jay/workspace/memory/research/whisper-stt-cost-analysis.md`에 저장

## Phase 2: 전문(Full Transcript) + 요약 분리 저장

### 목표
- 현재: 요약만 Drive에 업로드 → **전문도 함께 저장**
- Drive 폴더 구조 개선:
  ```
  04_유튜브요약/{채널명}/
  ├── {날짜}_{제목}_요약.md    (기존 요약)
  └── {날짜}_{제목}_전문.md    (신규: 자막 전문)
  ```
- Firestore youtube_transcripts 컬렉션에 전문 청크 저장 (3-Layer L3)

### 구현
- `crawlYoutubeChannels.ts` 수정: 전문 저장 로직 추가
- Drive 업로드 시 전문·요약 별도 파일로 업로드
- Firestore youtube_transcripts에 전문 청크 저장
- 기존 영상도 재처리 가능한 백필(backfill) 스크립트 작성 (선택)

## Phase 3: 구글드라이브 연동 (project-map incremental)

### 목표
- project-map incremental 시스템에서 Drive에 업로드된 파일 변경도 추적
- task-186.1에서 "향후 과제"로 남겨둔 부분

### 구현
- `/home/jay/workspace/scripts/project-map.py`의 IncrementalUpdater 확장
- Drive 업로드 시 변경 파일 목록을 로컬 로그에 기록
- incremental update 시 Drive 로그도 참조하여 구조맵 갱신

### 참고
- task-186.1 보고서: `/home/jay/workspace/memory/reports/task-186.1.md`
- incremental spec: `/home/jay/workspace/memory/specs/project-map-incremental-spec.md`

## Phase 4: dispatch --changed-files 연동

### 목표
- 팀 작업 완료 시 보고서에서 변경 파일 목록을 자동 추출
- `project-map.py --incremental --changed-files` 자동 트리거

### 구현
- dispatch.py 또는 완료 처리 로직에서 보고서 파싱 → 파일 목록 추출
- 완료 후 자동으로 `python3 scripts/project-map.py --incremental --changed-files ...` 실행
- 또는 팀장 프롬프트에 보고서에 변경 파일 목록을 표준 형식으로 기재하도록 지시

## 공통 규칙
- Phase는 반드시 순차 진행 (1→2→3→4)
- 각 Phase 완료 시 테스트 필수
- Phase 1 비용 분석 결과를 memory/research/에 저장
- 최종 보고서에 전체 Phase 결과 통합