# task-692: ThreadAuto 카드뉴스 캐러셀 재업로드 (task-691.1 보완)

## 배경
task-691.1에서 카드뉴스 6장을 생성했으나, `post_image()`로 커버 1장만 업로드함.
"Threads API가 캐러셀 미지원"이라고 범위 외 처리했으나 **이는 사실과 다름**.
`api/client.py:73`에 `post_carousel()` 메서드가 이미 구현되어 있음.

## 문제
- 기존 코드(`post_carousel`)를 파악하지 않고 단일 이미지로 업로드
- 카드뉴스는 5~6장 캐러셀로 올라가야 정상

## 작업

### 1. 기존 이미지 확인
이미 생성된 6장 이미지 경로:
- `/home/jay/projects/ThreadAuto/output/cardnews_20260318_164230_00.png` (커버)
- `/home/jay/projects/ThreadAuto/output/cardnews_20260318_164230_01.png` (슬라이드 1)
- `/home/jay/projects/ThreadAuto/output/cardnews_20260318_164230_02.png` (슬라이드 2)
- `/home/jay/projects/ThreadAuto/output/cardnews_20260318_164230_03.png` (슬라이드 3)
- `/home/jay/projects/ThreadAuto/output/cardnews_20260318_164230_04.png` (슬라이드 4)
- `/home/jay/projects/ThreadAuto/output/cardnews_20260318_164230_05.png` (CTA)

### 2. 이미지 공개 URL 서빙
- `publisher/image_server.py` 또는 Tailscale Funnel 활용
- 6장 모두 공개 접근 가능한 URL로 준비

### 3. 캐러셀 업로드
```python
from api.client import ThreadsClient
from auth.token_store import get_valid_token

token = get_valid_token()
client = ThreadsClient(access_token=token)

image_urls = [
    "https://..../cardnews_20260318_164230_00.png",
    "https://..../cardnews_20260318_164230_01.png",
    "https://..../cardnews_20260318_164230_02.png",
    "https://..../cardnews_20260318_164230_03.png",
    "https://..../cardnews_20260318_164230_04.png",
    "https://..../cardnews_20260318_164230_05.png",
]
caption = "AI 도구가 보험 영업의 판도를 바꾸고 있습니다..."

post_id = await client.post_carousel(image_urls, caption)
```

### 4. 결과 확인
- Threads에서 실제 6장 캐러셀로 게시되었는지 확인
- Post ID 기록
- 실패 시 에러 로그 보존 (자동 삭제 금지)

## 주의사항
- ★ `api/client.py`의 `post_carousel()` 메서드를 사용할 것
- ★ 기존 이미지 재사용 (재생성 불필요)
- ★ 이전 단일 이미지 게시물은 삭제하지 말 것 (제이회장님 확인 후 삭제)
- ★ 실패 로그 보존 필수

## 산출물
- Threads 캐러셀 게시 Post ID
- `memory/reports/task-692.md` 재업로드 결과 보고서
