# task: 영상 피드백 반영 (나레이션-화면 분리 + 텍스트 크기) + 콘텐츠 규칙 + 재업로드

## 피드백 1: 나레이션-화면텍스트 분리 (핵심)

현재 문제: 영상의 텍스트를 나레이션이 그냥 읽는 형태. 화면 텍스트 = TTS 텍스트 동일.

### 올바른 구조:
- **나레이션(TTS)**: 자연스러운 설명 스크립트 (구어체, 상세 설명)
- **화면 텍스트**: 나레이션 내용을 **요약**해서 보여주는 핵심 키워드/문장
- **Sync 필수**: 나레이션이 해당 내용을 말할 때 해당 화면이 표시

### 구현 방향:
1. **5단계 파이프라인 수정** — 슬라이드 생성 시 2종 텍스트 출력:
   - `narration`: TTS용 자연스러운 설명 문장 (예: "매달 나가는 보험료, 혹시 새고 있진 않으신가요? 실제로 많은 분들이...")
   - `display_text` 또는 기존 `title`/`description`: 화면 표시용 요약 (예: "보험료, 새고 있진 않나요?")
   - 슬라이드 JSON 구조에 `narration` 필드 추가
2. **프롬프트 수정** — `/home/jay/projects/ThreadAuto/prompts/pipeline/03_writing.md`에 규칙 추가:
   - "영상용 슬라이드는 narration 필드에 TTS 스크립트를, title/description에 화면 요약을 작성한다"
   - "narration은 구어체로 자연스럽게, 화면 텍스트는 핵심만 간결하게"
3. **extract_narration_texts()** — `pipeline_orchestrator.py`에서 slides의 `narration` 필드를 우선 사용, 없으면 기존 title/description fallback
4. **화면 렌더링** — `evan_dynamic.py`의 `generate_scenes_from_slides()`는 기존대로 title/description 사용 (화면 표시용)

### 핵심 원리:
```
슬라이드 = {
    "title": "보험료 새는 3가지 패턴",          ← 화면에 표시
    "description": "특약 중복 / 갱신형 / 미청구",  ← 화면에 표시
    "narration": "매달 나가는 보험료, 혹시 새고 있진 않으신가요? 보험료가 새는 패턴은 크게 세 가지입니다. 특약이 중복되어 있거나, 갱신형으로 되어 있거나, 청구를 안 하고 있는 경우죠."  ← TTS가 읽음
}
```

## 피드백 2: 텍스트 크기 1.3배

- `/home/jay/projects/ThreadAuto/video/evan_dynamic.py`의 `generate_scenes_from_slides()` 함수에서 font_size 값을 전반적으로 1.3배 키움
- 현재 추정: title=72, body=48, label=36 → title=94, body=62, label=47 (반올림)
- 기존 `generate_insurance_scenes()`의 font_size도 확인하여 일관성 유지

## 콘텐츠 정체성 규칙 (프롬프트 반영 필수)

`/home/jay/projects/ThreadAuto/prompts/pipeline/03_writing.md`에 아래 규칙 추가:

### 조직 구조 정확성 규칙
- 인카다이렉트 = 상위 조직 전체. 서울대보험쌤그룹 = 하위 그룹.
- AI 활용, DB 수집 자동화 = 서울대보험쌤그룹이 잘 하는 것
- ❌ "AI 시스템 덕분에 인카다이렉트가 성장" — 금지 (인과관계 오류)
- ❌ 조직 전체에 AI 귀속 — 금지
- ✅ "서울대보험쌤그룹에서 AI를 활용해..." — 올바른 표현
- 상세 규칙: `/home/jay/workspace/memory/specs/content-identity-rules.md` 참조

`/home/jay/projects/ThreadAuto/prompts/master_brief.md`에도 해당 내용 추가 (이미 조직 구조 섹션이 있으면 거기에, 없으면 신규 섹션)

## Threads 업로드
- 수정 완료 후 영상 1건 생성하여 Threads에 업로드
- 토픽: 자유 선택 (보험/연금 도메인, AI 관련 토픽 선택 시 위 정체성 규칙 준수)
- 업로드 모듈: `/home/jay/projects/ThreadAuto/publisher/threads_publisher.py`

## 주의사항
- 기존 에반 6원칙 유지
- narration 필드가 없는 legacy 슬라이드에서도 정상 동작하도록 fallback 필수
- Remotion 관련 코드/디렉토리 삭제하지 말 것