<!-- task=09_ops_console_docs plan=1 tag=REVIEW_OCD -->

# 09 Ops Console Docs Follow-up Plan - REVIEW_OCD

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

**필수: 구현 마지막에는 반드시 `CODE_REVIEW-*-G??.md`의 구현 에이전트 소유 섹션을 실제 구현 내용과 검증 출력으로 채운다.**
아래 `구현 체크리스트`를 순서대로 완료하고, 중간/최종 검증을 실행한 뒤 review 파일에 실제 stdout/stderr를 붙여 넣는다. review 파일의 아카이브 지시와 `코드리뷰 전용 체크리스트`는 코드리뷰 에이전트 전용이므로 수정하거나 체크하지 않는다.

## 배경

plan 0 리뷰에서 ops console 용어 변경 자체는 확인됐지만, 같은 diff 안에 task 09 범위를 벗어난 문서 변경과 깨진 Markdown 목록이 함께 발견됐다. 또한 review 파일에 기록된 `rg` 출력이 현재 재실행 결과와 맞지 않아 verification trust가 깨졌다.

## 분석 결과

### 읽은 파일

- `agent-ops/rules/project/rules.md`
- `agent-ops/rules/project/domain/edge/rules.md`
- `agent-ops/skills/common/code-review/SKILL.md`
- `agent-ops/skills/common/plan/SKILL.md`
- `README.md`
- `docs/architecture.md`
- `apps/edge/README.md`
- `agent-task/09_ops_console_docs/plan_local_G03_0.log`
- `agent-task/09_ops_console_docs/code_review_local_G03_0.log`
- `agent-task/07_node_command_ops_surface/PLAN-cloud-G09.md`
- `agent-task/10_bin_e2e_smoke/PLAN-cloud-G07.md`

### 테스트 커버리지 공백

- Docs-only Markdown 구조와 용어 검증은 Go unit test가 직접 커버하지 않는다.
- `rg --sort path`, `git diff --check`, `go build ./...`로 deterministic 검증한다.

### 심볼 참조

- 코드 심볼 rename은 없다.
- 문서 용어 `임시 디버그`, `temporary debug`, `임시 수동 테스트 UI`, `ops console`, `cli adapter`, `edge-local`만 검색 검증한다.

### 범위 결정 근거

- task 09는 ops console 문서 용어 정리에 한정한다.
- `README.md`의 Web Portal/Control Plane 상세 방향 추가는 `rg "Web Portal|IOP Portal" agent-task`에서 대응 task 근거가 없으므로 이 follow-up에서 제거한다.
- `apps/edge/README.md`의 `/capabilities`, `/sessions`, `/transport` 문서 변경은 `agent-task/07_node_command_ops_surface` 소유 후보이고, `make test-e2e` 문서 변경은 `agent-task/10_bin_e2e_smoke` 소유 후보이므로 무작정 되돌리지 않는다. 대신 task 09 review 기록에서 OCD 소유 변경으로 주장하지 않는다.

### 빌드 등급

- Build `cloud-G07`: 이전 review의 verification output이 재실행 결과와 mismatch되어 trust recovery가 필요하다.
- Review `cloud-G07`: same-file multi-task 변경과 검증 출력 신뢰성 판단이 필요하다.

## 구현 체크리스트

- [ ] `README.md`의 `CLI Agent` bullet 들여쓰기를 복구한다.
- [ ] task 09 소유 범위 밖 문서 변경을 정리하고, 남기는 same-file 외부 변경은 `CODE_REVIEW-cloud-G07.md`에 OCD 비소유로 명시한다.
- [ ] 계획된 검색/빌드 검증 명령을 정확히 재실행한다.
- [ ] CODE_REVIEW-*-G??.md의 구현 에이전트 소유 섹션을 실제 구현 내용과 검증 출력으로 채운다. 이 항목이 완료되기 전에는 구현이 완료된 것이 아니다.

### [REVIEW_OCD-1] README 목록 구조 복구

#### 문제

