# task-2001: InsuRo 온보딩 리다이렉트 버그 수정 — 기존 사용자 강제 리다이렉트

## 문제
로그인 후 어떤 메뉴를 클릭해도 /onboarding으로 리다이렉트됨.

## 원인
- DashboardLayout.tsx에서 useOnboardingRedirect() 훅 호출
- profiles.onboarding_step이 NULL이면 needsOnboarding=true → /onboarding 리다이렉트
- 기존 사용자의 onboarding_step이 NULL (OB-3 migration에서 기본값 미설정)

## 수정 방안

### 방안 A (권장): 기존 사용자 마이그레이션
- Supabase migration: profiles 테이블의 onboarding_step이 NULL인 기존 사용자 → "CONVERTED"로 업데이트
- `UPDATE profiles SET onboarding_step = 'CONVERTED' WHERE onboarding_step IS NULL AND created_at < '2026-04-20';`

### 방안 B: 프론트엔드 로직 수정
- useOnboardingRedirect.ts: NULL일 때 추가 조건 확인
  - 콘텐츠가 1건 이상 있으면 → 온보딩 불필요 (needsOnboarding=false)
  - 또는 계정 생성일이 오늘 이전이면 → 기존 사용자로 판단 → 스킵

### 방안 C: 양쪽 모두
- Migration으로 기존 사용자 처리 + 프론트에서 추가 안전장치

## ★ 프로젝트: `/home/jay/projects/InsuRo/`

## 수정 파일
- `supabase/migrations/` — 신규 migration (기존 사용자 onboarding_step 업데이트)
- `src/hooks/useOnboardingRedirect.ts` — NULL 처리 로직 보강 (선택)

## 완료 시그니처
- [grep] `CONVERTED\|onboarding_step.*UPDATE` @ `supabase/migrations/`

## 검증 시나리오
1. 기존 사용자 로그인 → /dashboard 정상 접근 (온보딩 스킵)
2. 신규 사용자 가입 → /onboarding 정상 리다이렉트
3. 온보딩 완료 후 → /dashboard 정상 접근
4. tsc 0 errors

## 레벨
- critical (서비스 접근 불가 버그)

## 프로젝트
- insuro
