# Task ID 포맷 v2 구현

## Lv.2 작업

## 목적
task 번호 체계를 변경하여 Phase/병렬/재시도를 번호만으로 파악 가능하게 함.

## 포맷 정의
상세: `/home/jay/.claude/projects/-home-jay--cokacdir-workspace-autoset/memory/project_task_id_format.md`

```
task-{번호}[_{총Phase}.{현Phase}][_{병렬}][+{재시도}]
```

파싱 규칙:
- `_` 뒤에 숫자.숫자 → Phase (`_3.1`)
- `_` 뒤에 알파벳 → 병렬 (`_a`)
- `+` 뒤에 숫자 → 재시도 (`+1`)

## 수정 대상 3개 파일

### 1. dispatch.py
- `--task-id` 생성 로직 수정
- `--phase` 파라미터 추가 (예: `--phase 3.1`)
- `--parallel` 파라미터 추가 (예: `--parallel a`)
- Phase/병렬 없으면 기존처럼 `task-{번호}` 생성
- 예: `dispatch.py --team dev1 --task-file xxx --phase 3.1 --parallel a` → `task-1781_3.1_a`

### 2. task-timer.py
- task ID 파싱: `_`로 Phase/병렬 분리, `+`로 재시도 분리
- 기존 `task-1772.5` 형식 하위 호환 유지 (레거시 파싱)
- 신규 포맷도 start/end/status 정상 동작

### 3. session-watchdog.sh
- 재시도 시 `+N` 채번 (기존 `.N` 대신)
- 기존: `task-1772.1` → `task-1772.2`
- 변경: `task-1772` → `task-1772+1` → `task-1772+2`
- Phase가 있으면: `task-1772_3.1_a` → `task-1772_3.1_a+1`

## 하위 호환
- 기존 `task-*.*.md` 파일은 그대로 유지 (마이그레이션 없음)
- task-timer.py에서 기존 `.N` 포맷도 파싱 가능하도록 유지
- 새 task부터 v2 포맷 적용

## 검증 시나리오
1. `dispatch.py --phase 3.1 --parallel a` → task ID에 `_3.1_a` 포함 확인
2. `dispatch.py` (phase/parallel 없음) → `task-{번호}` 생성 확인 (기존 호환)
3. `task-timer.py start task-1781_3.1_a` → 정상 기록 확인
4. `task-timer.py status task-1781_3.1_a` → 정상 조회 확인
5. 와치독 재시도 → `task-1781_3.1_a+1` 생성 확인 (`.2`가 아닌 `+1`)
6. 기존 레거시 task ID (`task-1772.5`) → task-timer.py에서 정상 파싱

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