# task-1960: 인슈로 C7 콘텐츠 팩토리 파이프라인 통합 + 3문서 최종 업데이트

## 사전 작업: 3문서 체크리스트 전체 업데이트
`memory/plans/insuro-system/checklist.md`에서:
- Phase 0~4 구현 완료 항목 전부 [x] 체크
- Phase 2B(Stripe H1)만 [ ] 유지
- C7만 [ ] 유지 (본 task에서 구현)
- Phase 게이트 중 완료된 것 [x] 체크
- plan.md, context-notes.md도 현재 상태 반영 (완료된 Phase 표시)

## C7 콘텐츠 팩토리 파이프라인 통합

### 참조
- plan.md 4장 "콘텐츠 팩토리 파이프라인" 섹션 전체 읽을 것
- 단계별 입출력: Pydantic 스키마 계약 (WikiKnowledge → KeywordSet → ContentDraft → PublishResult)

### 구현
1. **파이프라인 오케스트레이터** — Lv.3
   - D(인슈위키 노하우) → B(인포키워드 분석) → A(콘텐츠 생성) → C(멀티채널 배포)
   - MVP: D→B→A 3단계만 원클릭, C는 "미리보기 후 수동 발행"
   - 단계별 독립 사용 가능 + 연결 시 원클릭 워크플로우
   
2. **Pydantic 스키마 정의** — server/schemas/pipeline.py
   - WikiKnowledge, KeywordSet, ContentDraft, PublishResult
   - pii=True 어노테이션 → 로그 마스킹

3. **pipeline_runs 테이블** — 단계별 스냅샷 저장
   - 상태: PENDING → RUNNING → SUCCESS / FAILED
   - 재시도: 지수 백오프 (최대 3회)

4. **파이프라인 진입 UI** — "콘텐츠 만들기" 원클릭 버튼
   - 단계 라벨: "준비 중 → 키워드 분석 → 초안 생성 → 채널 발행"
   - AutomationStepper 확장
   - Supabase Realtime 실시간 상태 (폴백: 5s 폴링)

5. **API 엔드포인트**
   - POST /api/pipeline/start → job_id
   - GET /api/pipeline/status/{job_id} → 단계별 상태
   - POST /api/pipeline/cancel/{job_id}

## ★★★ 절대 규칙 ★★★
- API 직접 호출 금지 — CLI만 사용
- premiumOnly 미완성 디자인 절대 건드리지 말 것
- C 자동 배포는 MVP에서 제외 — "미리보기 후 수동 발행"

## 검증 시나리오
1. 파이프라인 시작 → D→B→A 3단계 순차 실행 확인
2. 중간 단계 실패 → 해당 단계만 FAILED, 이전 단계 결과 보존
3. 재시도 → 실패 단계부터 재개
4. UI에서 실시간 진행 상태 표시

## 레벨
- critical

## 프로젝트
- insuro
