# ThreadAuto 카드뉴스 렌더링 이상 현상 심층 분석 + 개선방안

## 태스크 ID: task-922.1
## 한정위임: 완료까지

---

## 배경 (제이회장님 지적)

task-918.1에서 카드뉴스를 `python3 cli.py pipeline -c 1 -t TypeB --source news --format image --upload` 으로 생성했더니, **기존 ThreadAuto 카드뉴스와 완전히 다른 결과물**이 나옴.

### 기존 정상 카드뉴스 (3/22, 마지막 성공 건)
- **6장 멀티슬라이드 캐러셀** (post-carousel)
- 브랜드 디자인: "서울대보험크루" 배지, "서울대보험쌤" 로고, 키워드 태그
- card_type: "I"
- 파일명 패턴: `cardnews_20260322_185305_00~05.png`
- 업로드 결과 파일: `output/cardnews_post_result_20260322_185631.json`
- Post ID: 18096845894001055

### task-918.1 이상 결과물
- **단일 이미지 1장** (post-image로 업로드)
- 단순 뉴스 카드: "NEWS" 배지 + 제목 + 본문 + 하단 2/3 빈 공간
- 브랜딩: "인카다이렉트 TOP사업단" (완전 다른 브랜드)
- 파일: `output/20260324_084926_TypeB.png` (69KB, 1080x1350)
- Post ID: 17968207400881917 (제이회장님이 직접 삭제 완료)

## 분석 과제

### 1. 렌더링 파이프라인 추적 (근본 원인 파악)

기존 정상 작동하던 카드뉴스 생성 흐름을 코드 레벨에서 추적:

1. **정상 흐름 파악**: 3/22에 성공한 6장 캐러셀은 어떤 코드 경로로 생성되었는지
   - `pipeline/orchestrator.py` 분석
   - 어떤 renderer가 6장 슬라이드를 만드는지
   - card_type "I"은 어디서 결정되는지
   - `post-carousel` 호출은 어디서 일어나는지

2. **이상 흐름 파악**: `pipeline -t TypeB`로 실행했을 때 왜 다른 결과가 나왔는지
   - TypeA/TypeB 등의 의미와 card_type "I" 등의 관계
   - pipeline 명령의 `-t` 파라미터가 실제로 어떤 렌더러를 호출하는지
   - 왜 단일 이미지로 생성되고 carousel이 아닌 post-image로 업로드되었는지

3. **브랜딩 차이**: "인카다이렉트 TOP사업단" vs "서울대보험크루/서울대보험쌤"
   - 렌더러 설정 파일 또는 config에서 브랜드 정보를 어디서 가져오는지
   - TypeB가 다른 브랜드 설정을 사용하는 것인지

### 2. 코드 구조 분석

아래 파일들을 중심으로 분석:
- `/home/jay/projects/ThreadAuto/pipeline/orchestrator.py` — 파이프라인 오케스트레이터
- `/home/jay/projects/ThreadAuto/cli.py` — CLI 엔트리포인트 (pipeline, render, post-carousel 등)
- `/home/jay/projects/ThreadAuto/content/` — 콘텐츠 생성 관련
- `/home/jay/projects/ThreadAuto/publisher/` — 업로드 관련
- `/home/jay/projects/ThreadAuto/config.py` — 설정

### 3. 정상 카드뉴스 생성 CLI 명령 도출

분석 결과를 바탕으로, **기존과 동일한 6장 캐러셀 카드뉴스를 생성+업로드하는 정확한 CLI 명령**을 도출:
- 어떤 파라미터 조합이 기존 card_type "I" 렌더링을 트리거하는지
- 올바른 업로드 명령 (post-carousel + 6장)

### 4. 개선방안

- CLI 사용 가이드 작성: 카드뉴스 vs 단순 이미지 vs 텍스트별 올바른 명령
- 잘못된 파라미터 사용 시 경고/방지 방안 제안
- 향후 위임 시 사용할 정확한 명령 템플릿 정리

## 산출물

1. `memory/reports/task-922.1.md` — 분석 보고서 (근본 원인 + 코드 추적 결과)
2. `memory/projects/threadauto/cardnews-cli-guide.md` — 올바른 CLI 사용 가이드

## 수정 금지

- ThreadAuto 소스 코드 수정 금지 (분석만 수행)
- 기존 output/ 파일 삭제 금지

## 검증 기준

1. 근본 원인이 코드 레벨에서 명확히 규명됨 (추측 아닌 코드 경로 추적)
2. 기존 정상 카드뉴스를 재현할 수 있는 CLI 명령이 특정됨
3. card_type, 렌더러, 업로드 방식의 관계가 문서화됨
