---
task_id: task-2121
type: context
scope: task
created: 2026-04-23
updated: 2026-04-23
status: completed
---

# 맥락 노트: task-2121

**task**: task-2121

---

## 결정 근거

### .env.production 직접 수정 (define 블록 확장 대신)
- vite.config.ts define 블록은 VITE_INSURO_API_URL만 조건부 매핑
- 나머지 VITE_ 변수는 Vite의 표준 .env.production 로딩에 의존
- define 블록에 모든 변수를 개별 매핑하면 유지보수 부담 증가
- .env.production은 Vite 표준 메커니즘이며 Cloudflare가 process.env를 주입하지 않는 로컬에서도 동작

### 3 Step Why
- 1st Why: .env.production에 VITE_ 변수 누락 → Cloudflare Pages 빌드에서 undefined/functions/v1 오류 발생
- 2nd Why: vite.config.ts define이 VITE_INSURO_API_URL만 매핑 → 나머지는 .env.production이 유일한 경로
- 3rd Why: define 블록 확장 대신 .env.production 직접 수정이 Vite 표준이며 유지보수 비용 최소

### VITE_API_BASE / VITE_API_BASE_URL 미포함 결정
- 코드에서 fallback으로 빈 문자열("")을 사용 → 의도적 설계
- use-pipeline-status.ts, AiAutomation.tsx, recruitingFunnel.ts에서 참조
- 빈 값 = 같은 origin으로 요청 = Cloudflare Pages 환경에서는 해당 API 경로가 없을 수 있음
- 하지만 이번 task 범위는 "Cloudflare Pages에 설정된 모든 VITE_ 변수 추가"이므로 범위 외

### VITE_VAPID_PUBLIC_KEY 값 출처
- .env 파일에서 확인된 값 사용 (git history 대신)

## 참조 자료

- task 지시서: `/home/jay/workspace/memory/tasks/task-2121.md`
- 소스 코드 환경변수 참조: `grep -rn "import.meta.env.VITE_" src/`
- Codex 사전 검증 결과: PASS (risks 4건, critical=False)

## 주의사항

- SUPABASE_PUBLISHABLE_KEY는 anon key (공개 가능) — SERVICE_ROLE_KEY와 혼동 금지
- .env.production은 git에 추적됨 (.gitignore에 !.env.production)
- PostHogProvider는 VITE_POSTHOG_HOST를 사용하지만 하드코딩 fallback도 존재
