# Complete - m-node-multi-target-serving-foundation/08+03,04,05,06,07_field_smoke

## 완료 일시

2026-06-12

## 요약

3회 plan/review loop 이후 USER_REVIEW stop state를 원격 Edge/Node field smoke 증거와 사용자 승인으로 해소했다. 최종 판정은 PASS/RESOLVED.

## 루프 이력

| Plan | Review | Verdict | 메모 |
|------|--------|---------|------|
| `plan_cloud_G07_0.log` | `code_review_cloud_G07_0.log` | FAIL | legacy adapter normalize가 raw config conflict를 숨기는 repo-owned correctness issue 발견 |
| `plan_cloud_G07_1.log` | `code_review_cloud_G07_1.log` | FAIL | same-name explicit disabled instance가 enabled legacy adapter를 가릴 수 있는 `Enabled` mismatch issue 발견 |
| `plan_cloud_G07_2.log` | `code_review_cloud_G07_2.log` | FAIL | repo-owned normalize fixes/tests/build는 통과했으나 field smoke 원격 환경 prerequisite이 남아 USER_REVIEW로 전환 |
| `USER_REVIEW.md` | user decision | PASS/RESOLVED | 사용자 제공 원격 Node 연결 후 두 Ollama inference route 개별/병렬 호출 성공 증거로 stop state 해소 |

## 구현/정리 내용

- `NormalizeAdapters`의 legacy enabled config와 same-name explicit disabled instance 충돌을 Ollama/Vllm 양쪽에서 error로 거부하도록 보정했다.
- disabled same-name explicit instance 회귀 테스트와 legacy raw config payload 유지 테스트를 추가했다.
- 사용자 제공 원격 환경에 Mac용 node binary/bootstrap을 준비하고, Edge config에 두 Ollama route를 적용해 field smoke를 수행했다.
- 원격 smoke 완료 후 사용자 요청에 따라 Edge 서버를 종료했다.

## 최종 검증

- `go test -count=1 ./packages/go/config ./apps/edge/internal/node ./apps/edge/internal/transport ./apps/edge/internal/edgecmd` - PASS; 상세 stdout은 `code_review_cloud_G07_2.log`의 `검증 결과` 섹션에 보관됨.
- `go test -count=1 ./...` - PASS; 상세 stdout은 `code_review_cloud_G07_2.log`의 `검증 결과` 섹션에 보관됨.
- `go build ./apps/edge/... ./apps/node/...` - PASS; exit 0, output 없음.
- `curl -fsS http://toki-labs.com:18081/healthz` - PASS; `{"status":"ok"}`.
- `curl -fsS http://toki-labs.com:18081/v1/models` - PASS; `gemma4_ext:26b`, `gemma4:26b` 노출 확인.
- `curl -sS --max-time 180 http://toki-labs.com:18081/v1/chat/completions ... model=gemma4_ext:26b` - PASS; 응답 content `ext-ok`.
- `curl -sS --max-time 180 http://toki-labs.com:18081/v1/chat/completions ... model=gemma4:26b` - PASS; 응답 content `base-ok`.
- `node-ollama-1.runtime.concurrency=2` 적용 후 두 `curl ... /v1/chat/completions` 병렬 호출 - PASS; `gemma4_ext:26b` 응답 `ext-parallel-ok`, `gemma4:26b` 응답 `base-parallel-ok`.
- `tail -n 80 edge.log | grep -i "concurrency\\|limit exceeded"` - PASS; 동시성 조정 후 관련 오류 없음.
- `curl -sS --max-time 5 http://toki-labs.com:18081/healthz` after shutdown - PASS; 사용자 요청에 따라 Edge 서버 종료 후 연결 실패 확인.

## Roadmap Completion

- Milestone: `agent-roadmap/phase/inference-provider-extension/milestones/node-multi-target-serving-foundation.md`
- Completed task ids:
  - `field-smoke`: PASS/RESOLVED; evidence=`plan_cloud_G07_2.log`, `code_review_cloud_G07_2.log`, `USER_REVIEW.md`; verification=`go test -count=1 ./packages/go/config ./apps/edge/internal/node ./apps/edge/internal/transport ./apps/edge/internal/edgecmd`, `go test -count=1 ./...`, `go build ./apps/edge/... ./apps/node/...`, 원격 Edge `/healthz`, `/v1/models`, 두 Ollama inference route 개별/병렬 호출
- Not completed task ids: 없음

## 잔여 Nit

- 없음

## 후속 작업

- 없음
