# task-644.1 완료 보고서

## SCQA

**S**: InsuRo Pricing 페이지의 플랜 비교 테이블이 `feature_definitions` 테이블과 `subscription_plans.features` JSONB를 기반으로 동적 렌더링되고 있다.

**C**: feature_definitions에 미구현 기능 5개(ai_health_analysis, ai_design_proposal, knowhow_basic, knowhow_premium, knowhow_critical)가 등록되어 있고, 실제 구현된 기능 8개(계산기 3종, 시장분석 2종, CRM 2종, AI 토픽 1종)가 누락되어 있다. Pricing 페이지에 표시되는 기능 목록이 실제 서비스와 불일치한 상태.

**Q**: feature_definitions와 plan features JSONB를 실제 구현 상태와 동기화할 수 있는가?

**A**: Supabase 마이그레이션 SQL 파일 1건 작성 완료. 미구현 5개 기능 DELETE, 신규 8개 기능 INSERT(기존 3개 UPSERT 포함), 6개 플랜의 features JSONB 동기화(삭제 키 제거 + 신규 키 추가). SQL 구문 검증 통과, 13개 statement, 괄호/따옴표 정합성 확인.

## 생성/수정 파일

- `/home/jay/projects/InsuRo/supabase/migrations/20260317140000_feature_definitions_cleanup.sql` (신규, 236행)

## 작업 상세

### Part 1: DELETE 미구현 기능 (5건)
- ai_health_analysis, ai_design_proposal, knowhow_basic, knowhow_premium, knowhow_critical

### Part 2: UPDATE 기존 기능 메타데이터
- `crm_access`: category 'menu' → '고객관리', sort_order=1

### Part 3: INSERT/UPSERT 신규 기능 (10건)
- 유용한 도구(5): calculator_pv, calculator_savings (UPSERT), calculator_insurance_age, calculator_date, calculator_bmi
- 보험시장분석(2): market_newsletter, market_premium_compare
- 고객관리(2): crm_pipeline, crm_messenger
- AI 마케팅(1): ai_topic_suggest

### Part 4: 플랜별 features JSONB 동기화 (6개 플랜)
- 무료, 베이직, 프로, 맥스, 히든, 프리미엄(비활성)
- 삭제 키 5개 제거 + 신규 키 8개 추가 (플랜별 값 차별화)
- 플랜별 기능 분배: 계산기 3종 = 전 플랜 true, 시장분석/CRM = Pro 이상 true, AI 토픽 = Basic 이상 true

## 발견 이슈 및 해결

### 자체 해결 (2건)
1. **calculator_pv/calculator_savings feature_definitions 미등록** — plan JSONB에는 존재하나 feature_definitions 테이블에 미등록. UPSERT(ON CONFLICT DO UPDATE)로 존재 여부 무관하게 카테고리/sort_order 통일 처리.
2. **crm_access 카테고리 불일치** — 기존 category='menu'에서 '고객관리'로 UPDATE 처리. sort_order=1 지정.

### 범위 외 미해결 (1건)
1. **Pricing 페이지 카테고리 표시** — 현재 프론트엔드에서 category를 uppercase로 표시. 한글 카테고리는 uppercase 변환 시 그대로 표시되므로 문제 없으나, 기존 'menu', 'channel', 'model' 카테고리의 한글화는 이번 작업 범위 외.

## 테스트 결과

- SQL 구문 검증: 구문 에러 없음 (괄호/따옴표 정합성 확인)
- Statement 수: 13건 (DELETE 1 + UPDATE 1 + INSERT 4 + UPDATE 6 + crm_access UPDATE 1)
- 플랜 커버리지: 6/6 플랜 모두 업데이트
- 신규 키 JSONB 삽입: 8개 키 × 6개 플랜 = 48건 확인
- 빌드/pytest/pyright: 해당 없음 (DB 마이그레이션 SQL 전용 작업)

## 적용 방법
IPv6 문제로 CLI 적용 불가. 제이회장님이 Supabase Dashboard → SQL Editor에서 파일 내용을 실행해주세요.
