4.4 KiB
4.4 KiB
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/archive/phase/independent-control-plane/milestones/control-plane-separation-migration.md - 요약: iop에 구현된 OTO 등록/heartbeat/bootstrap 구조를 OTO 전용 Server/Runner 계약으로 이관하고, repo를
apps/runner,apps/client,services/coremonorepo로 전환한다.
- 경로:
- [완료] 워크스페이스 포트/환경 표준화
- 경로:
agent-roadmap/archive/phase/independent-control-plane/milestones/workspace-port-env-standardization.md - 요약: OTO Core, Flutter client, runner/local test, bootstrap/release URL 포트를 workspace 공통 대역과 독립 Control Plane 기준으로 정리한다.
- 경로:
- [완료] agent-ops 규칙 모노레포 정합화
- 경로:
agent-roadmap/archive/phase/independent-control-plane/milestones/ops-rule-monorepo-alignment.md - 요약: 프로젝트 규칙과 domain rule을 현재
apps/runner,apps/client,services/core,packages/flutter/oto_console구조에 맞게 최신화한다.
- 경로:
- [완료] runner 출력 경계 분리
- 경로:
agent-roadmap/archive/phase/independent-control-plane/milestones/runner-output-boundary.md - 요약: pipeline/core 실행 로직의 CLI 출력 직접 의존을 output/progress port와 adapter 구조로 분리한다.
- 경로:
- [완료] oto_console 계약 경계 정리
- 경로:
agent-roadmap/archive/phase/independent-control-plane/milestones/oto-console-contract-boundary.md - 요약: Flutter console contract와 shell 구현의 순환형 의존을 contract/model 소유 경계로 정리한다.
- 경로:
- [완료] core server 모듈 경계 정리
- 경로:
agent-roadmap/archive/phase/independent-control-plane/milestones/core-server-boundary-cleanup.md - 요약: Go core service의 HTTP routing, handler, DTO, clock 의존을 모듈 경계별로 분리한다.
- 경로:
- [완료] workspace 메타데이터와 재현성 정리
- 경로:
agent-roadmap/archive/phase/independent-control-plane/milestones/workspace-metadata-reproducibility.md - 요약: lockfile, local test 문서, package metadata, 배포 템플릿의 추적/설명 기준을 정리한다.
- 경로:
완료 리뷰
- 상태: 승인됨
- 요청일: 2026-06-09
- 완료 근거:
- 독립 Control Plane 분리, 포트/환경, agent-ops 규칙, runner 출력, oto_console, core server, workspace metadata Milestone이 모두 완료되어 archive 경로로 정리되었다.
apps/runner,apps/client,services/core중심의 독립 OTO runner/control plane 구조와 재현성 메타데이터 기준이 정리되었다.
- 사용자 최종 확인:
- 이 Phase를 완료로 승인하고 archive 이동해도 되는지 확인한다.
- 리뷰 코멘트: runner 전체 test baseline 정리는
메시지 기반 빌드 에이전트Phase의runner 검증 기준 정합화Milestone에서 별도 후속으로 추적한다.
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 구현을 직접 복제하지 않는다.