# Milestone: OTO Agent Message Boundary

## 위치

- Roadmap: `agent-roadmap/ROADMAP.md`
- Phase: `agent-roadmap/phase/automation-runtime-bridge/PHASE.md`

## 목표

OTO registration 이후 Edge가 OTO agent에 보낼 build/deploy domain 메시지 경계를 정한다.
기존 `RunRequest/RunEvent`, `CancelRequest`, `NodeCommandRequest/Response`는 envelope 재사용 범위를 정하고, OTO 전용 capability, artifact, log, progress, build result payload는 Node adapter stream과 분리한다.

## 상태

[폐기]

## 구현 잠금

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

## 범위

- OTO build run, cancel, status, capability, artifact, log event의 최소 메시지 경계를 정의한다.
- generic node adapter execution과 OTO domain run의 공통 envelope/전용 payload 분리 기준을 정한다.
- proto schema 변경이 필요한 경우 원본 `proto/iop/*.proto`와 생성물 갱신 범위를 명확히 한다.
- OTO YAML pipeline 의미와 iop Edge routing/audit 의미의 소유 경계를 문서화한다.

## 기능

### Epic: [domain-payload] OTO Domain Payload Boundary

OTO 전용 build/deploy 메시지와 기존 Node 메시지의 재사용 범위를 분리한다.

- [ ] [run-envelope] OTO build run이 기존 run envelope를 재사용할지, 전용 request를 둘지 판단 기준이 문서화되어 있다.
- [ ] [capability-status] OTO capability와 status 조회 메시지의 최소 필드가 정리되어 있다.
- [ ] [artifact-log] artifact, log, progress, build result event가 Node adapter stream과 충돌하지 않는 payload 후보로 정리되어 있다.
- [ ] [proto-scope] proto schema 변경이 필요한 파일과 생성물 갱신 명령이 정리되어 있다. 검증: schema 변경이 있다면 `make proto`와 대상 Go test 기준이 함께 기록된다.

## 완료 리뷰

- 상태: 폐기
- 요청일: 없음
- 완료 근거: 모든 기능 Task가 아직 충족되지 않았다.
- 리뷰 필요:
  - [x] 사용자가 OTO 독립형 실행 방식 전환을 결정했다
  - [x] archive 이동을 승인했다
- 리뷰 코멘트: OTO 독립형 실행 전환으로 Edge 직접 registration 이후의 OTO domain payload boundary 정리는 현재 로드맵에서 폐기한다.

## 범위 제외

- OTO YAML pipeline 실행 엔진 구현
- artifact storage 전체 설계
- Control Plane UI와 multi-edge fleet scheduling
- self-update와 credential rotation

## 작업 컨텍스트

- 관련 경로: `proto/iop/runtime.proto`, `proto/iop/job.proto`, `apps/edge/internal/service`, `apps/edge/internal/events`, `../oto/agent-roadmap/phase/message-based-build-agent/milestones/agent-message-protocol.md`
- 표준선(선택): registration/heartbeat는 기존 proto-socket 흐름을 유지하고, build/deploy 의미는 필요할 때 전용 typed payload로 분리한다.
- 표준선(선택): OTO는 YAML run/capability/event 의미를 소유하고, iop는 Edge routing, command relay, lifecycle/audit boundary를 소유한다.
- 선행 작업: OTO Registration Online Smoke
- 후속 작업: Control Plane multi-edge operations에서 OTO/build-deploy domain agent 상태 노출 여부 결정
- 확인 필요: OTO의 첫 MVP run payload가 YAML 파일 경로 실행인지, 사전 등록된 pipeline id 실행인지
- 폐기 결정: OTO는 독립형 실행 방식으로 전환될 예정이므로 Edge가 OTO agent에 build/deploy domain payload를 직접 보내는 message boundary 정리는 현재 로드맵 범위에서 제외한다.