`README.md:18`-`README.md:20`에서 `CLI Agent`가 `Agent / Automation Execution`의 하위 항목이 아니라 최상위 bullet로 바뀌었다.

Before:

```markdown
- **Agent / Automation Execution**
- CLI Agent
  - Shell
```

#### 해결 방법

`CLI Agent`를 다시 두 칸 들여쓴다.

After:

```markdown
- **Agent / Automation Execution**
  - CLI Agent
  - Shell
```

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

- [ ] `README.md`

#### 테스트 작성

- 별도 테스트 없음. Markdown 구조 변경은 `git diff --check`와 리뷰로 확인한다.

#### 중간 검증

```bash
git diff --check -- README.md docs/architecture.md apps/edge/README.md
```

### [REVIEW_OCD-2] task 09 범위와 same-file 변경 정리

#### 문제

`code_review_local_G03_0.log:25`는 "3개 docs 파일 wording만 변경"이라고 기록했지만 실제 diff에는 `README.md:77`-`README.md:115`, `README.md:221`-`README.md:262`, `apps/edge/README.md:26`-`apps/edge/README.md:30`, `apps/edge/README.md:74`-`apps/edge/README.md:79` 같은 비-OCD 변경이 섞여 있다.

#### 해결 방법

- `README.md`의 Web Portal/Control Plane 상세 추가 hunk는 task 근거가 없으므로 이 follow-up에서 제거한다.
- `apps/edge/README.md`의 E2E smoke와 node command 문서 hunk는 각각 `agent-task/10_bin_e2e_smoke`, `agent-task/07_node_command_ops_surface` 소유 후보이므로 되돌리지 않는다.
- `CODE_REVIEW-cloud-G07.md`의 `계획 대비 변경 사항`에는 task 09 소유 변경과 같은 파일에 남아 있는 외부 task 변경을 분리해 기록한다. "wording만 변경"처럼 현재 diff 전체와 충돌하는 표현은 쓰지 않는다.

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

- [ ] `README.md`
- [ ] `CODE_REVIEW-cloud-G07.md`

#### 테스트 작성

- 별도 테스트 없음. 범위 정리는 diff와 `rg` 출력으로 검증한다.

#### 중간 검증

```bash
rg --sort path -n "Web Portal|IOP Portal" README.md docs apps/edge
```

Expected: task 09 완료 상태에서는 no output.

### [REVIEW_OCD-3] 검증 출력 신뢰도 회복

#### 문제

`code_review_local_G03_0.log:56`-`code_review_local_G03_0.log:64`의 `rg` 출력은 현재 재실행 결과와 일치하지 않는다. 특히 `apps/edge/README.md` line number가 달라졌고, `apps/edge/internal/...` 결과가 추가로 나온다.

#### 해결 방법

계획의 fixed verification command를 변경하지 말고 그대로 재실행한다. 출력이 같은 파일의 다른 task 변경까지 포함하면, 그 사실을 `CODE_REVIEW-cloud-G07.md`에 실제 stdout/stderr와 함께 기록한다.

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

- [ ] `CODE_REVIEW-cloud-G07.md`

#### 테스트 작성

- 별도 테스트 없음. command output fidelity가 검증 대상이다.

#### 중간 검증

```bash
rg --sort path -n "임시 디버그|temporary debug|임시 수동 테스트 UI" README.md docs apps/edge
rg --sort path -n "ops console|cli adapter|edge-local" README.md docs apps/edge
```

## 수정 파일 요약

| 파일 | 항목 |
|---|---|
| `README.md` | REVIEW_OCD-1, REVIEW_OCD-2 |
| `CODE_REVIEW-cloud-G07.md` | REVIEW_OCD-2, REVIEW_OCD-3 |

## 최종 검증

```bash
git diff --check -- README.md docs/architecture.md apps/edge/README.md
rg --sort path -n "Web Portal|IOP Portal" README.md docs apps/edge
rg --sort path -n "임시 디버그|temporary debug|임시 수동 테스트 UI" README.md docs apps/edge
rg --sort path -n "ops console|cli adapter|edge-local" README.md docs apps/edge
go build ./...
```

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