# task-770.1 카드뉴스 스레드 업로드 보고서

## S - Situation
ThreadAuto 시스템의 카드뉴스형 콘텐츠를 Threads 플랫폼에 자동 업로드하는 정기 작업이 예정되어 있다.

## C - Complication
카드뉴스는 AI 생성 콘텐츠로 수치 오류가 포함될 수 있어 fact_guard 검증을 반드시 통과해야 하며, 6장 슬라이드 이미지를 Carousel 형태로 Threads API에 업로드해야 한다.

## Q - Question
fact_guard 검증을 통과한 카드뉴스를 Threads에 정상 업로드할 수 있는가?

## A - Answer
`run_card_post.py` 실행 결과, fact_guard 수치 검증 1회 시도 만에 통과하고 Threads 업로드까지 성공 완료. 토픽 선택부터 업로드까지 약 13분 소요. post_id: `18061835126681564`.

---

## 실행 결과

- **스크립트**: `python3 /home/jay/projects/ThreadAuto/run_card_post.py`
- **exit code**: 0
- **토픽**: "3년 만에 본부 5개·지점 10개·구성원 200명: 성장 구조 분석" (카테고리: 정보제공)
- **카드 타입**: I (정보제공형)
- **슬라이드 수**: 6장
- **fact_guard 검증**: 1회차 통과
- **Threads 업로드**: 성공
- **post_id**: `18061835126681564`
- **title**: "성장의 공식"
- **caption**: "수수료 매출이 1,863% 오른 조직이 만들어낸 시스템..." (123자)

### 생성 이미지 파일
1. `/home/jay/projects/ThreadAuto/output/cardnews_20260321_230943_00.png`
2. `/home/jay/projects/ThreadAuto/output/cardnews_20260321_230943_01.png`
3. `/home/jay/projects/ThreadAuto/output/cardnews_20260321_230943_02.png`
4. `/home/jay/projects/ThreadAuto/output/cardnews_20260321_230943_03.png`
5. `/home/jay/projects/ThreadAuto/output/cardnews_20260321_230943_04.png`
6. `/home/jay/projects/ThreadAuto/output/cardnews_20260321_230943_05.png`

### 결과 JSON 저장 경로
`/home/jay/projects/ThreadAuto/output/cardnews_post_result.json`

---

## 발견 이슈 및 해결

### 자체 해결 (0건)
해당 없음 (스크립트 정상 실행)

### 범위 외 미해결 (2건)
1. **Firestore 초기화 실패 → 로컬 파일 폴백** — 범위 외 사유: ADC(Application Default Credentials) 미설정은 인프라 설정 이슈. 로컬 파일 폴백으로 정상 동작하여 업로드에 영향 없음.
2. **hashtags 빈 배열 반환** — 범위 외 사유: 파이프라인 생성 결과의 hashtags가 빈 배열이나 업로드 성공에는 무관. 콘텐츠 파이프라인 개선 이슈.

---

## 셀프 QC

- [x] 1. 다른 파일 영향: 없음 (기존 스크립트 실행만, 코드 수정 없음)
- [x] 2. 엣지 케이스: fact_guard 실패 시 최대 3회 재시도 로직 존재, 1회차 통과
- [x] 3. 작업 지시 일치: fact_guard 통과 + 업로드 성공/실패 보고 + URL 보고 충족
- [x] 4. 에러 처리: Firestore 폴백 경고 외 에러 없음
- [x] 5. 테스트: 코드 변경 없으므로 별도 테스트 불필요 (스크립트 실행 자체가 E2E 테스트)
- [x] 6. 발견 이슈: 2건 범위 외 미해결 (사유 명시)

---

## 정량적 증거

- 스크립트 exit code: 0
- fact_guard 통과: 1/1 (첫 시도 통과)
- Threads API 응답: HTTP 200 OK (7건 POST + 1건 publish)
- 슬라이드 생성: 6장
- 업로드 소요 시간: ~13분 (토픽 선택 22:58:37 → 업로드 완료 23:11:35)

---

## QC 자동 검증 결과

- **overall**: PASS
- **verified_at**: 2026-03-21T23:12:27
- **summary**: 3 PASS, 7 SKIP
- file_check: PASS (report 3308 bytes)
- data_integrity: PASS
- critical_gap: PASS
- api_health: SKIP (서버 작업 아님)
- test_runner: SKIP (코드 변경 없음)
- tdd_check: SKIP (Lv.1 운영 작업)
- pyright_check: SKIP (코드 변경 없음)
- style_check: SKIP (코드 변경 없음)
- scope_check: SKIP
- schema_contract: SKIP
