<!-- task=mattermost_push_plugin_extraction/05+03,04_docs_verify plan=2 tag=REVIEW_REVIEW_REFACTOR -->

# Docs Verify Link And Verification Fix Plan

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

이 계획은 `code_review_cloud_G07_1.log`의 Required 이슈만 닫는다. 구현을 끝내기 전 `CODE_REVIEW-cloud-G07.md`의 구현 에이전트 소유 섹션을 반드시 채운다. 검증 명령을 실제로 실행하고 stdout/stderr를 붙여 넣은 뒤 active 파일을 그대로 둔 채 review ready를 보고한다.

## 배경

두 번째 리뷰에서 로컬 절대 `file://` 링크는 제거됐지만, 새 Markdown 상대 링크가 실제 plugin README 위치를 가리키지 않는 것으로 확인됐다. 또한 절대경로 검색 검증 명령이 shell에서 실행 가능한 정규식이 아니어서 기록된 exit code를 신뢰할 수 없다.

## 분석 결과

### 읽은 파일

- `agent-task/mattermost_push_plugin_extraction/05+03,04_docs_verify/code_review_cloud_G07_1.log`
- `agent-task/mattermost_push_plugin_extraction/05+03,04_docs_verify/plan_cloud_G07_1.log`
- `apps/mobile/push-notification-todo.md`

### Required 이슈

- `REVIEW_REVIEW_REFACTOR-1`: `apps/mobile/push-notification-todo.md` plugin README Markdown link is broken.
- `REVIEW_REVIEW_REFACTOR-2`: absolute-path grep verification command is invalid and its recorded output is not reproducible.

### 빌드 등급

Build lane: `cloud-G07`; review lane: `cloud-G07`. This remains a verification-trust follow-up after a failed real command check.

## 구현 체크리스트

- [x] [REVIEW_REVIEW_REFACTOR-1] Host handoff 문서의 plugin README 참조를 실제 위치로 해석되는 경로 또는 명확한 repo-root 기준 plain text로 고친다.
- [x] [REVIEW_REVIEW_REFACTOR-2] 절대경로 검색 검증을 실행 가능한 `rg -e` 명령으로 교체하고 실제 출력과 exit code를 기록한다.
- [x] 중간 검증과 최종 검증 명령을 모두 실행하고 실제 출력을 `CODE_REVIEW-cloud-G07.md`에 붙여 넣는다.
- [x] CODE_REVIEW-*-G??.md의 구현 에이전트 소유 섹션을 실제 구현 내용과 검증 출력으로 채운다. 이 항목이 완료되기 전에는 구현이 완료된 것이 아니다.

## 의존 관계 및 구현 순서

- 이전 Android 원격 빌드 검증은 이 계획에서 반복하지 않는다.
- 문서 링크와 검증 명령 신뢰성만 좁게 수정한다.

### [REVIEW_REVIEW_REFACTOR-1] Fix Plugin README Reference

#### 문제

`apps/mobile/push-notification-todo.md` is located under `apps/mobile/`. The current Markdown target `../../mattermost-push-plugin/README.md` resolves to `nomadcode/mattermost-push-plugin/README.md`, but the plugin repository is a sibling of `nomadcode`.

#### 해결 방법

Prefer the plain repo-root reference to avoid ambiguity. If using a Markdown link, verify it from the document directory with `test -f apps/mobile/<link-target>`.

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

- [x] `apps/mobile/push-notification-todo.md` no longer contains the broken `../../mattermost-push-plugin/README.md` target
- [x] The referenced plugin README exists when resolved by the documented rule

### [REVIEW_REVIEW_REFACTOR-2] Fix Absolute-Path Verification Command

#### 문제

The command recorded in `CODE_REVIEW-cloud-G07.md` used a double-quoted trailing backslash regex:

```bash
rg --sort path "file:///|/config/workspace|/Users/|[A-Za-z]:\\" ...
```

In shell execution this passes an invalid regex to ripgrep and produces a parse error, so the recorded no-match exit code is not reproducible.

#### 해결 방법

Use separate `-e` patterns and avoid a trailing escape. Include stdout/stderr and the actual exit code in `CODE_REVIEW-cloud-G07.md`.

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

- [x] `CODE_REVIEW-cloud-G07.md` uses the corrected `rg -e` command
- [x] The command output is real stdout/stderr
- [x] The exit code is recorded

## 수정 파일 요약

| 파일 | 항목 |
|------|------|
| `apps/mobile/push-notification-todo.md` | REVIEW_REVIEW_REFACTOR-1 |
| `CODE_REVIEW-cloud-G07.md` | REVIEW_REVIEW_REFACTOR-1, REVIEW_REVIEW_REFACTOR-2 |

## 최종 검증

```bash
cd /config/workspace/nomadcode && test -f ../mattermost-push-plugin/README.md && printf 'plugin_readme_from_repo_root=ok\n'
cd /config/workspace/nomadcode && ! rg --sort path '\]\(\.\./\.\./mattermost-push-plugin/README\.md\)' apps/mobile/push-notification-todo.md
cd /config/workspace/nomadcode && rg --sort path -e 'file:///' -e '/config/workspace' -e '/Users/' -e '[A-Za-z]:[\\/]' apps/mobile/README.md apps/mobile/push-notification-todo.md ../mattermost-push-plugin/README.md; printf 'exit=%s\n' "$?"
```

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