# task-2035: InsuRo 운영 게이트 전수 점검 (G-CF, G-DA, G-RC)

## 배경
인슈로 체크리스트 74.4% 완료. 론칭 전 운영 게이트 8건의 현재 충족 상태를 점검하여
"이미 통과" / "코드 추가 필요" / "운영 데이터 필요(보류)" 3단계로 분류해야 함.

## ★ 프로젝트: `/home/jay/projects/InsuRo/` (main 브랜치)
## ★★★ 코드 수정 없음. 검증/분석만. ★★★

## 점검 대상 8건

### G-CF-1: require_feature 데코레이터 전 엔드포인트 커버 확인
- `grep -rn "require_feature" server/main.py` → 프리미엄 엔드포인트 전수 확인
- `grep -rn "@app\.\(get\|post\|put\|delete\)" server/main.py` → 전체 엔드포인트 목록
- 프리미엄 기능(AI분석, 푸시, 챗요약 등)에 require_feature 누락 여부 확인
- 판정: PASS(전 커버) / FAIL(누락 N건) / PARTIAL

### G-CF-2: planFeatureMap ↔ require_feature 동기화
- 프론트 `planFeatureMap` (src/ 검색) 키 목록 vs 서버 `require_feature()` 인자 목록 비교
- 불일치 항목 식별
- 판정: PASS / FAIL(불일치 N건)

### G-CF-3: Feature 분화 파라미터화 테스트
- 기존 테스트에서 feature flag별 접근/차단 테스트 존재 여부 확인
- `grep -rn "require_feature\|feature.*test\|plan.*test" tests/ server/tests/`
- 판정: PASS(테스트 존재) / MISSING(테스트 부재)

### G-CF-4: PII 미노출 검증
- `grep -rn "pii\|sanitize\|mask\|개인정보\|주민등록\|phone.*number" server/ src/`
- 로그/응답에서 PII 필터링 로직 확인
- 판정: PASS / RISK(필터링 누락 경로 존재)

### G-DA-1: PostHog 18개 이벤트 수신 검증
- `grep -rn "trackEvent\|track_server_event\|useAnalytics" src/ server/`
- 이벤트 유형 전수 목록 추출 (page_view, button_click, form_submit 등)
- 18종 이상인지 카운트
- 판정: PASS(18+) / PARTIAL(N종)

### G-DA-2: KPI 대시보드 시각화 준비도
- PostHog 대시보드 관련 코드/설정 존재 여부
- `grep -rn "dashboard\|kpi\|metric" src/ server/ docs/`
- 판정: READY / NOT_READY / PARTIAL

### G-DA-3: PostHog 이벤트에 PII 미포함
- useAnalytics 훅 내 PII 필터링 확인
- `cat src/hooks/useAnalytics.ts` → sanitize/filter 로직 검토
- 판정: PASS / RISK

### G-RC-3: CTA 세션당 2회 상한 동작
- `grep -rn "cta\|session.*limit\|max.*show\|상한\|throttle" src/`
- CTA 표시 제한 로직 존재 여부 확인
- 판정: PASS(제한 구현됨) / MISSING(미구현)

## 결과물 형식
각 게이트에 대해:
```
G-XX-N: [PASS|FAIL|PARTIAL|MISSING|NOT_READY]
- 근거: grep 결과 요약
- 조치 필요: 있음/없음 (있으면 구체적 내용)
```

## 최종 요약
- 즉시 [x] 가능 항목 (PASS)
- 코드 추가 필요 항목 (FAIL/MISSING) → 다음 배치 위임 대상
- 운영 데이터 필요 항목 (보류)

## 완료 시그니처
- [grep] `G-CF-1.*PASS\|G-CF-1.*FAIL\|G-DA-1.*PASS\|G-DA-1.*PARTIAL` @ `memory/reports/task-2035.md`

## 검증 시나리오
1. 보고서에 8건 전부 판정 결과 존재
2. 각 판정에 grep 근거 1줄+ 첨부
3. 최종 요약에 3단계 분류 존재

## 레벨
- normal

## 프로젝트
- insuro
