# Milestone: <Milestone 이름>

## 위치

- Roadmap: [ROADMAP.md](../../../ROADMAP.md)
- Phase: [PHASE.md](../PHASE.md)

## 목표

<이 Milestone이 끝났을 때 달성되어야 하는 결과를 1~3문장으로 작성>

## 상태

[<스케치 | 계획 | 진행중 | 검토중 | 완료 | 보류 | 폐기>]

## 승격 조건

<!--
[스케치] Milestone일 때만 필수다.
[스케치]에서는 [계획]으로 전환하기 위해 필요한 정의, 결정, 경계, 후속 구현 Milestone 후보를 체크리스트로 적는다.
[계획] 이상 상태에서는 이 섹션을 생략하거나 아래처럼 `- 없음`으로 둔다.
-->

- 없음

<!-- [스케치] 예시:
- [ ] 구현 가능한 목표와 범위를 확정한다.
- [ ] 에이전트가 확정할 수 없는 제품/우선순위/책임 경계를 `구현 잠금 > 결정 필요`로 분리한다.
- [ ] 기능 단위와 후속 구현 Milestone 후보를 나눈다.
-->

## 구현 잠금

- 상태: <잠금 | 해제>
- SDD: <필요 | 불필요>
- SDD 문서: <없음 | [SDD.md](../../../sdd/<phase-slug>/<milestone-slug>/SDD.md)>
- SDD 사유: <필요/불필요 판정 근거 한 줄>
- 잠금 해제 조건: <없음 | 아래 체크리스트>
  - [ ] <SDD가 필요한 경우: SDD 잠금이 해제되어 있다>
  - [ ] <SDD가 필요한 경우: SDD 사용자 리뷰가 없거나 승인/해결되었다>
  - [ ] <SDD가 필요한 경우: Acceptance Scenario가 Milestone 기능 Task와 연결되어 있다>
  - [ ] <SDD가 필요한 경우: Evidence Map이 완료 시 Roadmap Completion과 최종 검증 evidence로 검증 가능하게 연결되어 있다>
- 결정 필요: <없음 | 아래 목록>
  - <에이전트가 확정할 수 없는 제품/범위/우선순위/책임 경계 결정 항목>

## 범위

- <이 Milestone에 포함되는 제품/기술/문서 범위>

## 기능

<!--
Epic은 `### Epic: [epic-id] <이름>` 형식을 사용한다.
epic-id는 공백 없는 짧은 ASCII 영문/숫자 segment 1~4개로 작성하고 segment 구분자는 -_+= 만 사용한다.
Task는 `- [ ] [item-id] 설명` 형식을 사용한다.
item-id는 공백 없는 짧은 ASCII 영문/숫자 segment 1~4개로 작성하고 segment 구분자는 -_+= 만 사용한다.
epic-id와 item-id는 해당 Milestone 안에서만 유일하면 되고, 다른 Milestone에서는 같은 id를 다시 사용할 수 있다.
Task는 기능 또는 산출물 단위다. 검증이 필요한 기능만 같은 Task 안에 `검증: <명령/확인 방법/기대 결과>`를 덧붙인다.
Task 체크리스트는 Epic 바로 아래의 flat list로 유지하고, 구현 세부나 테스트만 따로 떼어낸 하위 체크박스는 만들지 않는다.
별도 `완료 기준` 섹션은 만들지 않는다.
-->

### Epic: [epic-id] <Epic 이름>

<이 Epic이 묶는 capability 또는 산출물 설명>

- [ ] [item-id] <구현 세부가 아니라 이 Milestone에서 달성해야 할 capability 또는 산출물>

<!-- 검증이 필요한 기능 Task 예시:
- [ ] [item-id] <기능 설명>. 검증: <명령/확인 방법/기대 결과>
-->

## 완료 리뷰

- 상태: <없음 | 검토중 | 통과 | 보완 필요 | 보류 | 폐기>
- 요청일: <YYYY-MM-DD | 없음>
- 완료 근거: <모든 기능 Task와 Task 안에 명시된 검증 충족 및 구현 잠금 해제 여부를 1~3줄로 요약>
- 검토 항목: <없음 | 에이전트/런타임이 확인할 완료 근거 또는 archive 조건>
- agent-ui 상태 반영: <해당 없음 | 대기 | 완료 | 차단: 사유>
- 리뷰 코멘트: <없음 | 보완/보류/폐기 방향성>

<!--
기본값은 `해당 없음`이다.
`sync-agent-ui`가 코드 작업을 `milestone-required`로 라우팅했거나 사용자가 Milestone 종료 검토에서 agent-ui 구현 상태 반영을 명시한 경우에만 `대기`로 둔다.
`대기`인 경우 Milestone 종료 검토에서 최종 검증과 code evidence가 확인된 agent-ui view/component/frame만 `구현됨`으로 반영한다.
-->

## 범위 제외

- <이 Milestone에서 의도적으로 하지 않는 일>

## 작업 컨텍스트

- 관련 경로: `<path>`
- 표준선(선택): <기존 구조, 도메인 rule, 플랫폼 관례, 업계 표준으로 진행할 기본 기준>
- 선행 작업: <없음 또는 파일 위치 기준 Markdown 링크(예: [Milestone 이름](../other-milestone.md))/태스크 이름>
- 후속 작업: <없음 또는 파일 위치 기준 Markdown 링크(예: [Milestone 이름](../next-milestone.md))/태스크 이름>
- 확인 필요: <없음 | `구현 잠금 > 결정 필요` 또는 [USER_REVIEW.md](../../../sdd/<phase-slug>/<milestone-slug>/USER_REVIEW.md)로 분리할 항목>
