# Milestone: Edge Command와 Control Plane 운영 경계

## 위치

- Roadmap: `agent-roadmap/ROADMAP.md`
- Phase: `agent-roadmap/phase/control-plane-portal-ops/PHASE.md`

## 목표

`iop-edge` command 표면을 Control Plane 없는 local/field/fallback 운영면으로 유지하면서, Control Plane은 상시 운영과 multi-edge 관찰/명령의 기본 운영면으로 확장하는 책임 경계를 확정한다.
모든 command를 미리 열거하지 않고, 새 command와 후속 Cline/OTO/terminal 확장이 따를 operation category와 사용자 가이드 갱신 기준을 정리한다.

## 상태

[완료]

## 구현 잠금

- 상태: 해제
- 결정 필요: 없음

## 범위

- Edge-local CLI에 남길 bootstrap, bundle-local config, env/config 진단, node 등록 command 발급, smoke, 단일 Edge 유지보수 범위
- Control Plane이 기본으로 맡을 상시 운영, multi-edge 관찰/명령, 정책/감사 UX 범위
- CLI, ops console, HTTP/A2A 입력 표면, Control Plane wire handler가 공유할 Edge operation/service 경계
- 기존 command와 새 command를 `Edge-local 필수`, `Control Plane 기본`, `shared operation`으로 분류하는 규칙
- Cline, OTO enrollment, remote terminal bridge 같은 후속 확장이 command를 추가할 때 적용할 배치 규칙
- 변경된 운영 경계를 반영하는 사용자 가이드 문서 업데이트

## 기능

### Epic: [ops-boundary] Operations Boundary

- [x] [cli-scope] `iop-edge` CLI가 Control Plane 없는 bootstrap/local/field/진단 fallback으로 유지할 command category가 문서화된다.
- [x] [cp-scope] Control Plane이 상시 운영, multi-edge 관찰/명령, 정책/감사 UX의 기본 운영면으로 맡을 category가 문서화된다.
- [x] [shared-ops] CLI와 Control Plane에 모두 필요한 작업이 shared Edge operation으로 분류되는 기준이 문서화된다.

### Epic: [operation-contract] Edge Operation Contract

- [x] [service-boundary] CLI, ops console, HTTP/A2A, Control Plane wire handler가 같은 Edge operation을 노출할 때 공유할 service/operation boundary가 정리된다.
- [x] [command-classify] 기존 `iop-edge` command와 후속 specialized agent enrollment command 후보가 완전 열거가 아니라 category 기준으로 분류된다.
- [x] [expansion-gate] Cline, OTO enrollment, remote terminal bridge 같은 후속 확장은 구현 전에 command/operation category를 먼저 선언하는 기준을 따른다.

### Epic: [user-guides] User Guide Updates

- [x] [edge-guide] `apps/edge/README.md`와 `docs/edge-local-dev-guide.md`가 Edge-local CLI fallback과 Control Plane 기본 운영면의 차이를 설명한다.
- [x] [cp-guide] `apps/control-plane/README.md`와 필요한 경우 `README.md`가 Control Plane이 Edge operation을 원격 운영면으로 소비한다는 경계를 설명한다.
- [x] [guide-consistency] 사용자 가이드가 repo helper script를 field 기본 경로로 승격하지 않고, CLI와 Control Plane 역할을 같은 기준으로 설명한다. 검증: 관련 사용자 가이드에서 CLI fallback, Control Plane 기본 운영면, shared operation 기준이 서로 충돌하지 않는지 확인한다.

## 완료 리뷰

- 상태: 승인됨
- 요청일: 2026-05-30
- 완료 근거: Edge-local CLI fallback, Control Plane 기본 운영면, shared Edge operation 분류 기준을 domain rule과 사용자 가이드에 반영했다. `apps/edge/README.md`, `docs/edge-local-dev-guide.md`, `apps/control-plane/README.md`, `README.md`가 같은 category 기준을 설명하고, `rg --sort path`로 관련 문구 충돌 여부를 확인했다.
- 리뷰 필요:
  - [x] 사용자가 완료 결과를 확인했다
  - [x] archive 이동을 승인했다
- 리뷰 코멘트: 사용자 승인에 따라 완료 처리하고 archive로 이동한다. 코드 구현 계획은 만들지 않았다. 이번 마일스톤은 문서/운영 경계 정리 범위이며, Cline/OTO/terminal 구현은 후속 마일스톤에서 다룬다.

## 범위 제외

- 모든 미래 `iop-edge` command를 완전 열거하는 작업
- Control Plane-Edge wire protocol 전체 구현
- Flutter client 운영 화면 구현
- Cline adapter/runtime 확장 구현
- OTO enrollment 구현
- remote terminal bridge POC 구현
- 정책/감사 상세 schema 확정
- Edge-local CLI fallback 제거 또는 deprecation

## 작업 컨텍스트

- 관련 경로: `agent-ops/rules/project/domain/edge/rules.md`, `agent-ops/rules/project/domain/control-plane/rules.md`, `apps/edge/README.md`, `docs/edge-local-dev-guide.md`, `apps/control-plane/README.md`, `README.md`, `apps/edge/cmd/edge`, `apps/edge/internal/service`
- 표준선(선택): `iop-edge` CLI는 bootstrap/local/field/진단 fallback으로 유지하고, Control Plane은 상시 운영과 multi-edge 운영의 기본 표면으로 확장한다.
- 표준선(선택): 같은 Edge operation은 표면별로 복제하지 않고 Edge service/operation boundary로 수렴한다.
- 표준선(선택): 새 command가 필요하면 먼저 `Edge-local 필수`, `Control Plane 기본`, `shared operation` 중 하나로 분류한다.
- 선행 작업: Edge-local Dev Config와 바이너리 중심 실행 루프
- 후속 작업: Control Plane과 Client, Agent Bootstrap과 OTO 등록, 원격 터미널 브리지 POC, Cline adapter/runtime 확장 후보
- 확인 필요: 없음
