# task: 체인 Phase N+1 지시서 파일 미생성 버그 수정

## 버그 현상
`dispatch.py --phases 2`로 위임하면 chain-scoped-637.json에 Phase 2 엔트리가 생성되지만,
실제 지시서 파일(`memory/tasks/task-637.2.md`)은 생성되지 않는다.

Phase 1 완료 → notify-completion.py → chain_manager next → dispatch Phase 2 시도 →
**지시서 파일 없음 → dispatch 실패 → 1팀 유휴 상태 방치** (체인은 "running"으로 표시)

## 근본 원인 분석 필요
1. `dispatch.py`의 `--phases` 처리 로직에서 Phase 1 지시서만 생성하고 Phase 2+ 지시서를 생성하지 않음
2. 또는 `chain_manager.py`의 `cmd_create`에서 task_file 경로만 등록하고 실제 파일 생성을 안 함
3. 또는 `notify-completion.py`의 `dispatch_next_phase()`에서 다음 Phase 지시서를 만들어야 하는데 안 함

## 수정 방향
아래 중 적절한 방식을 선택:

### 방안 A: dispatch.py --phases에서 모든 Phase 지시서 사전 생성
- `--phases N` 호출 시 원본 지시서에서 Phase 섹션을 파싱하여 `task-{id}.1.md` ~ `task-{id}.N.md` 자동 생성
- 장점: 사전에 모든 파일 준비, 체이닝 실패 없음
- 단점: 원본 지시서에 Phase 구분이 명확해야 함

### 방안 B: notify-completion.py에서 다음 Phase 지시서 동적 생성
- Phase N 완료 시 원본 지시서에서 다음 Phase 내용을 추출하여 `task-{id}.{N+1}.md` 생성
- 장점: 유연함
- 단점: 파싱 복잡도

### 방안 C: chain_manager가 지시서 파일 존재 검증 + 없으면 원본 복사
- `cmd_next`에서 다음 task_file 존재 확인 → 없으면 원본 지시서 전체를 복사하여 생성
- 장점: 가장 단순, 안전
- 단점: Phase별 세분화 안 됨 (전체 지시서가 그대로 전달)

**추천: 방안 C** — 가장 안전하고 단순. 원본 지시서에 모든 Phase 내용이 이미 포함되어 있으므로 전체 복사해도 팀장이 해당 Phase만 골라 실행 가능.

## 수정 대상 파일
- `/home/jay/workspace/chain_manager.py` — `cmd_next()`에서 task_file 존재 검증 추가
- `/home/jay/workspace/dispatch.py` — `--phases` 처리 시 원본 task_file 경로를 chain에 기록하는지 확인

## 검증
- 테스트 추가: `tests/test_chain_manager.py`에 "다음 Phase 지시서 파일 없을 때" 시나리오
- 기존 테스트 회귀 없음 확인: `pytest tests/test_chain_manager.py tests/test_dispatch.py -v`

## 금지사항
- chain_manager.py의 기존 테스트를 삭제/수정하지 말 것 (추가만)
- dispatch.py의 기존 --phases 외 로직 변경 금지

## 작업 레벨: Lv.1
