# task-1996: InsuRo 테스트 실패 수정 + 검증 게이트 통과 (TST/SEC/UX)

## 목적
1. TestKeywordAnalysisFlow 테스트 1건 실패 수정
2. 체크리스트 검증 게이트 항목 점검/통과 (TST-1~4, UX-1~3)

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

## 수정 항목

### 1. TestKeywordAnalysisFlow 테스트 실패 수정
- task-1983의 Supabase mock 전환 이후 mock chain `.eq()` 반환값 불일치
- pytest로 실패 원인 확인 후 mock 수정

### 2. TST-1: 30개 기존 라우트 회귀 테스트
- 기존 스모크 테스트 실행 확인
- 실패 시 수정

### 3. TST-2: pyright/tsc 타입 에러 0건
- `npx tsc --noEmit` 실행 → 에러 있으면 수정

### 4. TST-3: as any 신규 추가 0건
- `grep -rn "as any" src/ --include="*.tsx" --include="*.ts"` 실행
- task-1969 이후 신규 추가된 as any 확인

### 5. UX-1: 모바일 반응형 확인 (768px 미만)
- 주요 페이지에서 viewport 768px 미만 시 MobileBottomNav 표시 확인
- Chrome DevTools MCP 또는 코드 검증

### 6. UX-2: 업그레이드 유도 세션당 최대 2회
- LockedFeatureOverlay/PlanUpgradeDialog 노출 횟수 제한 로직 확인

### 7. UX-3: 잠금 콘텐츠 DevTools 우회 불가
- 서버에서 데이터 미전송 확인 (프론트에서 숨기기만 하는 게 아닌지)

## 완료 시그니처
- [pytest] `server/tests/test_main.py`
- [grep] `MobileBottomNav\|useMediaQuery\|768` @ `src/`

## 검증 시나리오
1. pytest 전체 PASS (실패 0건)
2. tsc 에러 0건
3. as any 신규 추가 0건
4. 모바일 반응형 코드 존재 확인

## 레벨
- normal

## 프로젝트
- insuro
