# Milestone: Milestone Execution Lifecycle Sync

## 위치

- Roadmap: `agent-roadmap/ROADMAP.md`
- Phase: `agent-roadmap/phase/agent-ops-mcp-control-plane/PHASE.md`

## 목표

Plane `Todo` 검토 이후 사용자가 `In Progress`로 옮긴 상위 티켓을 실행 승인으로 해석하고, Milestone Task를 Plane 하위 티켓과 `agent-task/m-<milestone-id>` plan/code-review lifecycle에 연결한다. 이 마일스톤은 사용자가 명시적으로 해제할 때까지 실행하지 않는다.

## 상태

[계획]

## 구현 잠금

- 상태: 잠금
- 결정 필요:
  - [ ] 사용자가 `Milestone Work Item Creation Sync` 확인 후 이 마일스톤의 잠금 해제를 명시한다.

## 범위

- Plane 상위 티켓 `Todo -> In Progress`를 실행 승인으로 해석하는 흐름
- 1하위 티켓 = 1 Milestone Task identity mapping
- Milestone Task를 Plane 하위 티켓으로 생성하거나 기존 하위 티켓과 매칭하는 흐름
- `agent-task/m-<milestone-id>` plan/code-review lifecycle과 Plane 하위 티켓 상태 동기화
- 막힌 작업의 `User Review` 전환과 정상 PASS의 `Done` 전환
- 상위 Milestone 티켓의 `User Review`, `Done`, `Cancelled` 후속 처리

## 기능

### Epic: [execution-sync] Milestone execution lifecycle sync

Todo 이후 실행 lifecycle을 Plane 하위 티켓, Milestone Task, agent-task 결과와 연결한다.

- [ ] [exec-gate] 사용자가 Plane 상위 티켓을 `In Progress`로 옮길 때만 실행 lifecycle을 시작한다. 검증: `Todo`는 검토 상태이고 자동 실행 gate가 아님이 유지된다.
- [ ] [child-map] Milestone Task와 Plane 하위 티켓의 identity mapping을 정한다. 검증: 1하위 티켓이 1 Milestone Task에만 연결된다.
- [ ] [child-create] Milestone Task를 Plane 하위 티켓으로 생성하거나 기존 하위 티켓과 매칭한다. 검증: 재시도 시 중복 하위 티켓을 만들지 않는다.
- [ ] [agent-task-loop] Plane 하위 티켓과 `agent-task/m-<milestone-id>` plan/code-review lifecycle을 연결한다. 검증: PASS/WARN/FAIL/User Review 결과가 각 하위 티켓 상태에 일관되게 반영된다.
- [ ] [parent-review] 모든 하위 작업 완료 후 상위 Milestone 티켓을 `User Review`로 이동하는 기준을 정한다. 검증: 사용자의 최종 확인 전에는 archive 이동을 하지 않는다.
- [ ] [parent-close] 사용자가 상위 티켓을 `Done` 또는 `Cancelled`로 옮길 때 agent-roadmap Milestone 상태와 완료 리뷰를 어떻게 갱신할지 정한다. 검증: 완료와 폐기 모두 사용자 승인 경계를 지킨다.

## 완료 리뷰

- 상태: 없음
- 요청일: 없음
- 완료 근거: 없음
- 리뷰 필요:
  - [ ] 사용자가 완료 결과를 확인했다
  - [ ] archive 이동을 승인했다
- 리뷰 코멘트: 없음

## 범위 제외

- Plane-origin 또는 Agent-origin Milestone 생성 동기화
- sync domain의 provider-neutral 계약 초안
- MCP tool policy와 외부 agent tool permission 상세
- 사용자 승인 없는 자동 archive 이동

## 작업 컨텍스트

- 관련 경로: `services/core/internal/workitem/`, `services/core/internal/scheduler/`, `services/core/internal/workflow/`, `agent-task/`, `packages/contracts/`, `agent-roadmap/`
- 선행 작업: `Milestone Work Item Creation Sync`
- 잠금 해제 조건: 사용자가 명시적으로 이 마일스톤의 잠금 해제를 요청한다.
- 현재 지점: 사용자 확인과 명시적 잠금 해제 전까지 실행하지 않는 후속 마일스톤이다.
- 확인 필요:
  - [ ] 잠금 해제 후 `Todo -> In Progress` 이후 범위를 다시 확인한다.
