<!-- task=mattermost_push_plugin_extraction/04+02_risk_hardening plan=4 tag=REVIEW_REVIEW_REVIEW_REVIEW_REFACTOR -->

# Push Plugin Review File Completion Plan

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

이 계획은 `code_review_cloud_G08_3.log`의 FAIL 판정에서 남은 리뷰 파일 completeness 문제만 닫는다. 소스 코드와 plugin 검증은 직전 리뷰에서 통과했으므로, 코드 변경은 하지 않는다. 구현을 끝내기 전 `CODE_REVIEW-cloud-G08.md`의 구현 에이전트 소유 섹션을 반드시 실제 내용으로 채운다.

## 배경

체크리스트 계약, `flutter analyze`, `flutter test`, 원격 Android debug build는 재검증에서 통과했다. 남은 문제는 `CODE_REVIEW-cloud-G08.md`의 구현 에이전트 소유 섹션인 `계획 대비 변경 사항`과 `주요 설계 결정`이 placeholder 문구 그대로 남아 completeness 계약을 만족하지 못한 점이다.

## 분석 결과

### 읽은 파일

- `agent-task/mattermost_push_plugin_extraction/04+02_risk_hardening/code_review_cloud_G08_3.log`
- `agent-task/mattermost_push_plugin_extraction/04+02_risk_hardening/plan_cloud_G08_3.log`
- `agent-task/mattermost_push_plugin_extraction/04+02_risk_hardening/CODE_REVIEW-cloud-G08.md`

### 실패 근거

- `code_review_cloud_G08_3.log` records remaining placeholders in `계획 대비 변경 사항` and `주요 설계 결정`.

### 범위 결정 근거

- Do not edit plugin source, lockfiles, generated files, or roadmap files for this follow-up.
- Fill only the active review file implementation-owned sections and rerun lightweight verification that the placeholders are gone.

### 빌드 등급

- Build lane: `cloud-G08`; review lane: `cloud-G08`. This is a repeated review-loop follow-up for a high-risk task, but implementation scope is review-file completion only.

## 구현 체크리스트

- [ ] [REVIEW_REVIEW_REVIEW_REVIEW_REFACTOR-1] `CODE_REVIEW-cloud-G08.md`의 `계획 대비 변경 사항`과 `주요 설계 결정` placeholder를 실제 내용으로 교체한다.
- [ ] [REVIEW_REVIEW_REVIEW_REVIEW_REFACTOR-2] placeholder 문자열이 남지 않았고 핵심 검증 명령이 계속 통과함을 기록한다.
- [ ] 중간 검증과 최종 검증 명령을 모두 실행하고 실제 출력을 `CODE_REVIEW-cloud-G08.md`에 붙여 넣는다.
- [ ] CODE_REVIEW-*-G??.md의 구현 에이전트 소유 섹션을 실제 구현 내용과 검증 출력으로 채운다. 이 항목이 완료되기 전에는 구현이 완료된 것이 아니다.

## 의존 관계 및 구현 순서

1. `계획 대비 변경 사항`에 이번 follow-up이 review-file metadata completion only인지, 코드 변경이 없었는지 명시한다.
2. `주요 설계 결정`에 placeholder 제거와 검증 재사용/재실행 판단을 실제 문장으로 기록한다.
3. Placeholder 문자열 검색과 핵심 검증을 실행한다.

### [REVIEW_REVIEW_REVIEW_REVIEW_REFACTOR-1] Review-Owned Content Fill

#### 문제

구현 에이전트 소유 섹션에 template placeholder가 남아 있다.

#### 해결 방법

`계획 대비 변경 사항`과 `주요 설계 결정`을 실제 내용으로 교체한다. 변경 사항이 없으면 `없음`이라고 단정하지 말고, 이번 follow-up의 범위가 review-file completion이며 소스 변경이 없었다는 사실을 기록한다.

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

- [ ] `CODE_REVIEW-cloud-G08.md` has non-placeholder `계획 대비 변경 사항`
- [ ] `CODE_REVIEW-cloud-G08.md` has non-placeholder `주요 설계 결정`
- [ ] No plugin source files are edited

#### 중간 검증

```bash
cd /config/workspace/nomadcode && ! rg --sort path "_구현 에이전트가|Replace placeholder" agent-task/mattermost_push_plugin_extraction/04+02_risk_hardening/CODE_REVIEW-cloud-G08.md
```

Expected: no output and command exits 0 through `!`.

### [REVIEW_REVIEW_REVIEW_REVIEW_REFACTOR-2] Verification Replay

#### 문제

Review completion should preserve the passing verification state without introducing generated files or source changes.

#### 해결 방법

Run lightweight local verification and record output. Remote Android build does not need another full replay unless source or dependency files changed.

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

- [ ] `flutter analyze` exits 0
- [ ] `flutter test` exits 0
- [ ] git status shows no new plugin source changes caused by this follow-up

#### 중간 검증

```bash
cd /config/workspace/mattermost-push-plugin && flutter analyze
cd /config/workspace/mattermost-push-plugin && flutter test
cd /config/workspace/nomadcode && git -C ../mattermost-push-plugin status --short
```

Expected: analyze/test pass. Status may show the pre-existing untracked plugin repo scaffold, but no additional source edits should be attributed to this follow-up.

## 수정 파일 요약

| 파일 | 항목 |
|------|------|
| `agent-task/mattermost_push_plugin_extraction/04+02_risk_hardening/CODE_REVIEW-cloud-G08.md` | REVIEW_REVIEW_REVIEW_REVIEW_REFACTOR-1, REVIEW_REVIEW_REVIEW_REVIEW_REFACTOR-2 |

## 최종 검증

```bash
cd /config/workspace/nomadcode && ! rg --sort path "_구현 에이전트가|Replace placeholder" agent-task/mattermost_push_plugin_extraction/04+02_risk_hardening/CODE_REVIEW-cloud-G08.md
cd /config/workspace/mattermost-push-plugin && flutter analyze
cd /config/workspace/mattermost-push-plugin && flutter test
cd /config/workspace/nomadcode && git -C ../mattermost-push-plugin status --short
```

Expected: no placeholders remain in the active review file, analyze/test pass, and no unexpected plugin source changes are introduced.
