# task-1957: 인슈로 Phase 2A — 플랜 시스템 + 콘텐츠 세분화 (결제 제외)

## 배경
Phase 0+1 완료. Phase 2 시작.
Phase 2는 규모가 크므로 2A(플랜+콘텐츠)와 2B(결제)로 분리.
Stripe 결제(H1, Lv.4)는 별도 위임. 먼저 플랜 체계 + UI를 완성.

## ★ 반드시 먼저 읽을 파일 ★
1. `memory/plans/insuro-system/checklist.md` — Phase 2 섹션
2. `memory/plans/insuro-system/plan.md` — Phase 2 + A(콘텐츠 세분화) 상세
3. `memory/research/insuro-page-audit.md` — 전수조사

## 프로젝트 경로
- `/home/jay/projects/InsuRo/`

## 구현 항목 (Stripe H1 제외)

### 플랜 시스템
1. **P1**: subscription_plans 시드 데이터 5단계 정렬 — Lv.2
2. **P2**: 서버사이드 플랜 검증 미들웨어 (@require_plan) — Lv.3
3. **P3**: AI 모델 서버 allowlist (플랜→모델 매핑) — Lv.2
4. **P4**: 사용량 제한 서버사이드 집행 (usage_tracking) — Lv.2
5. **P5**: 채널 제한 구현 (무료=1, 프로=5) — Lv.2

### 콘텐츠 작성 세분화 (A)
6. **A1**: 프리셋 UI (3종 + 고급 옵션 토글) — Lv.2
7. **A2**: LockedFeatureOverlay 공용 컴포넌트 — Lv.2
8. **A3**: FeatureGate 선언적 컴포넌트 — Lv.2
9. **A4**: PlanUpgradeDialog 플랜명 정렬 — Lv.1

### 무료 사용자 경험
10. **F1**: Free 사용자 AI 맛보기 (월 5회) — Lv.2

## ★★★ 절대 규칙 ★★★
- API 직접 호출 금지 — CLI만 사용
- premiumOnly 미완성 디자인 절대 건드리지 말 것
- Stripe 결제(H1)는 이 task에서 구현하지 말 것

## Phase 2A 게이트
- tsc 0 errors
- 서버사이드 플랜 검증 동작 확인 (무료 사용자 → Pro 기능 차단)
- LockedFeatureOverlay 렌더링 확인
- 사용량 한도 초과 시 429 반환 확인
- 프리셋 UI 3종 표시 확인

## 레벨
- critical

## 프로젝트
- insuro
