# task-706.1: Threads 텍스트 포스트 1건 업로드 (보험저널 업계동향)

## 작업 내용
보험저널 업계동향 뉴스를 기반으로 text_data 포스트 1건을 생성하고 Threads에 업로드한다.

## 실행 절차

### 1단계: 뉴스캐시에서 업계동향 토픽 선택
```python
import json
with open('/home/jay/projects/ThreadAuto/content/news_cache.json') as f:
    articles = json.load(f)
# 수수료 분급제 기사 (index 2)
article = articles[2]
topic = {
    'id': 'news-rss-insjournal-30538',
    'category': '업계동향',
    'title': article['title'],
    'description': article['summary'],
    'card_type': 'T',
    'keywords': ['수수료분급제', 'GA', '보험영업'],
    'used_count': 0, 'last_used': None,
}
```

### 2단계: 5-stage 파이프라인으로 text_data 생성
```python
from content.five_stage_pipeline import FiveStagePipeline
pipeline = FiveStagePipeline()
content = pipeline.generate(topic, 'text_data', context=article['summary'])
text = content.get('text', '')
```
- TEXT_CHAR_LIMITS 하드 리밋이 적용되어 120자 이내로 강제됨
- 줄바꿈(\n) 규칙이 적용되어야 함 (10~15자/줄, \n\n 단락구분)

### 3단계: Threads 업로드
```python
from publisher.threads_publisher import ThreadsPublisher
publisher = ThreadsPublisher()
result = publisher.publish({'content': {'caption': text}})
```
- publish() 사용 (publish_text 아님!)
- image_path/video_path 없으면 자동으로 텍스트 전용 포스트

### 4단계: 결과 검증
- 생성된 text의 순수 자수(줄바꿈 제외) 확인: 80~120자 이내인지
- 줄바꿈(\n) 포함 여부 확인
- Threads post_id 확인

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

## 주의사항
- 토큰 저장소: `auth.token_store` (`.env.keys`에 없음)
- Threads API 텍스트 500자 제한 (현행 자수 규칙이면 초과 안 함)
- 면책 문구 `AUTO_POST_DISCLAIMER`가 `_build_caption`에서 자동 추가됨

## 작업 완료 시
- `python3 /home/jay/workspace/memory/task-timer.py end task-706.1`