<!-- task=m-oto-specific-iop-removal/03+01,02_docs_verification plan=0 tag=REFACTOR -->

# Plan - REFACTOR Docs And Final Verification

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

이 subtask는 `01_config_cli_cleanup`과 `02_runtime_fixture_cleanup` 완료 후 실행한다. 문서 cleanup과 최종 검색 검증을 수행하고, `CODE_REVIEW-*-G??.md`의 구현 에이전트 소유 섹션을 실제 결과로 채운다.

## 배경

코드에서 OTO 전용 경로를 제거한 뒤 최신 사용자/agent 문서도 IOP-managed OTO agent 설명을 남기면 안 된다. Makefile smoke cleanup은 이미 즉시 반영되었으므로 이 plan은 그 상태를 최종 검증에 포함한다.

## 사용자 리뷰 요청 흐름

구현 중 사용자 결정이 필요하면 review stub의 `사용자 리뷰 요청`에 근거를 기록한다. 단순한 검증 재실행이나 검색 결과 triage는 사용자 리뷰 요청으로 올리지 않는다.

## Roadmap Targets

- Milestone: `agent-roadmap/phase/automation-runtime-bridge/milestones/oto-specific-iop-removal.md`
- Task ids:
  - `smoke-cleanup`: `Makefile`의 OTO registration smoke와 OTO repository 의존 실행 경로를 제거한다.
  - `docs-cleanup`: README, agent-ops project rules, 활성 로드맵 문서에서 OTO를 IOP-managed specialized agent로 설명하는 최신 문구를 제거하고 독립 경계로 정리한다.
  - `verification`: active code/docs 검색과 변경 영향 테스트로 OTO 전용 경로 제거를 검증한다.
- Completion mode: check-on-pass

## 분석 결과

### 읽은 파일

- `agent-roadmap/current.md`
- `agent-roadmap/ROADMAP.md`
- `agent-roadmap/phase/automation-runtime-bridge/PHASE.md`
- `agent-roadmap/phase/automation-runtime-bridge/milestones/oto-specific-iop-removal.md`
- `agent-ops/rules/project/rules.md`
- `agent-ops/rules/common/philosophy.md`
- `agent-ops/skills/common/check-roadmap-dependency/SKILL.md` 검색 결과 line만 확인됨. 수정 시 skill 문서 원칙을 따른다.
- `agent-test/local/rules.md`
- `agent-test/local/testing-smoke.md`
- `agent-test/local/platform-common-smoke.md`
- `agent-test/local/edge-smoke.md`
- `agent-test/local/control-plane-smoke.md`
- `agent-test/local/client-smoke.md`
- `README.md`
- `Makefile`

### 테스트 환경 규칙

`test_env=local`이다. 적용 profile은 testing/platform-common/edge/control-plane/client smoke다. 이 최종 subtask는 문서와 검색 검증 중심이므로 `make -n test`, deterministic `rg --sort path`, 그리고 이전 subtasks의 test evidence 확인을 기본으로 한다. 코드 변경이 남아 있으면 변경 범위에 맞는 Go/Flutter tests를 재실행한다.

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

- README/rules/roadmap 문구 cleanup은 automated unit test가 없다. deterministic search와 리뷰로 검증한다.
- Makefile smoke target 제거는 `make -n test`와 `rg`로 확인한다.
- 전체 runtime correctness는 01/02 subtask test output과 필요 시 `go test ./...` 또는 focused package tests로 확인한다.

### 심볼 참조

최초 inventory에서 OTO 관련 참조는 `Makefile`, `README.md`, `agent-ops/rules/project/rules.md`, active roadmap docs, config/edge/control-plane/client tests에 있었다. 이 plan은 docs/search 범위를 담당한다. `agent-roadmap/archive/**`, `agent-task/archive/**`, `.git/**`, `build/**`는 제외한다.

### 분할 판단

Shared task group은 `m-oto-specific-iop-removal`이다. 이 subtask directory name은 `03+01,02_docs_verification`이므로 predecessor indices `01`과 `02`가 필요하다. 현재 active/archive predecessor complete.log는 없다. 구현 시작 전 둘 다 PASS 완료되어야 한다.

### 범위 결정 근거

이 plan은 최신 문서와 최종 검증만 다룬다. `agent-roadmap/archive/**`의 과거 Milestone 제목/본문은 수정하지 않는다. 현재 Milestone 문서 자체의 제목과 목표처럼 작업 식별에 필요한 OTO 단어는 검색 예외로 기록할 수 있다. 다만 README, project rules, ROADMAP/PHASE의 현재 방향 설명에는 IOP-managed OTO agent 표현을 남기지 않는다.

### 빌드 등급

`local-G04`: 문서와 deterministic search 중심이며, 선행 code subtasks가 완료된 뒤 검증하면 된다.

## 구현 체크리스트

- [ ] `README.md`에서 IOP-managed OTO/domain-agent 설명을 generic automation/external domain-agent 경계로 정리한다.
- [ ] `agent-ops/rules/project/rules.md`에서 OTO 등록/부트스트랩 예시를 generic specialized/external agent 표현으로 바꾼다.
- [ ] `agent-roadmap/ROADMAP.md`와 active `PHASE.md`의 최신 Phase 요약에서 OTO 직접 연결/부트스트랩 표현을 generic 독립 전환 경계로 정리한다. archive 링크/과거 Milestone 제목은 수정하지 않는다.
- [ ] 필요하면 `agent-ops/skills/common/check-roadmap-dependency/SKILL.md`의 예시 lock id를 OTO가 아닌 generic 예시로 바꾸고, skill 문서를 짧고 판별 가능하게 유지한다.
- [ ] 최종 `rg --sort path` 결과를 triage해 제거 대상 없음 또는 명시 예외만 남았음을 review stub에 기록한다.
- [ ] CODE_REVIEW-*-G??.md의 구현 에이전트 소유 섹션을 실제 구현 내용과 검증 출력으로 채운다. 이 항목이 완료되기 전에는 구현이 완료된 것이 아니다.

