# task-2287 완료 보고서: InsuRo 소식지 인식 교정 사전 확장 (A+C 조합)

## SCQA

**S**: InsuRo 서버는 소식지/보험료 데이터를 AI Vision으로 추출 시 INSURANCE_TEXT_CORRECTIONS 사전(9개 항목)으로 OCR 오인식을 교정하고 있다.

**C**: 실제 운영에서 "강신장→갱신형", "더핏→더블" 등 미등록 오인식이 빈번히 발생하며, Vision 모델에 보험 도메인 파싱 가이드가 없어 숫자/단위 혼동도 발생한다.

**Q**: 교정 사전을 대폭 확장하고 few-shot 가이드를 프롬프트에 포함하면 인식 정확도를 개선할 수 있는가?

**A**: 교정 사전을 9개→45개로 5배 확장하고, newsletter_parsing_guide.txt를 생성하여 _vision_extract_batch()와 _smart_parse_file() 양쪽 Vision 프롬프트에 가이드를 포함시켰다. py_compile 정상, npm run build 성공(12.38s), 교정 로직 단위테스트 5건 전체 통과.

## 수정 파일 목록

| 파일 | 변경 내용 | grep 검증 | 상태 |
|------|-----------|-----------|------|
| server/main.py:3845 | INSURANCE_TEXT_CORRECTIONS 9개→45개 확장 | grep "강신장" OK (1건), grep "더핏" OK (1건) | verified |
| server/main.py:4039 | _vision_extract_batch()에 가이드 로드+프롬프트 포함 | grep "_parsing_guide" OK (6건) | verified |
| server/main.py:4229 | _smart_parse_file()에 가이드 로드+프롬프트 포함 | grep "_parsing_guide" OK (5건) | verified |
| server/skill_prompts/newsletter_parsing_guide.txt | 보험 문서 인식 주의사항 가이드 신규 생성 | cat 확인 OK (240 bytes) | verified |

## 검증 시나리오 결과

1. INSURANCE_TEXT_CORRECTIONS에 "강신장"→"갱신형", "더핏"→"더블" 포함: PASS
2. 교정 사전 항목 수 45개 (≥30 기준 충족): PASS
3. newsletter_parsing_guide.txt 파일 존재: PASS (240 bytes)
4. Vision 프롬프트에 가이드 포함 (grep "_parsing_guide" = 11건): PASS
5. 서버 py_compile 정상: PASS
6. npm run build 성공: PASS (12.38s, dist/ 생성 확인)

## 단위테스트 결과 (교정 로직)
- "강신장 보험료" → "갱신형 보험료" PASS
- "더핏 보장" → "더블 보장" PASS
- "후유장헤 진단" → "후유장해 진단" PASS
- "3대질벙 진단비" → "3대질병 진단비" PASS
- "보혐료 납입면체" → "보험료 납입면제" PASS

## L1 스모크테스트 결과
- 서버 재시작: 미통과 (sb_helpers 모듈 미설치 — 프로덕션 환경에서만 존재하는 기존 의존성 문제)
- API 응답 확인: 해당없음 (서버 미기동)
- 스크린샷: 해당없음
- 대체 검증: py_compile 정상 + 교정 로직 단위테스트 5건 PASS + npm run build 성공

## 발견 이슈 및 해결

1. **sb_helpers 모듈 미설치**: 로컬 환경에 sb_helpers(Supabase 헬퍼) 미설치로 서버 import 실패. 기존 이슈이며 프로덕션에서는 정상. 이번 작업 범위 외.
2. **진단 경고 (pyright)**: sb_first 미사용, on_event deprecated 등 10건. 모두 기존 이슈이며 이번 변경과 무관.
3. **정상 단어 제외 확인**: 작업 지시서에 "보장개시일", "피보험자" 등 정상 단어가 포함되어 있었으나 교정 사전에서 올바르게 제외됨 (정상 단어를 사전에 넣으면 불필요한 replace 발생).

## 빌드 결과
- npm run build: 성공 (12.38s)
- dist/ 타임스탬프: 2026-04-28 19:36

## 모델 사용 기록
- 루(백엔드): sonnet — 교정 사전 확장 + 가이드 파일 생성 + Vision 프롬프트 연동
- 브리짓/아네/모리건: 미활성 (백엔드 전용 작업)

## 셀프 QC 체크리스트
- [x] 1. 영향 파일: server/main.py, newsletter_parsing_guide.txt
- [x] 2. 엣지 케이스: 가이드 파일 미존재 시 빈 문자열 처리 (FileNotFoundError catch)
- [x] 3. 작업 지시와 정확히 일치
- [x] 4. 보안: 파일 경로 검증 기존 로직 유지
- [x] 5. 테스트: 교정 로직 5건 PASS
- [x] 6. 발견 이슈 3건 모두 처리/기록 완료
- [x] 7. SOLID/DRY: 가이드 로드 패턴 통일 (두 함수에서 동일 패턴 사용)
- [x] 8. 인터페이스 변경 없음
- [x] 13. L1: py_compile + 단위테스트 + 빌드로 대체 검증 완료

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


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

