# ThreadAuto — TypeA~E 죽은 템플릿 코드 삭제

## 개요
ThreadAuto의 TypeA~TypeE 단일 이미지 렌더링은 초기 프로토타입으로, 실제 운영에서 사용되지 않는 죽은 코드. 삭제한다.

실제 카드뉴스는 `run_cardnews()` → `CardNewsRenderer` 멀티슬라이드 경로만 사용.

## 삭제 대상

### 1. renderer/templates.py
- TypeA, TypeB, TypeC, TypeD, TypeE 클래스 전체
- 이 파일이 templates 전용이면 파일 자체 삭제

### 2. pipeline/orchestrator.py
- `_get_renderer_class()` 함수 (TypeA~E 매핑)
- `_content_to_render_data()` 함수 (TypeA~E 데이터 변환)
- `render_image()` 메서드 (단일 템플릿 렌더링)
- `run_single()` 메서드 (단일 이미지 파이프라인)
- 상단 `TEMPLATE_TYPES` 딕셔너리
- `from renderer.templates import TypeA, TypeB, ...` import

### 3. pipeline/scheduler_data.py
- TypeA~E 스케줄 슬롯 설정 전체 (DAILY_SCHEDULE 리스트)
- `get_template_for_slot()` 함수가 TypeA만 반환하는 fallback도 삭제

### 4. cli.py
- `render` 명령 (단일 템플릿 렌더링 CLI)
- 관련 import

### 5. 주의사항
- `run_cardnews()`, `CardNewsRenderer`, `render_from_slides()` 등 멀티슬라이드 경로는 **절대 건드리지 않음**
- `pipeline --upload` 명령이 정상 동작하는지 확인 (카드뉴스 경로)
- orchestrator.py에서 `run_cardnews()` 메서드는 유지

## 검증 시나리오
1. `renderer/templates.py` 파일이 삭제(또는 TypeA~E 클래스 없음)되면 성공
2. `cli.py render` 명령이 없어지면 성공 (help에서 render 사라짐)
3. `python3 cli.py pipeline --count 1 --upload` 실행 시 정상 카드뉴스 생성되면 성공 (멀티슬라이드 경로 정상)
4. `grep -r "TypeA" pipeline/ renderer/` 결과가 0건이면 성공
5. 기존 테스트 회귀 없으면 성공 (TypeA~E 관련 테스트는 함께 삭제)