<!-- task=04_refactor_validation_checklist plan=3 tag=REVIEW_REVIEW_REVIEW_TEST -->

# Refactor Validation Checklist - REVIEW_REVIEW_REVIEW_TEST

## 이 파일을 읽는 구현 에이전트에게

아래 체크리스트를 완료하고, 검증 명령을 실제로 다시 실행한 뒤 `agent-task/04_refactor_validation_checklist/CODE_REVIEW-local-G03.md`의 모든 섹션을 실제 출력으로 채우세요. `CODE_REVIEW-local-G03.md`의 아카이브 지시는 리뷰 에이전트 전용입니다.

## 개요

date=2026-05-10
task=04_refactor_validation_checklist, plan=3, tag=REVIEW_REVIEW_REVIEW_TEST
parent=REVIEW_REVIEW_TEST (code_review_local_G03_2.log)

## 배경

직전 루프는 `rg` 명령 형태로 돌아왔지만, 기록된 `rg` 출력이 현재 실제 stdout과 다시 달랐습니다. 또한 저장소 루트에 `rg` 바이너리를 새로 추가해 “검증 문서만 갱신” 범위를 벗어났고, 잔류 `model/Model` 항목 일부를 `변경 필요`로 분류하면서도 완료/PASS처럼 기록했습니다.

## 의존 관계 및 구현 순서

1. `REVIEW_REVIEW_REVIEW_TEST-1`에서 루트 `rg` 바이너리를 산출물 범위에서 제거한다.
2. `REVIEW_REVIEW_REVIEW_TEST-2`에서 현재 환경의 `rg`를 사용해 검색 출력과 예외/변경필요 분류를 정합하게 기록한다.
3. `REVIEW_REVIEW_REVIEW_TEST-3`에서 최종 검증 명령을 다시 실행하고 실제 stdout을 기록한다.

## [REVIEW_REVIEW_REVIEW_TEST-1] 범위 밖 rg 바이너리 정리

### 문제

이번 작업은 검증 문서 갱신이 목적이지만 저장소 루트에 `rg` 바이너리가 새 untracked 파일로 남았습니다. 프로젝트 규칙은 기존 구조와 요청 범위를 우선하므로, 도구 바이너리를 repo root 산출물로 남기면 안 됩니다.

### 해결 방법

루트 `rg` 바이너리를 제거하거나 산출물에서 제외합니다. 검증은 현재 환경에 설치된 `rg`를 사용합니다.

### 수정 파일 및 체크리스트

- [ ] 저장소 루트 `rg` 바이너리 제거
- [ ] `git status --short`에서 `?? rg`가 사라졌는지 확인

### 중간 검증

```bash
command -v rg
git status --short rg
```

기대 결과: 환경의 `rg` 경로가 확인되고, 루트 `rg` untracked 파일이 없다.

## [REVIEW_REVIEW_REVIEW_TEST-2] rg 출력 및 분류 정합성 복구

### 문제

`code_review_local_G03_2.log`의 `rg` 출력 블록은 실제 stdout과 순서가 다릅니다. 또한 `model/Model` 잔류 항목 중 일부를 `변경 필요`로 분류하면서도 완료로 기록해 REVIEW_TEST의 expected result와 충돌했습니다.

### 해결 방법

아래 명령을 그대로 실행하고 실제 stdout을 기록합니다. 각 잔류 항목은 둘 중 하나로 명확히 분류합니다.

- 의도적 예외: 이번 검증 체크리스트에서 PASS 가능
- 변경 필요: 이번 검증 체크리스트는 FAIL이어야 하며 후속 plan이 필요

### 수정 파일 및 체크리스트

- [ ] `rg -n "\bmodel\b|\bModel\b" proto/iop apps packages configs --glob '!**/README.md'` 실제 stdout 기록
- [ ] `rg -n "model execution|model runtime|model workload" proto/iop apps packages --glob '!**/README.md'` 실제 결과 기록
- [ ] `변경 필요`로 분류한 항목이 있으면 완료 여부와 종합 판단에 FAIL을 반영
- [ ] 모든 항목이 의도적 예외라면 `변경 필요` 표현 제거

### 중간 검증

```bash
rg -n "\bmodel\b|\bModel\b" proto/iop apps packages configs --glob '!**/README.md'
rg -n "model execution|model runtime|model workload" proto/iop apps packages --glob '!**/README.md'
```

기대 결과: 출력 블록과 분류가 서로 모순되지 않는다.

## [REVIEW_REVIEW_REVIEW_TEST-3] 최종 검증 stdout 재기록

### 문제

검증 문서가 PASS로 닫히려면 같은 작업 세션에서 실행한 최종 검증 stdout이 문서와 일치해야 합니다.

### 해결 방법

아래 명령을 순서대로 실행하고 실제 stdout을 그대로 기록합니다.

### 수정 파일 및 체크리스트

- [ ] `make proto` 출력 기록
- [ ] 대상 패키지 `go test` 출력 기록
- [ ] `go test ./...` 출력 기록
- [ ] scope guard 출력 기록

### 최종 검증

```bash
make proto
go test ./packages/config ./apps/edge/cmd/edge/... ./apps/edge/internal/node/... ./apps/edge/internal/transport/... ./apps/node/internal/...
go test ./...
git diff --name-only -- README.md 'apps/**/README.md' 'docs/**' apps/control-plane apps/worker
```

기대 결과: 코드 테스트는 통과하고, 문서의 출력 블록이 실제 재실행 결과와 일치한다.
