# task-2037: InsuRo 운영 게이트 FAIL 3건 수정 (G-CF-1, G-CF-2, G-DA-1)

## 배경
task-2035 점검에서 3건 FAIL/PARTIAL 확인. 코드 수정으로 해결 가능한 항목.

## ★ 프로젝트: `/home/jay/projects/InsuRo/` (main 브랜치)

## 작업 3건

### 1. G-CF-1: require_feature 누락 5건 보강
현재 `require_plan()`만 사용하는 프리미엄 엔드포인트 5건에 `require_feature` 추가:

- `server/main.py:602` — `POST /api/insuro/ai/generate` → `@require_feature("content_ai_generation")` 추가
- `server/main.py:827` — `POST /api/insuro/keywords/analyze` → `@require_feature("keyword_analysis")` 추가
- `server/main.py:860` — `GET /api/insuro/keywords/result/{job_id}` → `@require_feature("keyword_analysis")` 추가
- `server/main.py:1492` — `GET /api/insuro/summaries/search` → `@require_feature("crm_chat_summary_search")` 추가
- `server/main.py:1849` — `POST /api/insuro/onboarding/ai-generate` → `@require_feature("onboarding_ai")` 추가

**주의**: 기존 `require_plan()` 제거 금지. `require_feature`를 추가 적용 (이중 체계).
**주의**: PLAN_FEATURE_MAP에 새 featureKey 5건 등록 필요.

### 2. G-CF-2: 플랜명 언어 통일 + 중복 매핑 정리
- **서버 PLAN_FEATURE_MAP** (`server/main.py`): 한국어 플랜명(`"맥스"`, `"프로"`, `"베이직"`)을 영어(`"Max"`, `"Pro"`, `"Basic"`)로 통일
  - 또는 프론트를 한국어로 통일 — 서버 기준에 맞추는 방향 선택 (서버가 권위)
  - **결정**: 서버 한국어 기준 유지, 프론트 `planFeatureMap`을 한국어로 변경
- **중복 매핑 정리**: `keyword_tools_algorithm` featureKey의 중복 항목 해결
  - `keywordAlgorithm`(Hidden) vs `infoKeyword`(Max) → 하나로 통합

### 3. G-DA-1: 미구현 이벤트 5종 track() 호출 추가
다음 5종 이벤트의 `track()` 호출 추가:
1. `login_completed` — 로그인 성공 시점 (`src/` 내 auth 관련 파일)
2. `pipeline_run_completed` — 파이프라인 실행 완료 시 (`server/main.py` 파이프라인 엔드포인트)
3. `crm_contact_added` — CRM 연락처 추가 시 (`server/main.py` CRM 관련 POST)
4. `feature_used` — 프리미엄 기능 사용 시 (기존 require_feature 통과 후)
5. `chat_started` — 채팅 시작 시 (`src/` 내 chat 컴포넌트)

각 이벤트에 적절한 properties 포함 (PII 제외).

## 완료 시그니처
- [grep] `require_feature.*content_ai_generation\|require_feature.*keyword_analysis` @ `server/main.py`
- [grep] `login_completed\|pipeline_run_completed\|crm_contact_added\|feature_used\|chat_started` @ `src/`
- [grep] `베이직\|프로\|맥스` @ `src/` (프론트 플랜명 한국어 통일 확인)

## 검증 시나리오
1. `npm run build` → 빌드 성공
2. `cd server && python -m pytest tests/ -x --tb=short` → 기존 테스트 PASS
3. `grep -c "require_feature" server/main.py` → 11건+ (기존 6 + 신규 5)
4. `grep -rn "track(" src/ | grep -c "login_completed\|pipeline_run\|crm_contact\|feature_used\|chat_started"` → 5건

## 레벨
- normal

## 프로젝트
- insuro
