# SDD User Review

## 상태

해결됨

## 검토 대상

- SDD: [SDD.md](SDD.md)
- Milestone: [Milestone 문서](../../../phase/operational-observability-provider-management/milestones/provider-resource-admission-ownership-alignment.md)

## 사용자 결정 항목

### [D01] Queue policy 소유권

- 결정: provider별로 달라질 수 있고 provider 속성이어야 하는 값은 provider가 소유하고, 여러 provider와 model group에 공통으로 적용되는 값은 Edge가 소유한다.
- 적용: provider-pool의 `max_queue`와 `queue_timeout_ms`는 Edge의 공통 `provider_pool` admission policy가 소유한다.
- provider 소유 유지: capacity, long-context capacity, priority 등 provider별 실행 resource 속성.
- model group 역할: 외부 model key와 provider 후보 집합을 소유하며 queue policy owner가 되지 않는다.
- snapshot 의미: provider의 `queued`와 `long_queued`는 Edge queue에서 해당 provider를 현재 후보로 포함하는 요청 pressure이며 provider가 소유한 실제 queue depth가 아니다.
- migration: Edge 공통 값이 없을 때 legacy provider queue 값이 모두 동일한 경우에만 공통 policy로 승격할 수 있다. 값이 다르면 first-candidate를 선택하지 않고 validation error로 처리한다.

## 승인 항목

- [x] D01의 Edge 공통 queue policy 소유권을 선택했다.
- [x] 선택 결과를 SDD와 Milestone에 반영하는 것을 승인했다.
- [x] 반영 후 SDD 잠금 해제를 승인했다.

## 답변 기록

- 2026-07-19: "provider의 속성값으로 있을 수 있고 있어야 하는 것은 provider가 소유권을 갖고, 공통으로 가져야 하는 것들은 Edge에서 가진다."

## 해결 결과

- 사용자 결정을 SDD의 Source of Truth, Interface Contract, Acceptance Scenarios와 작업 컨텍스트에 반영했다.
- Milestone의 queue ownership Task와 구현 잠금 조건에 반영했다.
- 남은 SDD 잠금 항목이 없어 SDD 상태를 `[승인됨]`, SDD 잠금을 `해제`로 전환했다.
