# Complete - m-provider-resource-admission-ownership-alignment/05+03,04_provider_pool_policy_admission

## 완료 일시

2026-07-19

## 요약

Edge 공통 provider-pool queue policy와 전체 pending 상한을 구현·검증했으며, 5회 리뷰 루프 끝에 최종 PASS했다.

## 루프 이력

| Plan | Review | Verdict | 메모 |
|------|--------|---------|------|
| `plan_local_G07_0.log` | `code_review_local_G07_0.log` | FAIL | 초기 runtime policy handoff, explicit zero timeout, 실제 pending cap과 결정적 회귀 근거를 보완했다. |
| `plan_local_G06_1.log` | `code_review_local_G07_1.log` | FAIL | candidate-order, cancel/timeout identity와 legacy pending fixture가 실제 경합을 검증하도록 좁혔다. |
| `plan_local_G05_2.log` | `code_review_local_G06_2.log` | FAIL | production에서 도달 가능한 provider ID 없는 legacy candidate로 격리 근거를 복구했다. |
| `plan_local_G06_3.log` | `code_review_local_G07_3.log` | FAIL | legacy pending이 존재하는 실제 cap rejection과 race timing barrier를 추가 보완했다. |
| `plan_local_G06_4.log` | `code_review_local_G06_4.log` | PASS | cap 1 경계, staged cancel/timeout barrier, focused/race/Edge 회귀가 모두 통과했다. |

## 구현/정리 내용

- Service runtime snapshot과 queue manager가 Edge root `provider_pool.max_queue`/`queue_timeout_ms`를 공통 정책으로 사용하도록 정렬하고, 초기 기동과 apply refresh가 같은 policy handoff를 사용하게 했다.
- provider-pool pending만 model group을 가로질러 합산하고 legacy group-local pending은 global cap에서 제외했으며, explicit zero timeout을 caller context 전용 대기로 보존했다.
- cross-group cap, AB/BA candidate order, legacy pending 격리, cancel/timeout recovery, initial/apply handoff와 snapshot 일관성을 deterministic test와 race 반복으로 검증했다.
- 리뷰 중 test failure 진단 메시지와 legacy capacity 설명의 비동작 문구 드리프트를 보정했다.

## 최종 검증

- `gofmt -d apps/edge/internal/service/provider_pool_admission_test.go` - PASS; 출력 없음.
- `git diff --check` - PASS; 출력 없음.
- `GOCACHE=/tmp/iop-go-cache-review-g06-cap-barrier-focused go test -v -count=1 ./apps/edge/internal/service -run '^TestProviderPool(CommonQueueTimeoutAcrossCandidateOrders|MaxQueueCountsPendingAcrossGroups|MaxQueueIgnoresLegacyPending|PendingCountRecoversAfterCancelAndTimeout)$'` - PASS; 네 테스트와 candidate-order AB/BA subtest가 실행됐다.
- `GOCACHE=/tmp/iop-go-cache-review-g06-cap-barrier-race go test -race -count=20 ./apps/edge/internal/service -run '^TestProviderPool(CommonQueueTimeoutAcrossCandidateOrders|MaxQueueCountsPendingAcrossGroups|MaxQueueIgnoresLegacyPending|PendingCountRecoversAfterCancelAndTimeout)$'` - PASS; `ok iop/apps/edge/internal/service 25.337s`.
- `GOCACHE=/tmp/iop-go-cache-review-g06-cap-barrier-focused go test -count=1 ./apps/edge/...` - PASS; 모든 Edge 패키지가 통과했다.
- `GOCACHE=/tmp/iop-go-cache-review-g06-cap-barrier-focused scripts/e2e-long-context-admission-smoke.sh --preflight --out-dir /tmp/iop-long-admission-smoke-review-g06-cap-barrier` - BLOCKED(rc=3); config check는 PASS했고 외부 `/models`와 Control Plane status endpoint는 접근 불가했다. Evidence: `/tmp/iop-long-admission-smoke-review-g06-cap-barrier`.

## Roadmap Completion

- Milestone: `agent-roadmap/phase/operational-observability-provider-management/milestones/provider-resource-admission-ownership-alignment.md`
- Milestone link: [Milestone 문서](agent-roadmap/phase/operational-observability-provider-management/milestones/provider-resource-admission-ownership-alignment.md)
- Completed task ids:
  - `queue-ownership`: PASS; evidence=`agent-task/archive/2026/07/m-provider-resource-admission-ownership-alignment/05+03,04_provider_pool_policy_admission/plan_local_G06_4.log`, `agent-task/archive/2026/07/m-provider-resource-admission-ownership-alignment/05+03,04_provider_pool_policy_admission/code_review_local_G06_4.log`; verification=`go test -race -count=20 ./apps/edge/internal/service -run '^TestProviderPool(CommonQueueTimeoutAcrossCandidateOrders|MaxQueueCountsPendingAcrossGroups|MaxQueueIgnoresLegacyPending|PendingCountRecoversAfterCancelAndTimeout)$'`
- Not completed task ids: 없음

## 잔여 Nit

- 없음

## 후속 작업

- 별도 Milestone Task `capacity-smoke`에서 live provider와 Control Plane endpoint가 가용할 때 capacity 1 cross-model smoke를 수행한다.
