# 텍스트형 Threads 포스팅: 글 작성 → 업로드

## 목표
텍스트만 있는 Threads 포스팅을 **처음부터 끝까지** 완성한다.
1. 5단계 파이프라인으로 텍스트 콘텐츠 생성
2. Threads에 실제 업로드

## 프로젝트 경로
- ThreadAuto: `/home/jay/projects/ThreadAuto/`

## ★ 이전 피드백 및 방법론 (반드시 준수)
- 구어체 필수: ~거든요, ~인 거임, ~해봄, ~더라고요
- AI 냄새 절대 금지: "안녕하세요", "오늘은 ~에 대해", "여러분", "또한", "아울러" 등
- 이모지 최대 2개, 해시태그 최대 3개
- fact_db에 있는 수치만 인용 (임의 수치 생성 금지)
- 의미 있는 보험 도메인 콘텐츠

## ★ task-660.1에서 추가된 방법론 (반영 확인)
- "추상어보다 현실 장면" 규칙 적용
- "1포스트 = 1메시지" 원칙
- 성공 훅 재활용 (hook_bank 참조)
- master_brief 톤 가이드 반영
- 낚시 표현 자제

## ★ 레퍼런스 스타일 (@ai__frontier, 조회 1.4만)
```
솔직히 말하자.

AI로 글 쓰면 조회수 안 나온다.
왜냐면 AI는 평균을 만든다.
```
- 극도로 짧은 문장
- 한 줄에 1개 아이디어
- 빈 줄로 호흡 조절
- 직접적, 단정적 진입

## 실행 절차

### 1단계: 텍스트 콘텐츠 생성
```python
cd /home/jay/projects/ThreadAuto
python3 -c "
from content.five_stage_pipeline import FiveStagePipeline
import json

topic = {
    'id': 'text_test_brand_sns',
    'title': '보험설계사 SNS 퍼스널 브랜딩',
    'category': '정보제공',
    'tags': ['SNS', '퍼스널브랜딩', '보험설계사']
}

pipeline = FiveStagePipeline()
result = pipeline.generate(topic=topic, content_type='text_insight')
with open('output/text_content.json', 'w') as f:
    json.dump(result, f, ensure_ascii=False, indent=2)
print('텍스트 콘텐츠 생성 완료')
print(f'검수 점수: {result.get(\"pipeline_metadata\", {}).get(\"review_score\", \"N/A\")}')

# 생성된 텍스트 출력
text = result.get('text', result.get('caption', ''))
print(f'\\n=== 생성된 텍스트 ===\\n{text}')
"
```

### 2단계: AI 냄새 검증 (업로드 전 필수)
- [ ] "안녕하세요", "여러분", "또한", "아울러" 등 금지어 없는지
- [ ] 구어체 사용 여부 (~거든요, ~더라고요 등)
- [ ] 글자수 범위 충족 (text_insight: 90~140자)
- [ ] 이모지 2개 이하, 해시태그 3개 이하
- [ ] fact_db에 없는 수치 사용 여부
- 위반 발견 시 수동으로 수정 후 진행

### 3단계: Threads 업로드
- 텍스트만 업로드 (이미지/영상 없음)
- `publisher/threads_publisher.py` 사용
- 또는 `api/client.py`의 `ThreadsClient.post_text()` 직접 호출

업로드 후:
- threads_post_id 기록
- 게시물 URL 기록

## 검증
1. 텍스트가 자연스러운 구어체인지 (AI 냄새 0%)
2. 글자수 규칙 충족하는지
3. Threads에 정상 게시되었는지

## 산출물
1. 보고서: `memory/reports/task-665.1.md`
2. 콘텐츠 JSON: `output/text_content.json`
3. Threads 게시물 URL