### [REFACTOR-1] Docs Cleanup

#### 문제

`README.md:30`-`32`, `README.md:64`-`73`, `README.md:114`-`119`, `README.md:144`-`150`, `README.md:239`, `README.md:258`이 OTO를 IOP-managed domain agent/bootstrap/enrollment 축으로 설명한다. `agent-ops/rules/project/rules.md:65`와 `rules.md:99`도 OTO 등록/bootstrap을 현재 routing 예시로 남긴다. `agent-roadmap/ROADMAP.md:37`-`39`와 active `PHASE.md:21`-`51`에는 최신 방향 설명과 역사 링크가 섞여 있다.

#### 해결 방법

Before:

```markdown
- OTO 같은 build/deploy domain agent
...
OTO는 build/deploy domain agent의 대표 후보로 둔다.
```

After:

```markdown
- 외부 build/deploy 자동화 도구와 domain-specific agent
...
자체 도메인과 배포 단위를 가진 자동화 도구는 IOP 외부 Control Plane 또는 generic integration boundary로 연결한다.
```

Active roadmap의 과거 완료/폐기 Milestone 제목은 역사 링크라 유지한다. 현재 방향 요약만 "specialized domain agent 직접 연결"에서 "독립 전환 이후 generic boundary 정리"로 바꾼다.

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

- [ ] `README.md`: OTO-specific architecture/example 제거.
- [ ] `agent-ops/rules/project/rules.md`: OTO examples 제거.
- [ ] `agent-roadmap/ROADMAP.md`: active Phase summary 최신화.
- [ ] `agent-roadmap/phase/automation-runtime-bridge/PHASE.md`: 현재 방향 요약 최신화, archive links 유지.
- [ ] `agent-ops/skills/common/check-roadmap-dependency/SKILL.md`: OTO example lock id가 최종 검색을 오염시키면 neutral example로 교체.

#### 테스트 작성

문서 변경이라 신규 unit test는 작성하지 않는다. deterministic search를 검증으로 사용한다.

#### 중간 검증

```bash
rg --sort path -n "\\bOTO\\b|\\boto\\b|oto-agent|OTOAgent" README.md agent-ops/rules/project/rules.md agent-roadmap/ROADMAP.md agent-roadmap/phase/automation-runtime-bridge/PHASE.md agent-ops/skills/common/check-roadmap-dependency/SKILL.md
```

### [REFACTOR-2] Final Verification

#### 문제

Milestone verification은 archive/build/git 제외 전체 활성 검색과 변경 영향 테스트를 요구한다. 선행 subtasks가 완료되어도 최종 triage가 없으면 제거 완료 여부를 판단하기 어렵다.

#### 해결 방법

최종 검색 명령을 deterministic `--sort path`로 실행한다. 결과가 있으면 `변경 필요`, `허용 예외`, `역사 링크`로 분류한다. `변경 필요`가 하나라도 있으면 완료로 보고하지 않는다.

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

- [ ] `Makefile`: OTO smoke target 부재 확인.
- [ ] `agent-task/m-oto-specific-iop-removal/01_config_cli_cleanup/complete.log`: 있으면 검증 근거 확인.
- [ ] `agent-task/m-oto-specific-iop-removal/02+01_runtime_fixture_cleanup/complete.log`: 있으면 검증 근거 확인.
- [ ] active search output triage를 review stub에 기록.

#### 테스트 작성

신규 테스트는 작성하지 않는다. 선행 subtasks의 tests와 최종 search를 evidence로 사용한다.

#### 중간 검증

```bash
make -n test
rg --sort path -n "test-oto-registration-online-smoke|OTO_REPO" Makefile
```

## 수정 파일 요약

| 파일 | 항목 |
|---|---|
| `README.md` | REFACTOR-1 |
| `agent-ops/rules/project/rules.md` | REFACTOR-1 |
| `agent-roadmap/ROADMAP.md` | REFACTOR-1 |
| `agent-roadmap/phase/automation-runtime-bridge/PHASE.md` | REFACTOR-1 |
| `agent-ops/skills/common/check-roadmap-dependency/SKILL.md` | REFACTOR-1 |
| `Makefile` | REFACTOR-2 |

## 의존 관계 및 구현 순서

이 subtask directory name은 `03+01,02_docs_verification`이므로 `01_config_cli_cleanup`과 `02_runtime_fixture_cleanup`의 `complete.log`가 필요하다. 구현 시작 전에 둘 다 완료되었는지 확인한다.

## 최종 검증

```bash
make -n test
rg --sort path -n --hidden -S "\\bOTO\\b|\\boto\\b|oto-agent|OTOAgent|OTOBootstrap|oto_bootstrap|oto_release" -g '!agent-roadmap/archive/**' -g '!agent-task/archive/**' -g '!.git/**' -g '!build/**'
go test -count=1 ./packages/go/config ./apps/edge/cmd/edge ./apps/edge/internal/node ./apps/edge/internal/service ./apps/edge/internal/transport ./apps/control-plane/cmd/control-plane
cd apps/client && flutter test
```

기대 결과: Makefile dry-run 정상, search 결과는 current Milestone 식별/역사 링크 같은 명시 예외 외 제거 대상 없음, Go tests 통과, Flutter test 통과 또는 runner 차단 근거 기록. 모든 코드 변경 완료 후 반드시 `CODE_REVIEW-*-G??.md`의 구현 에이전트 소유 섹션을 채운다. 이 파일 작성이 구현의 마지막 단계다.
