# 인슈위키 정제 "이어서 작업" 월 필터 누락 + 상태 처리 개선

## 배경
3월 하반기(2026-03-H2) 정제 중 프로세스가 멈춤 → "이어서 작업" 버튼 클릭 → 전체 파일 처리 시작.
원인: resume handler에 --month 인자 누락.

## 버그 1: resume에 --month 누락 (핵심)

**위치**: `/home/jay/workspace/dashboard/routes_post.py` 1184~1203행
**원인**: `handle_post_wiki_refine_resume()`의 cmd 구성에 `--month` 인자가 없음
- `selected_month`는 status_data에서 읽어옴 (1158행) ✅
- 하지만 cmd에 추가하지 않음 ❌

**수정**:
```python
# 1203행 이후 (output-dir 추가 뒤)에 추가
if selected_month:
    cmd.extend(["--month", selected_month])
```

## 버그 2: 프로세스 kill 후 "이어서 작업" 불가

**위치**: 같은 파일 1141행
**원인**: `status != "cancelled"` → 400 에러. 프로세스가 kill되면 status가 "idle"로 리셋되므로 이어서 작업 버튼 자체가 안 나옴.

**수정**:
- routes_get.py에서 PID 없고 progress > 0이고 progress < 100일 때 → status를 "cancelled"로 반환 (현재는 "idle"로 리셋)
- 또는 프론트에서 "마지막 정제가 중단됨. 이어서 작업하시겠습니까?" 버튼 표시 조건 변경

## 버그 3: resume 시 processedThreads가 0일 수 있음

**위치**: 1155행
**원인**: status가 idle로 리셋되면 processedThreads도 0으로 → skip-threads 0 → 처음부터 다시 시작
**수정**: refine-status.json idle 리셋 시 processedThreads, selectedMonth, filePath 등 메타데이터 보존

현재 idle 리셋 코드 (routes_get.py 1869-1885):
프로세스 종료 시 status="idle" + progress=0으로 설정하면서 메타데이터가 사라짐.

**수정**: 프로세스 종료 감지 시 status="cancelled"로 설정 (idle 대신) + 메타데이터 보존

## 영향 파일
- `/home/jay/workspace/dashboard/routes_post.py` — 수정 (--month 추가)
- `/home/jay/workspace/dashboard/routes_get.py` — 수정 (프로세스 종료 시 cancelled + 메타데이터 보존)

## 검증 시나리오
1. 3월 하반기 정제 시작 → 중간 취소 → 이어서 작업 → ps aux에서 `--month 2026-03-H2` 포함 확인
2. 프로세스 kill 후 `/api/wiki/refine/status` → status="cancelled" + processedThreads 보존
3. 이어서 작업 시 --skip-threads가 이전 processedThreads 값과 일치
4. 기존 정제 시작 기능 회귀 없음

## 주의
- routes_post.py 대용량 — offset/limit
- routes_get.py 대용량 — offset/limit
- 서버 재시작 필요
- 수정 후 즉시 커밋