oto/agent-roadmap/phase/independent-control-plane/PHASE.md

28 lines
1.9 KiB
Markdown

# Phase: 독립 Control Plane 기반 OTO
## 상태
[계획]
## 목표
OTO를 iop Edge에 직접 붙는 domain agent가 아니라, 독립 실행 가능한 경량 typed-command CI/CD runner와 선택적 OTO Control Plane을 가진 제품 구조로 전환한다.
현재 OTO CLI/runtime은 `apps/runner`로 옮기고, Flutter client와 Go core service를 분리해 OTO Server가 runner registry, bootstrap, job, log, artifact 상태를 소유하게 한다.
## Milestone 흐름
완료된 Milestone은 archive 경로를 가리키고, 검토중, 진행중, 계획, 스케치 또는 보류 Milestone은 이 Phase 하위 `milestones/` 경로를 가리킨다.
완료, 검토중, 진행중, 계획, 스케치 순서로 두어 아래로 갈수록 미래 작업에 가까워지게 정렬한다.
스케치 Milestone은 아직 구현 가능한 계획이 아니므로 계획 Milestone보다 아래에 둔다.
- [계획] 독립 Control Plane 분리 마이그레이션
- 경로: `agent-roadmap/phase/independent-control-plane/milestones/control-plane-separation-migration.md`
- 요약: iop에 구현된 OTO 등록/heartbeat/bootstrap 구조를 OTO 전용 Server/Runner 계약으로 이관하고, repo를 `apps/runner`, `apps/client`, `services/core` monorepo로 전환한다.
## Phase 경계
- OTO는 iop의 native module이나 iop Edge domain agent로 동작하지 않는다.
- iop는 AI agent/model/provider 기능이 필요한 경우 OTO 또는 NomadCode가 선택적으로 호출하는 외부 provider로 둔다.
- OTO Server는 runner registry, bootstrap, job dispatch, execution history, log/artifact 상태를 OTO 제품 책임으로 소유한다.
- OTO runner는 서버 없이도 로컬 typed-command CI/CD runtime으로 실행 가능해야 하며, OTO Server 연결은 중앙 관리가 필요할 때의 선택 경로로 둔다.
- NomadCode 같은 외부 제품은 OTO Server API를 소비할 수 있지만, OTO client/server 구현을 직접 복제하지 않는다.