<!-- task=09_ops_console_docs plan=3 tag=REVIEW_REVIEW_REVIEW_OCD -->

# 09 Ops Console Docs Follow-up Plan - REVIEW_REVIEW_REVIEW_OCD

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

**필수: 구현 마지막에는 반드시 `CODE_REVIEW-*-G??.md`의 구현 에이전트 소유 섹션을 실제 구현 내용과 검증 출력으로 채운다.**
이 follow-up은 plan 2 리뷰에서 남은 두 Required만 다룬다. review 파일의 아카이브 지시와 `코드리뷰 전용 체크리스트`는 코드리뷰 에이전트 전용이므로 수정하거나 체크하지 않는다.

## 배경

plan 2 구현은 README의 깨진 줄과 주요 복구는 처리했지만, task 09 범위 밖 Control Plane 상세 항목이 일부 남았다. 또한 `rg` 검증 출력이 실제 stdout 형식과 다르게 기록되어 verification trust가 아직 회복되지 않았다.

## 분석 결과

### 읽은 파일

- `agent-ops/rules/project/rules.md`
- `agent-ops/rules/project/domain/edge/rules.md`
- `agent-ops/skills/common/code-review/SKILL.md`
- `README.md`
- `docs/architecture.md`
- `apps/edge/README.md`
- `agent-task/09_ops_console_docs/plan_cloud_G07_2.log`
- `agent-task/09_ops_console_docs/code_review_cloud_G07_2.log`

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

- Docs-only 범위 정리는 Go unit test가 직접 커버하지 않는다.
- `rg --sort path`, `git diff --check`, `go build ./...`로 검증한다.

### 심볼 참조

- 코드 심볼 rename은 없다.
- 제거 대상 문서 잔여어: `Policy/Config`, `Job/Worker`, `Audit, Metrics/Event`.

### 범위 결정 근거

- `README.md`에서 task 09 소유 변경은 ops console/cli adapter wording뿐이다.
- `apps/edge/README.md`의 E2E smoke 및 node command 문서 hunk는 외부 task 소유 후보로 남긴다.
- `Control Plane UI 화면별 상세 기획`은 원래 README 복구 문맥이므로 제거하지 않는다.

### 빌드 등급

- Build `cloud-G07`: verification trust failure follow-up.
- Review `cloud-G07`: docs-only지만 exact output 확인이 필요하다.

## 구현 체크리스트

- [ ] `README.md`에서 task 09 범위 밖 Control Plane 상세 항목 `Policy/Config`, `Job/Worker`, `Audit, Metrics/Event` 추가분을 제거한다.
- [ ] 계획된 검색/빌드 검증 명령을 정확히 재실행하고 실제 stdout/stderr를 기록한다.
- [ ] CODE_REVIEW-*-G??.md의 구현 에이전트 소유 섹션을 실제 구현 내용과 검증 출력으로 채운다. 이 항목이 완료되기 전에는 구현이 완료된 것이 아니다.

### [REVIEW_REVIEW_REVIEW_OCD-1] README Control Plane 상세 잔여 변경 제거

#### 문제

`README.md:88`-`README.md:90`과 `README.md:244`에 task 09 범위 밖 Control Plane 상세 항목이 남아 있다.

#### 해결 방법

다음 줄을 제거한다.

```markdown
- Policy/Config 관리
- Job/Worker 제어
- Audit, Metrics/Event API 제공
- Policy/Config, Job/Worker, Audit, Metrics/Event API 정리
```

다음 원래 문맥은 유지한다.

```markdown
- Runtime 영역과 Automation 영역을 나눠 보여주는 운영 화면 제공
- 자체 서버와 프론트 페이지 제공
- Control Plane UI 화면별 상세 기획
```

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

- [ ] `README.md`

#### 테스트 작성

- 별도 테스트 없음. deterministic search로 확인한다.

#### 중간 검증

```bash
rg --sort path -n "Policy/Config|Job/Worker|Audit, Metrics/Event" README.md
rg --sort path -n "Runtime 영역과 Automation 영역|자체 서버와 프론트 페이지 제공|Control Plane UI 화면별 상세 기획" README.md
```

Expected: 첫 번째 command는 no output. 두 번째 command는 복구된 원문 문맥만 출력한다.

### [REVIEW_REVIEW_REVIEW_OCD-2] 실제 `rg` 출력 형식 기록

#### 문제

`code_review_cloud_G07_2.log`의 `rg --sort path -n "ops console|cli adapter|edge-local" README.md docs apps/edge` 기록은 실제 stdout 형식과 다르다.

#### 해결 방법

새 `CODE_REVIEW-cloud-G07.md`에는 exact command 재실행 결과를 그대로 기록한다.

- match가 있는 `rg`: 실제 `path:line:text` 형식을 그대로 붙여 넣는다.
- file heading 형식으로 재구성하지 않는다.
- 줄바꿈/공백을 임의로 넣지 않는다.
- 출력이 없는 성공 명령은 `(no output, exit code 0)`, no-match `rg`는 `(no output, exit code 1 - no matches)`로 적는다.

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

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

#### 테스트 작성

- 별도 테스트 없음. review 기록 자체가 검증 대상이다.

#### 중간 검증

```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 ./...
```

## 수정 파일 요약

| 파일 | 항목 |
|---|---|
| `README.md` | REVIEW_REVIEW_REVIEW_OCD-1 |
| `CODE_REVIEW-cloud-G07.md` | REVIEW_REVIEW_REVIEW_OCD-2 |

## 최종 검증

```bash
git diff --check -- README.md docs/architecture.md apps/edge/README.md
rg --sort path -n "Policy/Config|Job/Worker|Audit, Metrics/Event" 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`의 구현 에이전트 소유 섹션을 채운다. 이 파일 작성이 구현의 마지막 단계다.
