---
task_id: task-2064
type: checklist
scope: task
created: 2026-04-21
updated: 2026-04-21
status: completed
---

# 체크리스트: task-2064

**task**: task-2064

---

## Phase 1 — 원인 분석 (팀장)

- [x] A. dmesg OOM 흔적 확인 → 없음
- [x] B. 로그/output 디렉토리 확인 → 미존재
- [x] C. knowledge_extractor_v2.py 코드 분석
- [x] D. _call_claude() subprocess 에러 핸들링 분석
- [x] E. task-2057 보고서 확인 (이전 수정 내용)
- [x] F. 3 Step Why 자문 완료

## Phase 2 — 코드 수정 (스바로그)

- [x] A. _call_claude()에 TimeoutExpired 명시 처리
- [x] B. stdout 크기 방어 (1MB 초과 → 50KB 절단)
- [x] C. 치명적 오류 핸들러에 exc_info=True + 메모리 로깅 추가
- [x] D. 배치 처리 중 연속 3회 실패 시 안전 중단 로직

## Phase 2.5 — 추가 수정 (팀장 직접)

- [x] A. pyright 에러 수정: exc.process 제거 + fallback_succeeded 제거
- [x] B. 프롬프트 크기 제한 (500KB) 추가
- [x] C. OSError (E2BIG 등) 방어 추가

## Phase 3 — 테스트 (벨레스)

- [x] A. 기존 pytest 279건 전체 PASS (81.42s)
- [x] B. v2 테스트 52건 전체 PASS (0.25s)
- [x] C. pyright 에러 0건 확인

## 검증

- [x] 테스트 통과 확인
- [x] L1 스모크테스트 (규칙기반 추출 2건, 에러 핸들링 3건)
- [x] QC 검증 완료
- [x] 최종 보고
