# Complete - m-node-provider-first-config-surface/03+01_legacy_compat

## 완료 일시

2026-06-30

## 요약

`legacy-compat` split task completed after 3 review loops; final verdict PASS.

## 루프 이력

| Plan | Review | Verdict | 메모 |
|------|--------|---------|------|
| `plan_local_G05_0.log` | `code_review_local_G05_0.log` | FAIL | Same-key provider-first/legacy mixed config did not reject capacity `0` or omitted capacity versus legacy `capacity > 0`. |
| `plan_local_G04_1.log` | `code_review_local_G04_1.log` | FAIL | Capacity mismatch fix landed, but pure legacy-only `LoadEdge` regression evidence was accidentally removed. |
| `plan_local_G04_2.log` | `code_review_local_G04_2.log` | PASS | Pure legacy-only regression test restored; capacity mismatch tests and validation behavior remain intact. |

## 구현/정리 내용

- Restored `TestLoadEdge_LegacyOnlyConfigRegression` for pure legacy `nodes[].adapters.ollama` config without `providers[]`.
- Preserved same-key provider-first/legacy mixed config conflict coverage, including capacity `0`, omitted capacity, and vLLM/OpenAI-compatible capacity mismatch cases.
- Confirmed `ValidateEdgeConfig` and `LoadEdge` paths reject mixed provider/legacy capacity conflicts while legacy-only config still loads.

## 최종 검증

- `go test -count=1 ./packages/go/config ./apps/edge/internal/edgevalidate` - PASS; `iop/packages/go/config` and `iop/apps/edge/internal/edgevalidate` passed.
- `go test ./...` - PASS; all Go packages passed.

## Roadmap Completion

- Milestone: `agent-roadmap/phase/operational-observability-provider-management/milestones/node-provider-first-config-surface.md`
- Completed task ids:
  - `legacy-compat`: PASS; evidence=`plan_local_G05_0.log`, `code_review_local_G05_0.log`, `plan_local_G04_1.log`, `code_review_local_G04_1.log`, `plan_local_G04_2.log`, `code_review_local_G04_2.log`; verification=`go test -count=1 ./packages/go/config ./apps/edge/internal/edgevalidate`, `go test ./...`
- Not completed task ids: 없음

## 잔여 Nit

- 없음

## 후속 작업

- 없음
