# task-1986: 인슈로 온보딩 플로우 구현 (OB-1~3)

## 목적
체크리스트 온보딩 항목 3건 구현. 신규 가입 사용자의 첫 경험 개선.

## ★ 반드시 먼저 읽을 파일 ★
1. `memory/plans/insuro-system/checklist.md` — 온보딩 섹션 (OB-1~3)
2. 인슈로 프로젝트: `/home/jay/projects/InsuRo/`

## 구현 항목

### OB-1. 온보딩 위자드 3단계 UI 구현
- 프로그레스 바 (1/3 → 2/3 → 완료)
- 프리셋 선택 카드 (블로그용/SNS용/제안서용)
- 고객명 + 상품명 2필드 입력
- 목업 결과 화면 (샘플 출력)
- 대시보드 진입 시 온보딩 미완료 사용자에게 자동 표시

### OB-2. Empty State 제거
- 대시보드 빈 상태 대신 온보딩 위자드 진입
- 콘텐츠가 없을 때 "첫 콘텐츠 만들기" CTA 표시

### OB-3. onboarding_step ENUM 컬럼 추가
- Supabase migration: users 테이블에 onboarding_step 추가
- ENUM: SIGNED_UP → FIRST_CONTENT_STARTED → FIRST_CONTENT_DONE → CONVERTED
- 서버에서 onboarding_step 업데이트 API

## ★★★ 절대 규칙 ★★★
- premiumOnly 미완성 디자인 절대 건드리지 말 것
- 기존 라우트/컴포넌트 깨지면 안 됨

## 완료 시그니처
- [grep] `OnboardingWizard\|onboarding-wizard` @ `src/`
- [grep] `onboarding_step` @ `supabase/migrations/`
- [grep] `SIGNED_UP\|FIRST_CONTENT` @ `server/main.py`

## 검증 시나리오
1. 신규 가입 사용자 → 대시보드 접근 시 온보딩 위자드 표시
2. 위자드 3단계 완료 후 대시보드로 이동
3. onboarding_step이 DB에 정상 업데이트
4. tsc 0 errors, pytest PASS

## 레벨
- normal

## 프로젝트
- insuro
