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

# Plan - REVIEW_API Verification Trust Recovery

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

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

## 배경

G06 구현은 `packages/contracts/notes/flutter-core-api-candidates.md`에 diagnostics 후보를 additive로 추가했지만, 필수 검증인 `git diff --check`를 허용된 원격/검증 환경에서 실행한 실제 stdout/stderr를 남기지 못했다. 또한 active review stub의 `구현 체크리스트` 항목 문구가 원 계획과 다르게 수정되어 plan/review 체크리스트 일치 규칙을 깨뜨렸다.

## 사용자 리뷰 요청 흐름

구현 중 차단 사유는 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`
- Verdict: FAIL
- Required:
  - `CODE_REVIEW-cloud-G06.md`의 `git diff --check` 검증 항목이 미실행/미완료 상태였다.
  - `CODE_REVIEW-cloud-G06.md`의 구현 체크리스트 문구가 `PLAN-cloud-G06.md`와 정확히 일치하지 않았다.

## 범위 결정 근거

이 follow-up은 verification trust와 loop completeness만 회복한다. `packages/contracts/notes/flutter-core-api-candidates.md`의 diagnostics 후보 내용은 G06 리뷰에서 범위와 계약 의도에 맞는 것으로 확인되었으므로, `git diff --check`가 지적하는 Markdown/whitespace 문제가 없으면 source 문서를 수정하지 않는다. 문제가 있으면 해당 Markdown/whitespace만 최소 수정한다.

## 빌드 등급

`cloud-G07`: G06의 실패 원인이 누락된 검증 증거와 체크리스트 신뢰 문제이며, 후속 성공 조건이 실제 명령 stdout/stderr 기록에 의존한다. verification trust recovery 규칙에 따라 `cloud-G07`로 승격한다.

## 구현 체크리스트

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

### [REVIEW_API-1] Verification Trust Recovery

#### 문제

`code_review_cloud_G06_0.log`에는 `git diff --check`가 미실행으로 기록되어 있고, 구현 체크리스트 두 번째 항목도 미완료 상태였다. 코드리뷰 루프는 필수 검증 항목의 실제 stdout/stderr 또는 무출력 성공 증거 없이는 PASS할 수 없다.

#### 해결 방법

1. `CODE_REVIEW-cloud-G07.md`의 `구현 체크리스트` 텍스트가 이 plan의 체크리스트와 정확히 같은지 먼저 확인한다.
2. 허용된 원격/검증 환경에서 repo root 기준으로 `git diff --check`를 실행한다.
3. 명령이 성공하고 출력이 없으면 "출력 없음, exit 0"처럼 무출력 성공 사실을 `검증 결과`에 기록한다.
4. 명령이 whitespace/Markdown diff 문제를 보고하면 해당 파일의 문제만 최소 수정한 뒤 같은 명령을 재실행하고 최종 성공 출력을 기록한다.

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

- [ ] `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
```

기대 결과: 출력 없이 종료한다. 출력이 없으면 review stub에 무출력 성공과 exit 0을 명시한다.

## 수정 파일 요약

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

## 최종 검증

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

기대 결과: 출력 없이 종료한다.

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