# task-1979 완료 보고서: InsuRo Lovable AI Gateway 의존성 제거

## SCQA

**S**: InsuRo가 Lovable 프로젝트에서 독립 완료되었으나, AI 기능(고객 분석, 통화 요약, To-Do 자동 생성)이 여전히 `ai.gateway.lovable.dev` 게이트웨이에 의존하고 있다.

**C**: Lovable 프로젝트 연결을 완전히 끊으면 AI 기능이 전면 작동 중단되어, 독립의 의미가 퇴색되고 서비스 안정성에 리스크가 존재한다.

**Q**: Lovable 게이트웨이 의존성을 제거하고, 자체 API key 기반으로 AI 서비스를 운영할 수 있는가?

**A**: AdminAIConfig.tsx에서 lovable provider 옵션/모델/URL/조건분기를 완전 제거하고, 기본 provider를 Google Gemini로 변경. AdminCrmConfig.tsx의 라벨도 업데이트. 전체 src/ 디렉토리에서 lovable/Lovable 참조 0건 달성. TypeScript 컴파일 에러 0건.

## 수정 파일

| 파일 | 변경 내용 | grep 검증 | 상태 |
|------|-----------|-----------|------|
| src/pages/AdminAIConfig.tsx | lovable provider/모델/URL/분기 전체 제거, 기본값 gemini 전환, Zap import 제거 | grep -ri "lovable" → 0건 OK | verified |
| src/pages/AdminCrmConfig.tsx | "Lovable AI (Gemini Flash)" → "Google Gemini" | grep -ri "lovable" → 0건 OK | verified |

## 상세 변경 내역

### AdminAIConfig.tsx (24줄 추가, 36줄 삭제)
1. PROVIDERS 배열: lovable 항목 제거 (3개 provider 유지: claude, openai, gemini)
2. MODELS 객체: lovable 키 블록(5개 모델) 제거
3. DEFAULT_URLS: lovable gateway URL 제거
4. form 초기값: provider→gemini, model→gemini-2.5-flash, api_url→Gemini API URL
5. fetchConfig: 폴백값 lovable→gemini
6. handleProviderChange: lovable 조건부 API key 초기화 제거
7. handleSave: lovable 조건부 null 처리 제거
8. JSX: lovable 조건부 렌더링 제거 → API URL/Key 필드 항상 표시
9. "Lovable AI는 자동 설정됩니다" 안내 블록 제거
10. Zap 아이콘 import 제거

### AdminCrmConfig.tsx (1줄 변경)
1. 연동 설정 탭: "Lovable AI (Gemini Flash)" → "Google Gemini"

## 발견 이슈 및 해결

### 자체 해결 (3건)
1. **Zap import 미사용** — lovable provider 제거 후 Zap 아이콘이 미사용됨 → import에서 제거
2. **lovable 조건부 API key null 처리** — handleSave에서 lovable일 때 api_key를 null로 저장하던 로직 → 모든 provider가 동일하게 api_key를 저장하도록 통일
3. **lovable 조건부 UI 블록** — API URL/Key 입력 필드가 lovable 외 provider에만 표시되던 구조 → 조건 제거하여 모든 provider에 동일 UI 제공

## L1 스모크테스트 결과

- 서버 재시작: 해당없음 (프론트엔드 전용 변경, 백엔드 서버 없음)
- API 응답 확인: 해당없음
- TypeScript 컴파일: `npx tsc --noEmit` → exit code 0, 에러 0건
- lovable 참조 검사: `grep -ri "lovable" src/` → 0건 확인

## 머지 판단

- **머지 필요**: Yes
- **브랜치**: task/task-1979-dev5
- **워크트리 경로**: /home/jay/workspace/projects/insuro/.worktrees/task-1979-dev5
- **머지 의견**: lovable 참조 완전 제거 확인, TypeScript 에러 0건, 변경 범위가 2개 파일로 한정적, 기존 기능 로직 유지 (provider 선택 → 설정 저장 플로우 변화 없음)

## 모델 사용 기록

- 팀원: 이쉬타르 / 작업 내용: AdminAIConfig.tsx lovable 제거 + Gemini 기본값 전환 / 사용 모델: sonnet / 정당성: -
- 팀원: 이쉬타르 / 작업 내용: AdminCrmConfig.tsx 라벨 변경 / 사용 모델: sonnet / 정당성: -

## 비고

- DB ai_config 테이블에 기존 lovable provider 데이터가 있을 수 있음. 관리자가 AI 설정 페이지에서 수동으로 provider 변경 필요.
- fetchConfig 폴백값이 gemini로 변경되어, 기존 lovable 데이터 로드 시에도 gemini로 대체 표시됨.
- 파일 스토리지 Google Drive 전환은 별도 태스크로 분리 (task-1979.md 하단에 기재).

## 세션 통계
- 총 도구 호출: 0회


## 세션 통계
- 총 도구 호출: 0회


## 세션 통계
- 총 도구 호출: 0회


## 세션 통계
- 총 도구 호출: 0회


## 세션 통계
- 총 도구 호출: 0회

