oto/agent-roadmap/phase/independent-control-plane/PHASE.md
toki e90ba93eab refactor(core): 코어 경계를 정리한다
클라이언트 계약과 서버 핸들러 경계를 분리해 변경 범위를 명확히 하고, 장기 테스트 흐름에 맞춰 문서와 경로 정리를 함께 반영한다.
2026-06-08 18:59:55 +09:00

3.6 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/core monorepo로 전환한다.
  • [완료] 워크스페이스 포트/환경 표준화
    • 경로: 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/phase/independent-control-plane/milestones/core-server-boundary-cleanup.md
    • 요약: Go core service의 HTTP routing, handler, DTO, clock 의존을 모듈 경계별로 분리한다.
  • [계획] workspace 메타데이터와 재현성 정리
    • 경로: agent-roadmap/phase/independent-control-plane/milestones/workspace-metadata-reproducibility.md
    • 요약: lockfile, local test 문서, package metadata, 배포 템플릿의 추적/설명 기준을 정리한다.

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 구현을 직접 복제하지 않는다.