# 고스트 태스크 근본 원인 분석 (task-1.1, task-4.1)

## 문제 현상
- task-1.1 (desc: "작업", team: dev1-team)과 task-4.1 (desc: "마케팅 작업", team: marketing)이 task-timers.json에서 계속 status: "running"으로 나타남
- `task-timer.py end`로 completed 처리해도 얼마 후 다시 running으로 돌아옴
- 대시보드 시스템뷰에서 "지연 작업: 2"로 표시됨

## 조사 대상
1. **task-timers.json 쓰기 경로 전수 조사**: 누가 task-1.1, task-4.1을 running으로 쓰는지 찾아라
   - `grep -rn "task-1.1\|task-4.1" /home/jay/workspace/ --include="*.py" --include="*.sh" --include="*.md"`
   - `grep -rn "task-timers" /home/jay/workspace/ --include="*.py"` — task-timers.json에 write하는 모든 코드 경로

2. **dispatch.py의 followup 메커니즘**: _register_followup()이 아누 봇에게 완료 확인 스케줄을 등록함. 이 followup 봇이 task-timer.py start를 호출하면서 고스트를 만드는 것은 아닌지 확인

3. **task-timer.py start 호출 추적**: task-timer.py start가 호출되는 모든 경로를 조사
   - dispatch.py에서 자동 호출
   - 팀장 워크플로우에서 호출
   - followup 프롬프트에서 호출

4. **cron 스케줄 확인**: `cokacdir --cron-list`에서 task-1.1, task-4.1을 반복 생성하는 반복 스케줄이 있는지 확인
   - cokacdir --cron-list --chat 6937032012 --key (ANU_KEY from .env.keys)

5. **task-timers.json 파일 감시**: 현재 task-1.1, task-4.1 항목의 정확한 내용 확인
   - `python3 -c "import json; d=json.load(open('/home/jay/workspace/memory/task-timers.json')); print(json.dumps({k:d[k] for k in ['task-1.1','task-4.1'] if k in d}, indent=2))"`

## 기대 산출물
- 보고서: `/home/jay/workspace/memory/reports/{task_id}.md`에 다음 포함:
  1. 근본 원인 (어떤 코드/프로세스가 고스트를 생성하는지)
  2. 재현 조건
  3. 수정 방안 (코드 변경 제안, 파일/라인 수준)
- 코드 수정은 하지 마라. 분석만 해라.

## 주의
- 읽기 전용 조사. 코드 수정 금지.
- .env.keys 파일 내용을 보고서에 포함하지 마라.
