# task-941.1: 카드뉴스 생성 + 스레드 업로드 End-to-End 검증 (한정위임)

## 배경
- ThreadAuto 시스템이 이미 운영 중이며, 최근 시스템 업그레이드 후 전체 파이프라인 E2E 검증 필요
- 카드뉴스 V2 렌더러 + Threads 업로드가 정상 작동하는지 실전 테스트

## 프로젝트 경로
- **ThreadAuto**: `/home/jay/projects/ThreadAuto/`
- **CLI 가이드**: `/home/jay/workspace/memory/projects/threadauto/cardnews-cli-guide.md` (반드시 읽고 시작)
- **영상 규칙**: `/home/jay/workspace/memory/specs/threadauto-video-rules.md`

## 작업 범위

### Phase 1: 현재 상태 점검
1. ThreadAuto 프로젝트의 기존 테스트 실행 (`cd /home/jay/projects/ThreadAuto && python3 -m pytest tests/ -x -q`)
2. 의존성 확인 (PIL/Pillow, anthropic, requests 등)
3. .env 파일 존재 및 필수 환경변수 확인 (토큰 값 자체는 보고서에 노출 금지)
4. Threads API 토큰 유효성 확인 (.tokens/token.json)

### Phase 2: 카드뉴스 생성 테스트
1. 카드뉴스 생성 (업로드 없이): `python3 cli.py pipeline -t cardnews --source news`
2. 생성된 이미지 확인 (output/ 디렉토리, 파일 크기, 장 수)
3. 5개 테마 각각 정상 렌더링 확인
4. 브랜딩 요소 포함 확인: "서울대보험크루" badge, "서울대보험쌤" watermark, "인카다이렉트 TOP사업단" bar
5. fact_guard 검증 통과 확인

### Phase 3: 스레드 업로드 실전 테스트
1. 생성된 카드뉴스를 실제 Threads에 업로드: `python3 cli.py pipeline -t cardnews --source news --upload`
2. 또는 안전 래퍼: `python3 run_card_post.py`
3. 업로드 성공/실패 로그 전부 보존
4. Threads API 응답 코드, post_id 기록
5. **테스트 게시물 삭제 금지** — 제이회장님 확인 후에만 삭제

### Phase 4: 이슈 발견 시 수정
- 파이프라인 중 에러 발생 시 원인 분석 및 수정
- 수정한 파일 목록과 변경 내용 보고서에 기록

## 제약사항
- **외부 서비스 테스트 규칙**: 테스트 결과물(게시물)은 제이회장님 확인 후에만 삭제
- 실패 로그 보존 필수, 성공 건만 보고 금지
- 의미 있는 콘텐츠로 테스트 (검정 화면, 더미 텍스트 금지)
- API 키/토큰 값을 보고서에 노출 금지
- 카드뉴스는 반드시 `-t cardnews` 사용 (TypeA~E는 레거시)

## 산출물
1. 보고서: `memory/reports/task-941.1.md`
2. 생성된 카드뉴스 이미지 (output/ 디렉토리에 보존)
3. Threads 업로드 결과 (post_id, 성공/실패 로그)
