약관AI Phase 2 잔여 — CL-9 별표 테이블 파싱 + CL-7 원클릭 재인덱싱

## 작업 1: CL-9 별표/부속서류 인덱싱

수술분류표, 장해분류표 등 별표(표 형태) 데이터가 텍스트 추출 시 구조가 파괴되어 검색 불가. 별표 전용 파싱 + 전용 컬렉션 + 키워드 트리거를 구현한다.

### 1-1. 별표 파싱 로직 (functions/src/pdfIndexing.ts 수정)
- 기존 structureAwareChunk 함수 이후에 별표 감지 로직 추가
- 별표 감지 키워드: "별표", "[표", "수술분류표", "장해분류표", "질병분류표", "보험료예시"
- 감지된 테이블 영역을 Markdown 테이블 형태로 변환 시도
  - PDF에서 추출된 텍스트의 탭/공백 패턴으로 열 구분
  - "| 구분 | 내용 |" 형태로 재구성
- 변환 실패 시 원문 그대로 보존 (깨진 데이터보다 원문이 안전)

### 1-2. 별표 전용 컬렉션 (Firestore insurance_appendices)
- 스키마: { productId, appendixType: "수술분류표"|"장해분류표"|"질병코드표"|"보험료표", content: string, parsedTable: object|null, sourceChunkIds: string[] }
- nextapp/src/types/firestore.ts에 InsuranceAppendix 타입 추가
- COLLECTIONS에 INSURANCE_APPENDICES 등록

### 1-3. 키워드 트리거 (nextapp/src/app/api/ai/vector-search/route.ts 후처리)
주의: vector-search/route.ts는 1팀(task-157.1)이 수정한 파일. 최소한의 수정만 허용.
- 쿼리에 "수술분류", "장해등급", "질병코드", "몇 종", "수술 종류" 등 별표 관련 키워드가 있으면
- 벡터 검색 결과에 추가로 insurance_appendices 컬렉션 조회
- 결과를 벡터 검색 결과에 appendix 필드로 합산하여 반환

### 1-4. firestore 설정
- firestore.indexes.json에 insurance_appendices 인덱스 추가
- firestore.rules에 insurance_appendices 서버 전용 규칙 추가

## 작업 2: CL-7 원클릭 재인덱싱

관리자가 새 약관 PDF를 업로드하면, 기존 버전 비활성화 + 새 버전 인덱싱 + 캐시 무효화가 한 번에 실행되는 워크플로우.

### 2-1. 재인덱싱 API 개선 (nextapp/src/app/api/admin/insurance/reindex/route.ts 수정)
- POST /api/admin/insurance/reindex
  - body: { productId }
  - 동작: 
    1. 해당 productId의 기존 chunks 삭제
    2. insurance_metadata에서 해당 productId의 driveFileId로 PDF 재다운로드
    3. 새로운 structureAwareChunk으로 재청킹 + 재임베딩
    4. query_cache에서 해당 productId 관련 캐시 삭제
    5. 결과 반환 (재인덱싱된 청크 수, 소요 시간)

### 2-2. 관리자 UI (nextapp/src/app/admin/ 하위)
- 기존 admin 페이지에 "재인덱싱" 버튼 추가
- 상품 선택 + 원클릭 재인덱싱 실행
- 진행 상태 표시 (로딩 스피너 + 결과 메시지)

## 수정 가능 파일
- functions/src/pdfIndexing.ts (별표 파싱 로직 추가)
- nextapp/src/app/api/ai/vector-search/route.ts (별표 키워드 트리거 추가 — 최소 수정)
- nextapp/src/app/api/admin/insurance/reindex/route.ts
- nextapp/src/app/admin/ 하위 UI 파일
- nextapp/src/types/firestore.ts (InsuranceAppendix 타입 추가)
- firestore.indexes.json (appendices 인덱스 추가)
- firestore.rules (appendices 규칙 추가)

## 절대 수정 금지
- queryCache.ts, rateLimiter.ts, injectionFilter.ts, versionFilter.ts
- answerValidator.ts, queryRouter.ts
- 1팀 담당 파일: SearchInput.tsx, AnswerCard.tsx, FeedbackButtons.tsx, autocomplete/route.ts, feedback/route.ts, ragQuery.ts
- scripts/ 하위 기존 파일 (신규 생성은 가능)

## 테스트
- 별표 파싱: pdfIndexing.test.ts에 별표 감지/파싱 테스트 추가
- 재인덱싱 API: 기본 동작 테스트
- vector-search 별표 트리거: 키워드 감지 테스트