# task-1600.1 완료 보고서: Firebase 인덱스 수정 — 벡터 인덱스 오류 해결

## SCQA

**S**: InsuWiki의 `firestore.indexes.json`에 벡터 인덱스 설정이 포함되어 있으며, task-1599.1 피드백에서 2가지 오류가 식별되었다.

**C**: (1) 768차원 벡터 인덱스 2개가 `treeAh` 타입으로 설정되어 있어 Firestore 네이티브 벡터 검색과 호환되지 않았다. (2) `embeddings` 컬렉션에 3072차원 벡터 인덱스가 존재했으나 Firestore는 최대 2048차원까지만 지원하여 배포 시 오류가 발생할 수 있었다.

**Q**: 벡터 인덱스 형식 오류를 수정하고 플랫폼 제한 초과 인덱스를 제거하여 정상 배포할 수 있는가?

**A**: `treeAh: {}` → `flat: {}`로 수정(2건)하고 3072차원 인덱스 항목을 제거한 후 `firebase deploy --only firestore:indexes` 배포 완료. exit code 0, 에러 없음. `firebase firestore:indexes` 출력에서 `insurance_chunks`, `youtube_knowledge` 모두 `flat` 타입 768차원으로 정상 확인, 3072차원 인덱스 부재 확인.

## 수정 내용

### 1. vectorConfig `treeAh` → `flat` 수정 (2건)
- `insurance_chunks` 컬렉션: `embedding` 필드 768차원 `treeAh: {}` → `flat: {}`
- `youtube_knowledge` 컬렉션: `embedding` 필드 768차원 `treeAh: {}` → `flat: {}`

### 2. 3072차원 벡터 인덱스 항목 제거 (1건)
- `embeddings` 컬렉션 `COLLECTION_GROUP` 스코프, `vector` 필드 3072차원 `treeAh: {}` 인덱스 전체 삭제
- 사유: Firestore 네이티브 벡터 인덱스는 최대 2048차원 제한

### 3. 배포
- 명령: `firebase deploy --only firestore:indexes`
- 프로젝트: `insuwiki-j2h`
- 결과: 성공 (exit code 0)

### 4. 배포 검증
- `firebase firestore:indexes` 출력 확인:
  - `insurance_chunks` embedding: 768차원, `flat` ✓
  - `youtube_knowledge` embedding: 768차원, `flat` ✓
  - 3072차원 인덱스: 존재하지 않음 ✓

## 산출물

- `/home/jay/projects/insuwiki/firestore.indexes.json`

## 발견 이슈 및 해결

### 자체 해결 (3건)
1. **insurance_chunks embedding 인덱스 형식 오류** — `treeAh` → `flat` 수정. Firestore 네이티브 벡터 검색은 `flat` 타입만 지원.
2. **youtube_knowledge embedding 인덱스 형식 오류** — 동일하게 `treeAh` → `flat` 수정.
3. **embeddings 3072차원 인덱스 플랫폼 제한 초과** — 해당 인덱스 항목 전체 삭제. Firestore 최대 2048차원 제한으로 배포 불가능한 설정이었음.

### 범위 외 미해결 (1건)
1. **3072차원 벡터 검색 대안 마련** — 범위 외 사유: 태스크 지시서에 "별도 태스크 (이번 범위 외)"로 명시

## 셀프 QC

- [x] 1. 영향 파일: `firestore.indexes.json` 1개만 수정. 다른 파일 영향 없음
- [x] 2. 엣지 케이스: JSON 구문 유효성 확인 완료. 기존 인덱스에 영향 없음
- [x] 3. 구현이 작업 지시와 정확히 일치: treeAh→flat 수정 2건, 3072차원 제거 1건, 배포 완료
- [x] 4. 에러 처리/보안: N/A (설정 파일 수정)
- [x] 5. 테스트: N/A (인프라 설정 파일, 배포 성공으로 검증)
- [x] 6. 발견 이슈 모두 해결: 3건 자체 해결, 1건 범위 외
- [x] 7. 코드 아키텍처: N/A (JSON 설정 파일)
- [x] 8. 인터페이스 변경 문서: N/A (인덱스 설정만 변경)

## 모델 사용 기록

- 팀원: 불칸(백엔드) / 작업 내용: Firebase 인덱스 배포 및 검증 / 사용 모델: sonnet / 정당성: -
