# 와치독 .done 체크를 최우선으로 이동

## Lv.1 작업

## 문제
task-1772.5+2가 작업 완료(.done 생성)했는데 와치독이 봇 좀비로 오판 → 불필요한 재위임.
`.done` 체크가 교차 체크보다 후순위라서, 완료된 작업도 봇 좀비 판정에 걸림.

## 수정
`/home/jay/workspace/scripts/session-watchdog.sh`

### .done 체크를 heartbeat 체크보다 먼저 실행

현재 순서:
```
1. 유예 기간 체크
2. PID 추적 (Primary)
3. heartbeat 확인
4. 봇 PID 교차 체크
5. (재위임 로직 내부에서) .done 체크  ← 너무 늦음
```

변경 순서:
```
1. 유예 기간 체크
2. ★ .done 체크 (최우선)  ← 여기로 이동
3. PID 추적 (Primary)
4. heartbeat 확인
5. 봇 PID 교차 체크
```

### 코드 (유예 기간 체크 직후, PID 추적 전에 삽입)

105줄 뒤에 추가:
```bash
    # 1.5. .done 체크 (최우선 — 완료된 작업은 즉시 스킵)
    DONE_FILE="${EVENTS_DIR}/${TASK_ID}.done"
    DONE_CLEAR="${EVENTS_DIR}/${TASK_ID}.done.clear"
    if [[ -f "$DONE_FILE" || -f "$DONE_CLEAR" ]]; then
        log "${TASK_ID}: .done 존재 → 완료 작업, 스킵"
        continue
    fi
```

### 기존 183줄의 .done 체크 (정상 종료 분기 내)는 유지
중복이지만 안전장치로 남겨둠.

## 검증 시나리오
1. 작업 완료(.done 존재) → 와치독 로그에 ".done 존재 → 완료 작업, 스킵" 출력
2. .done 없는 봇 좀비 → 기존대로 "봇 좀비 감지" 출력
3. .done.clear 있는 경우 → 마찬가지로 스킵
4. 기존 테스트 회귀 없음

## 보고서
`/home/jay/workspace/memory/reports/task-{TASK_ID}.md`
