# Complete - m-agent-readable-repository-refactor/04_core_config_tests

## 완료 일시

2026-07-16

## 요약

Core config 테스트를 책임별 파일로 분해하고 CLI/provider 배치를 보정한 2회 리뷰 루프를 PASS로 종결했다.

## 루프 이력

| Plan | Review | Verdict | 메모 |
|------|--------|---------|------|
| `plan_local_G06_0.log` | `code_review_local_G06_0.log` | FAIL | 107개 테스트 본문은 보존됐지만 CLI/provider 책임의 두 테스트가 서로 반대 파일에 배치되어 후속 보정을 요구했다. |
| `plan_local_G03_1.log` | `code_review_local_G03_1.log` | PASS | 두 테스트를 올바른 책임 파일로 재배치하고 함수 본문·테스트 수·LOC·package 회귀를 독립 재검증했다. |

## 구현/정리 내용

- `packages/go/config/config_test.go`의 107개 테스트를 Edge/OpenAI/CLI/provider/Node 책임 파일로 분해했다.
- `TestLoadEdge_CodexAppServerDefaultProfile`을 `edge_cli_config_test.go`로, `TestLoadEdge_OllamaContextSize`를 `provider_catalog_config_test.go`로 배치해 파일명과 테스트 책임을 일치시켰다.
- production source, config schema, 테스트 함수 본문은 변경하지 않았다.

## 최종 검증

- `gofmt -w packages/go/config/edge_cli_config_test.go packages/go/config/provider_catalog_config_test.go` - PASS; 대상 파일이 gofmt 상태이다.
- `rg -l --sort path '^func TestLoadEdge_(OllamaContextSize|CodexAppServerDefaultProfile)' packages/go/config/*_test.go` 배치 검증 - PASS; Ollama는 provider catalog, Codex app-server profile은 CLI 파일에 각각 한 번씩 존재한다.
- `go test -list '^Test' ./packages/go/config` - PASS; top-level 테스트 107개다.
- 원본 `config_test.go`와 분할 `*_test.go` 함수별 SHA-256 대조 - PASS; 107개 함수 본문이 일치한다.
- config `*_test.go` 1,000줄 초과 검사 - PASS; 초과 파일은 없다.
- `GOCACHE=/tmp/iop-go-build-cache go test -count=1 ./packages/go/config` - PASS; `ok iop/packages/go/config 0.034s`.
- `GOCACHE=/tmp/iop-go-build-cache go test -count=1 ./packages/go/...` - PASS; 모든 Go 공통 package가 통과했다.

## 잔여 Nit

- 없음

## 후속 작업

- 없음
