<!-- task=m-proto-socket-infrastructure-communication-rail/11_contracts_diagnostics plan=2 tag=REVIEW_REVIEW_API -->

# Plan - REVIEW_REVIEW_API Complete Verification Evidence

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

`CODE_REVIEW-cloud-G07.md`의 구현 에이전트 소유 섹션을 실제 구현 내용과 검증 출력으로 반드시 채운다. 구현 후 검증을 실행하고 active 파일은 그대로 둔 채 리뷰 준비를 보고한다. 최종 판정, log rename, `complete.log`, archive 이동은 code-review-skill 전용이다. 사용자 결정, 사용자 소유 외부 환경, 범위 충돌로 막히면 review stub의 `사용자 리뷰 요청` 섹션에 정확한 근거와 재개 조건을 채우고 멈춘다. 후속 에이전트가 명령 재실행이나 산출물 수집으로 닫을 수 있는 증거 공백은 사용자 리뷰 요청이 아니다.

## 배경

G06은 diagnostics contract note를 추가했지만 `git diff --check` 검증 증거가 없어 FAIL이었다. G07 follow-up은 같은 검증 신뢰 회복 작업을 수행해야 했으나, active review stub이 미작성 상태로 남아 구현 항목, 구현 체크리스트, 계획 대비 변경 사항, 주요 설계 결정, 검증 결과가 모두 완료되지 않았다.

## 사용자 리뷰 요청 흐름

구현 중 차단 사유는 active review stub의 `사용자 리뷰 요청` 섹션에 기록한다. 이 섹션은 `agent-ops/skills/common/_templates/implementation-user-review-request-section.md`를 기준으로 하며, code-review가 검증 후 실제 `USER_REVIEW.md` 작성 여부를 결정한다.

## 이전 리뷰 결과

- Archived plan: `agent-task/m-proto-socket-infrastructure-communication-rail/11_contracts_diagnostics/plan_cloud_G06_0.log`
- Archived review: `agent-task/m-proto-socket-infrastructure-communication-rail/11_contracts_diagnostics/code_review_cloud_G06_0.log`
- Archived follow-up plan: `agent-task/m-proto-socket-infrastructure-communication-rail/11_contracts_diagnostics/plan_cloud_G07_1.log`
- Archived follow-up review: `agent-task/m-proto-socket-infrastructure-communication-rail/11_contracts_diagnostics/code_review_cloud_G07_1.log`
- Latest verdict: FAIL
- Required:
  - G07 implementation-owned sections were not filled.
  - G07 checklist items remained unchecked.
  - `git diff --check` output remained `(output)` placeholder instead of actual stdout/stderr or explicit no-output success.

## 범위 결정 근거

이 follow-up은 active review stub completion과 verification evidence 회복만 다룬다. `packages/contracts/notes/flutter-core-api-candidates.md`의 diagnostics 후보 내용은 기존 리뷰에서 계약 의도에 맞는 것으로 판단되었으므로, `git diff --check`가 실제 문제를 보고하지 않는 한 문서 의미를 수정하지 않는다.

## 빌드 등급

`cloud-G07`: 반복된 검증 신뢰 실패와 review stub completeness 실패를 닫아야 하므로 cloud review와 실제 명령 출력 기록이 필요하다.

## 구현 체크리스트

- [ ] `CODE_REVIEW-cloud-G07.md`의 구현 체크리스트가 이 계획과 같은 문구와 순서를 유지하는지 확인하고, 체크박스 외의 문구를 수정하지 않는다.
- [ ] 허용된 원격/검증 환경에서 `git diff --check`를 실행하고 실제 stdout/stderr 또는 무출력 성공 사실과 exit 0을 `CODE_REVIEW-cloud-G07.md`의 `검증 결과`에 기록한다.
- [ ] `git diff --check`가 Markdown/whitespace 문제를 보고하면 `packages/contracts/notes/flutter-core-api-candidates.md`의 해당 문제만 최소 수정하고 diagnostics 후보의 의미 범위는 바꾸지 않는다.
- [ ] `CODE_REVIEW-cloud-G07.md`의 구현 항목별 완료 여부, 구현 체크리스트, 계획 대비 변경 사항, 주요 설계 결정, 검증 결과를 placeholder 없이 실제 내용으로 채운다.
- [ ] CODE_REVIEW-*-G??.md의 구현 에이전트 소유 섹션을 실제 구현 내용과 검증 출력으로 채운다. 이 항목이 완료되기 전에는 구현이 완료된 것이 아니다.

### [REVIEW_REVIEW_API-1] Complete Review Stub And Verification Evidence

#### 문제

`code_review_cloud_G07_1.log`는 구현 항목 완료 여부와 구현 체크리스트가 미체크 상태였고, 계획 대비 변경 사항/주요 설계 결정이 placeholder 그대로였으며, `git diff --check` 검증 결과도 `(output)` placeholder였다. 이 상태에서는 문서 변경 자체가 맞더라도 코드리뷰 루프 완료 조건을 충족하지 못한다.

#### 해결 방법

1. `CODE_REVIEW-cloud-G07.md`의 체크리스트 텍스트와 순서를 이 plan과 정확히 일치시킨다.
2. 허용된 원격/검증 환경에서 repo root 기준으로 `git diff --check`를 실행한다.
3. 출력이 없고 exit code가 0이면 `검증 결과`에 실제로 "출력 없음, exit 0"을 기록한다.
4. 출력이 있으면 해당 Markdown/whitespace 문제만 최소 수정하고, 같은 명령을 다시 실행해 최종 성공 증거를 기록한다.
5. 구현 항목별 완료 여부, 구현 체크리스트, 계획 대비 변경 사항, 주요 설계 결정, 검증 결과를 모두 실제 내용으로 채운다.

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

- [ ] `CODE_REVIEW-cloud-G07.md`: 구현자 소유 섹션 완성, 검증 출력 기록.
- [ ] `packages/contracts/notes/flutter-core-api-candidates.md`: `git diff --check`가 지적한 경우에만 Markdown/whitespace 최소 수정.

#### 테스트 작성

자동 테스트는 작성하지 않는다. contracts 도메인의 현재 확인된 자동 test command는 없으며, 이번 follow-up은 문서 변경에 대한 `git diff --check` 검증 증거 회복이다.

#### 중간 검증

```bash
git diff --check
```

기대 결과: 출력 없이 exit 0으로 종료한다.

## 수정 파일 요약

| 파일 | 항목 |
|------|------|
| `CODE_REVIEW-cloud-G07.md` | REVIEW_REVIEW_API-1 |
| `packages/contracts/notes/flutter-core-api-candidates.md` | REVIEW_REVIEW_API-1, 필요 시에만 |

## 최종 검증

```bash
git diff --check
```

기대 결과: 출력 없이 exit 0으로 종료한다.

모든 코드 변경 완료 후 반드시 `CODE_REVIEW-*-G??.md`의 구현 에이전트 소유 섹션을 채운다. 이 파일 작성이 구현의 마지막 단계다.
