# InsuRo CRM AI 평가(통화/상담) = 실테스트0 mock · P0-2 실사용 PII는 서버 claude로 이미 안전

## 결론 (2026-08-10 회장 확정)
InsuRo CRM의 통화분석/상담평가(analyze-customer·transcribe-call·evaluate-consultation) 기능은 **실테스트 0회 mock(미검증 파일럿)**. 회장 verbatim: "실테스트 한번도 안한 mock 맞음".

**근거 (실코드)**:
- `transcribe-call`은 이름과 달리 **STT(음성→텍스트) 없음** — 서버(main.py:7547)는 `req.transcript` 텍스트를 받아 요약만. 프론트(CallLogTab.tsx:66)는 녹음을 storage 업로드만 하고 transcript엔 `"[음성 녹음 파일 업로드됨 - 텍스트 변환 대기중]"` 플레이스홀더만 저장.
- `evaluate-consultation` **스키마 불일치로 렌더 크래시**: 프론트(ConsultationEval.tsx:13-18,113)는 `categories[].items[]`+`max_score` 중첩 기대인데 서버(main.py:7500)는 단순 `{name,score,comment}` 반환 → `cat.items.map` = undefined.map 크래시. → 한 번이라도 실행했으면 즉시 터짐 = 실사용 0 증거.

## ★ P0-2(개인정보 AI 무학습) 실체 — 오해 정정
- **실사용 고객 PII 경로는 이미 안전**: 프론트는 Edge Function이 아니라 **서버 엔드포인트**(`${INSURO_API_BASE}/api/insuro/...`)를 호출. 서버 3엔드포인트(main.py:7361/7487/7547)는 전부 **`anu_provider.generate()` → claude CLI 직접**(server/anu_provider.py:73,84) = Gemini 안 씀. Claude 상업=무학습.
- **Edge Function 3개(supabase/functions/)는 프론트 미사용 레거시**. 호출처 0건(Codex 전수: functions.invoke/`/functions/v1`/pg_net/webhook/cron 전부 0).
- 그래서 방금 머지한 **task-2933(#205 e5e6f89)/task-2936(#206 2f787ff) = 미사용 mock Edge 손질**. 실사용 무관. `ANU_INTERNAL_API_KEY`·Edge secret·edge deploy **전부 불필요**.

## ANU 서버 구조 (참고)
- `anu_provider.generate` = **claude CLI subprocess**(`claude -p --model <tier>`). tier: haiku/sonnet/opus → claude-3-5-haiku/sonnet-4-6/opus-4-6. 별도 Anthropic API키 불필요, 이 서버 claude 구독 사용. = "우리 아누시스템 활용"의 실체.
- 서버 내부 LLM 기능(블로그/인포키워드/복합설계/소식지)도 main.py 여러 곳에서 claude CLI 직접 → 이미 안전, 인증 불필요.
- `POST /api/insuro/ai/anu-generate` HTTP 엔드포인트(main.py:1728, `verify_api_key`=ANU_INTERNAL_API_KEY)는 **Edge(외부 클라우드)가 서버 claude 쓸 때만** 필요한 진입점. 현재 ANU_INTERNAL_API_KEY 미설정이라 401. 실사용처 없으면 이 경로 자체가 불필요.

## 액션
- P0-2 개인정보(AI 무학습) = **실사용 기준 이미 충족**(서버 claude). 종결.
- Edge Function 3개 + edge 전용 회귀테스트(pii-ai-provider.test.ts 등) = **미사용 → 삭제 가능**(정리 선택).
- CRM 통화/상담평가 완성(STT 도입 + 스키마 정합)은 **별도 기능개발 백로그** — 회장 우선순위 시.

## 교훈
"코드 배선됨 ≠ 실동작". 실사용 경로(프론트가 실제 호출하는 곳) + 실테스트 여부로 판정. Edge/서버 중복 시 프론트 호출 대상이 진짜.
