# task-1902 미해결 3건 수정

## 배경
task-1902에서 LLM 대기 상태 개선 완료했으나 3건 미해결.

## 수정 1: InsuWikiView.js TypeScript 경고 4줄
파일: `/home/jay/workspace/dashboard/components/InsuWikiView.js`
- 어떤 경고인지 확인 후 수정 (미사용 변수, 타입 불일치 등)
- 기능 영향 없더라도 경고 0건으로 정리

## 수정 2: 프로세스 PID alive 체크
파일: `/home/jay/workspace/dashboard/routes_get.py`

현재 프론트에서 "LLM 응답 대기 중"으로 표시하지만 실제 프로세스가 죽었을 수도 있음.
백엔드에서 `/api/wiki/refine/status` 응답 시 PID alive 체크하여:
- PID 살아있음 + lastUpdated 오래됨 → status에 `pidAlive: true` 필드 추가
- PID 죽었음 → `pidAlive: false` + status를 cancelled로 전환

프론트에서:
- `pidAlive: true` + 갱신 오래됨 → "⏳ LLM 응답 대기 중" (노란색)
- `pidAlive: false` → "❌ 프로세스 종료됨" (빨간색)

## 수정 3: stage1_single / stage2_single 개별 함수 내 로그
파일: `/home/jay/projects/insuwiki/scripts/kakao_knowledge/knowledge_extractor_v2.py`

현재 배치 시작/완료 로그만 있고, 배치 내부의 개별 스레드 처리 로그가 없음.
`_stage1_single()`, `_stage2_single()` (또는 해당하는 LLM 호출 함수) 내에:
- LLM 호출 직전: `_add_log(f"스레드 #{idx} 분석 중...")` + `_write_progress()` 갱신
- LLM 응답 후: `_add_log(f"스레드 #{idx} 완료: 인사이트 {n}건")`

이렇게 하면 배치 내부에서도 실시간으로 어떤 스레드를 처리 중인지 보임.

단, 로그가 너무 많아질 수 있으므로:
- 5개 스레드마다 1줄 로그 (매 스레드마다 X)
- 또는 배치 내 진행률만: "배치 3: 5/20 스레드 처리됨"

## 영향 파일
- `/home/jay/workspace/dashboard/components/InsuWikiView.js` — 수정
- `/home/jay/workspace/dashboard/routes_get.py` — 수정 (pidAlive 추가)
- `/home/jay/projects/insuwiki/scripts/kakao_knowledge/knowledge_extractor_v2.py` — 수정

## 검증 시나리오
1. InsuWikiView.js TypeScript 경고 0건
2. API 응답에 pidAlive 필드 포함
3. 프로세스 죽었을 때 "프로세스 종료됨" 빨간색 표시
4. 배치 내부 스레드 진행 로그 확인
5. insuwiki worktree 머지 필요
