# 작업 지시서: 보험저널 기반 텍스트 Threads 업로드

## 작업 ID: task-1047.1
## 레벨: Lv.1
## 프로젝트: ThreadAuto (`/home/jay/projects/ThreadAuto/`)

## 목표
보험저널(insjournal) 뉴스 기반으로 텍스트 콘텐츠를 생성하여 Threads에 업로드한다.

## 실행 절차

### 1. 보험저널 뉴스 소스 확인
- 뉴스캐시: `/home/jay/projects/ThreadAuto/content/news_cache.json`
- source가 "보험저널"인 최신 기사 중 relevance_score가 높은 것을 선택
- 이미 사용된 기사(`theme_history.json`) 확인하여 중복 방지

### 2. 텍스트 생성
- `text_type`: `text_insight` (업계 인사이트 타입)
- 기존 파이프라인 활용: `run_text_post.py` 참고
- 단, topic을 랜덤 선택이 아니라 **보험저널 뉴스캐시에서 직접 선택**하여 generate 호출
- TextContentGenerator.generate(topic=선택된_뉴스_토픽, text_type="text_insight")

### 3. 검증
- fact_guard 수치 검증 통과 필수 (validate_numbers)
- AI 냄새 블랙리스트 체크 (TextContentGenerator 내장)
- master_brief.md 톤/목소리 가이드 준수

### 4. Threads 업로드
- ThreadsPublisher.publish() 사용
- 텍스트 전용 포스트 (이미지 없음)
- 해시태그 포함

### 5. 결과 보고
- 업로드된 텍스트 전문
- post_id
- 사용한 뉴스 기사 제목/URL
- 성공/실패 여부

## 핵심 파일
- 뉴스캐시: `content/news_cache.json`
- 텍스트생성기: `content/text_generator.py` (TextContentGenerator)
- 토픽셀렉터: `content/topic_selector.py`
- 팩트가드: `content/fact_guard.py`
- 퍼블리셔: `publisher/threads_publisher.py`
- 실행 참고: `run_text_post.py`
- 브랜드 가이드: `prompts/master_brief.md`
- 프롬프트: `content/text_prompts.py`

## 주의사항
- **서울대보험쌤** 페르소나로 작성
- 타사 직접 언급 금지
- 확정적 수익 보장 표현 금지
- fact_db.md에 없는 수치 생성 절대 금지
- "잔존수당" 용어 사용 금지 → "잔여수수료"로