iop/agent-task/09_ops_console_docs/plan_cloud_G07_2.log
toki 6e2a1fc2f2 feat: edge runtime, opsconsole, CLI target terminology, and e2e validation updates
- Add edge runtime config and opsconsole package
- Refactor edge console to use new runtime config
- Add service source metadata support
- Update CLI adapter with target terminology
- Add edge operation contract and event bus replay
- Update node label and command ops surface
- Add E2E smoke tests and full validation
- Update proto runtime definitions
- Update documentation and agent-ops rules
2026-05-17 14:57:49 +09:00

146 lines
6.9 KiB
Text

<!-- task=09_ops_console_docs plan=2 tag=REVIEW_REVIEW_OCD -->
# 09 Ops Console Docs Follow-up Plan - REVIEW_REVIEW_OCD
## 이 파일을 읽는 구현 에이전트에게
**필수: 구현 마지막에는 반드시 `CODE_REVIEW-*-G??.md`의 구현 에이전트 소유 섹션을 실제 구현 내용과 검증 출력으로 채운다.**
이 follow-up은 README 문서 손상과 검증 출력 신뢰도만 다룬다. review 파일의 아카이브 지시와 `코드리뷰 전용 체크리스트`는 코드리뷰 에이전트 전용이므로 수정하거나 체크하지 않는다.
## 배경
plan 1 구현은 `CLI Agent` bullet 문제는 고쳤지만, README의 Control Plane/Non-Goals 영역에 task 09 범위 밖 변경과 새 문서 손상을 남겼다. 또한 review 파일의 검증 결과가 실제 stdout/stderr가 아니라 재구성된 표식과 다른 출력 형식으로 기록되어 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_1.log`
- `agent-task/09_ops_console_docs/code_review_cloud_G07_1.log`
### 테스트 커버리지 공백
- Docs-only Markdown 구조와 review 기록 fidelity는 Go unit test가 직접 커버하지 않는다.
- `rg --sort path`, `git diff --check`, `go build ./...`로 deterministic 검증한다.
### 심볼 참조
- 코드 심볼 rename은 없다.
- 문서 범위 밖 잔여어: `Go 기반 단일 바이너리`, `Node/Model`, `Policy/Config`, `Job/Worker`, `Audit, Metrics/Event`, `Go 단일 바이너`, `Portal UI`, `별 상세 기획`, `운영 제어 API`.
### 범위 결정 근거
- `README.md`에서 task 09 소유 변경은 ops console/cli adapter wording뿐이다.
- `apps/edge/README.md`의 E2E smoke 및 node command 문서 hunk는 이전 plan처럼 외부 task 소유 후보로 남긴다.
- 코드 변경, config key rename, HTTP API 설계 문서 작성은 제외한다.
### 빌드 등급
- Build `cloud-G07`: verification trust failure가 반복되어 exact output 회복이 필요하다.
- Review `cloud-G07`: 작업은 docs-only이지만 같은 파일에 여러 task 변경이 섞여 있어 범위 판단이 필요하다.
## 구현 체크리스트
- [ ] `README.md`의 Control Plane/roadmap/non-goals 범위 밖 변경과 새 오타/중복 줄을 복구한다.
- [ ] task 09 소유 변경만 남았는지 deterministic 검색으로 확인한다.
- [ ] 계획된 검색/빌드 검증 명령을 정확히 재실행하고 실제 stdout/stderr를 기록한다.
- [ ] CODE_REVIEW-*-G??.md의 구현 에이전트 소유 섹션을 실제 구현 내용과 검증 출력으로 채운다. 이 항목이 완료되기 전에는 구현이 완료된 것이 아니다.
### [REVIEW_REVIEW_OCD-1] README 범위 밖 변경과 문서 손상 복구
#### 문제
`README.md:77`, `README.md:87`-`README.md:90`, `README.md:206`, `README.md:214`, `README.md:238`, `README.md:244`, `README.md:278`-`README.md:283`에 task 09 범위 밖 Control Plane 변경, `바이너` 오타, 중복 Non-Goals 항목이 남아 있다.
#### 해결 방법
다음 문맥을 원래 README 방향으로 복구한다.
```markdown
Control Plane은 자체 서버와 프론트 페이지를 가진 중앙 관리 계층이다.
- Runtime 영역과 Automation 영역을 나눠 보여주는 운영 화면 제공
- Control Plane은 향후 여러 Edge 관리와 프론트 페이지 제공을 위해 추가된다.
| `apps/control-plane` | 향후 여러 Edge를 연결하고 운영 화면을 제공할 중앙 관리 계층 |
- 자체 서버와 프론트 페이지 제공
- Control Plane UI 화면별 상세 기획
- Plane 연동 상세 workflow
- NomadCode 상세 제품 설계
```
`README.md`의 ops console/cli adapter wording 변경은 유지한다.
#### 수정 파일 및 체크리스트
- [ ] `README.md`
#### 테스트 작성
- 별도 테스트 없음. 문서 diff와 deterministic 검색으로 검증한다.
#### 중간 검증
```bash
rg --sort path -n "Go 기반 단일 바이너리|Edge를 통한 Node/Model|Policy/Config|Job/Worker|Audit, Metrics/Event|Go 단일 바이너|Portal UI|별 상세 기획|운영 제어 API" README.md
rg --sort path -n "Control Plane은 자체 서버와 프론트 페이지|Runtime 영역과 Automation 영역|Control Plane은 향후 여러 Edge 관리와 프론트 페이지|운영 화면을 제공할 중앙 관리 계층|자체 서버와 프론트 페이지 제공|Control Plane UI 화면별 상세 기획" README.md
```
Expected: 첫 번째 command는 no output. 두 번째 command는 복구된 원문 문맥만 출력한다.
### [REVIEW_REVIEW_OCD-2] 검증 출력 fidelity 회복
#### 문제
`code_review_cloud_G07_1.log:75`-`code_review_cloud_G07_1.log:142`에 `DIFF_CHECK_PASS`, `NO_PORTAL_REFERENCES_FOUND`, `BUILD_PASS` 같은 재구성 표식이 기록되어 있다. `rg --sort path -n "ops console|cli adapter|edge-local" ...` 출력도 실제 command 형식과 다르다.
#### 해결 방법
새 `CODE_REVIEW-cloud-G07.md`에는 exact command 재실행 결과를 그대로 기록한다.
- 출력이 없는 성공 명령: `(no output, exit code 0)`처럼 stdout/stderr가 비었음을 명시한다.
- no-match가 성공 조건인 `rg`: `(no output, exit code 1 - no matches)`처럼 `rg`의 exit code 의미를 명시한다.
- match가 있는 `rg`: 실제 `path:line:text` 형식을 그대로 붙여 넣는다.
- `위와 동일`, `PASS`, `BUILD_PASS` 같은 요약 표식으로 stdout/stderr를 대체하지 않는다.
#### 수정 파일 및 체크리스트
- [ ] `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_OCD-1 |
| `CODE_REVIEW-cloud-G07.md` | REVIEW_REVIEW_OCD-2 |
## 최종 검증
```bash
git diff --check -- README.md docs/architecture.md apps/edge/README.md
rg --sort path -n "Go 기반 단일 바이너리|Edge를 통한 Node/Model|Policy/Config|Job/Worker|Audit, Metrics/Event|Go 단일 바이너|Portal UI|별 상세 기획|운영 제어 API" 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`의 구현 에이전트 소유 섹션을 채운다. 이 파일 작성이 구현의 마지막 단계다.