From 06b986af622b9e383523e48a0d51d9645afe3a47 Mon Sep 17 00:00:00 2001 From: toki Date: Sat, 6 Jun 2026 07:19:00 +0900 Subject: [PATCH] feat: update roadmap and archive independent-control-plane milestone --- agent-roadmap/ROADMAP.md | 4 ++-- .../control-plane-separation-migration.md | 17 +++++++++-------- .../phase/independent-control-plane/PHASE.md | 6 +++--- .../phase/message-based-build-agent/PHASE.md | 4 ++-- .../milestones/agent-message-protocol.md | 3 ++- 5 files changed, 18 insertions(+), 16 deletions(-) rename agent-roadmap/{ => archive}/phase/independent-control-plane/milestones/control-plane-separation-migration.md (89%) diff --git a/agent-roadmap/ROADMAP.md b/agent-roadmap/ROADMAP.md index 6b22a34..81fcaa8 100644 --- a/agent-roadmap/ROADMAP.md +++ b/agent-roadmap/ROADMAP.md @@ -17,10 +17,10 @@ OTO는 YAML 기반 빌드/배포 파이프라인을 실행하는 Dart CLI에서 - [폐기] Edge 직접 연결 기반 `oto-agent` - 경로: `agent-roadmap/archive/phase/edge-direct-oto-agent/PHASE.md` - 요약: OTO가 iop Edge와 proto-socket 기반 outbound 통신을 하는 경로는 검증 근거만 보존하고, 독립 OTO Control Plane 방향으로 전환하며 기본 제품 경로에서는 폐기한다. -- [진행중] 독립 Control Plane 기반 OTO +- [검토중] 독립 Control Plane 기반 OTO - 경로: `agent-roadmap/phase/independent-control-plane/PHASE.md` - 요약: OTO를 iop 직접 연결 구조에서 분리해 `apps/runner`, `apps/client`, `services/core`를 가진 독립 CI/CD runner/control plane 제품 구조로 전환한다. -- [계획] 메시지 기반 빌드 에이전트 +- [진행중] 메시지 기반 빌드 에이전트 - 경로: `agent-roadmap/phase/message-based-build-agent/PHASE.md` - 요약: `oto agent` 또는 `oto daemon` 모드에서 Edge와 양방향 메시지 통신을 사용하며, OTO를 build/deploy 전용 domain agent로 노출한다. diff --git a/agent-roadmap/phase/independent-control-plane/milestones/control-plane-separation-migration.md b/agent-roadmap/archive/phase/independent-control-plane/milestones/control-plane-separation-migration.md similarity index 89% rename from agent-roadmap/phase/independent-control-plane/milestones/control-plane-separation-migration.md rename to agent-roadmap/archive/phase/independent-control-plane/milestones/control-plane-separation-migration.md index 66e36de..e563c36 100644 --- a/agent-roadmap/phase/independent-control-plane/milestones/control-plane-separation-migration.md +++ b/agent-roadmap/archive/phase/independent-control-plane/milestones/control-plane-separation-migration.md @@ -12,7 +12,7 @@ OTO repo를 독립 CI/CD 제품 monorepo로 전환하고, iop에 구현된 OTO ## 상태 -[진행중] +[완료] ## 승격 조건 @@ -64,20 +64,20 @@ OTO Server와 OTO runner가 독립 제품 계약으로 등록, online, capabilit OTO, iop, NomadCode의 소비 관계를 분리해 OTO가 독립 CI/CD 제품으로 유지되도록 한다. -- [ ] [oto-owns-cicd] OTO Server는 CI/CD runner registry, job, execution history, log/artifact 상태를 소유하고, iop Edge나 iop Control Plane을 전제로 하지 않는다. +- [x] [oto-owns-cicd] OTO Server는 CI/CD runner registry, job, execution history, log/artifact 상태를 소유하고, iop Edge나 iop Control Plane을 전제로 하지 않는다. - [x] [iop-ai-provider] iop는 AI agent/model/provider 기능이 필요할 때만 선택적으로 호출하는 외부 provider로 정의되고, OTO runner 연결의 기본 경로에서 제외된다. - [x] [nomadcode-consumer] NomadCode는 OTO Server API를 소비하는 host 제품으로 정리되고, OTO client/server 구현을 native module로 복제하지 않는다. - [x] [downstream-roadmap] 기존 `edge-direct-oto-agent`와 `message-based-build-agent` Phase/Milestone이 새 독립 OTO Server 방향에 맞게 후속 갱신 대상인지 정리된다. ## 완료 리뷰 -- 상태: 없음 -- 요청일: 없음 -- 완료 근거: monorepo scaffold, iop 추출 계획, runner-server wire 계약, runner 등록/online/bootstrap command, downstream roadmap 정리는 완료되었으나 OTO Server job/execution/log/artifact 책임 범위는 아직 충족되지 않았다. +- 상태: 승인됨 +- 요청일: 2026-06-06 +- 완료 근거: monorepo scaffold, iop 추출 계획, runner-server wire 계약, runner 등록/online/bootstrap command, downstream roadmap 정리가 완료되었다. `05+04_core_cicd_state`, `06+05_runner_dispatch_contract`, `07+05,06_cicd_smoke_evidence` PASS 완료 근거로 OTO Server job/execution/log/artifact 책임 범위도 충족되었다. `07+05,06_cicd_smoke_evidence/complete.log`의 Roadmap Completion이 `oto-owns-cicd` 완료를 기록한다. - 리뷰 필요: - - [ ] 사용자가 완료 결과를 확인했다 - - [ ] archive 이동을 승인했다 -- 리뷰 코멘트: 없음 + - [x] 사용자가 완료 결과를 확인했다 + - [x] archive 이동을 승인했다 +- 리뷰 코멘트: 사용자 요청으로 현 Milestone을 종료하고 다음 Milestone으로 전환한다. ## 범위 제외 @@ -102,3 +102,4 @@ OTO, iop, NomadCode의 소비 관계를 분리해 OTO가 독립 CI/CD 제품으 - 확인 필요: 기존 iop 직접 연결 Phase를 완료/보류/폐기 중 어떤 상태로 정리할지는 이 Milestone의 `downstream-roadmap` Task에서 판단한다. - 동기화 근거(2026-06-05): `apps/runner`, `apps/client`, `services/core`, root `Makefile`이 존재하고 runner/client/core 기본 검증이 통과했다. `apps/runner/test/oto_agent_migration_plan_test.dart`가 legacy iop smoke와 future OTO Server smoke의 fixture 경계를 정리했고, `apps/runner/test/oto_iop_connection_smoke_test.dart`는 migration source evidence로 유지한다. `proto/oto/runner.proto`와 Go/Dart 생성물이 추가되어 `make proto`, `cd services/core && go test ./...`, `cd apps/runner && dart analyze`가 통과했다. `agent-task/archive/2026/06/m-control-plane-separation-migration/02+01_runner_registration/complete.log`, `03+02_online_state/complete.log`, `04+02_bootstrap_command/complete.log`의 Roadmap Completion 근거로 `runner-register`, `online-state`, `bootstrap-command`를 완료 처리했다. `edge-direct-oto-agent`는 폐기 archive로 유지하고 `message-based-build-agent`는 독립 OTO Server/Runner 후속 Phase로 갱신해 `downstream-roadmap`을 완료 처리했다. 단, OTO Server job/execution/log/artifact 책임 범위는 아직 남아 있어 Milestone은 `[진행중]`으로 유지한다. - 작업 상태 동기화(2026-06-05): `downstream-roadmap`은 문서 정리로 즉시 완료했고, `oto-owns-cicd`는 큰 구현 작업이라 `agent-task/m-control-plane-separation-migration/05+04_core_cicd_state`, `06+05_runner_dispatch_contract`, `07+05,06_cicd_smoke_evidence` split plan으로 남겼다. workspace lock 확인 결과 이 Milestone과 관련된 외부 잠금은 없다. +- 작업 상태 동기화(2026-06-06): `agent-task/archive/2026/06/m-control-plane-separation-migration/05+04_core_cicd_state/complete.log`, `06+05_runner_dispatch_contract/complete.log`, `07+05,06_cicd_smoke_evidence/complete.log`가 모두 PASS로 정리되었다. `07+05,06_cicd_smoke_evidence/complete.log`의 Roadmap Completion 근거로 `oto-owns-cicd`를 완료 처리했고, 모든 기능 Task가 `[x]`가 되어 Milestone을 `[검토중]`으로 전환했다. workspace lock 확인 결과 이 Milestone과 관련된 외부 잠금은 없다. diff --git a/agent-roadmap/phase/independent-control-plane/PHASE.md b/agent-roadmap/phase/independent-control-plane/PHASE.md index 46e9eef..6e6553f 100644 --- a/agent-roadmap/phase/independent-control-plane/PHASE.md +++ b/agent-roadmap/phase/independent-control-plane/PHASE.md @@ -2,7 +2,7 @@ ## 상태 -[진행중] +[검토중] ## 목표 @@ -15,8 +15,8 @@ OTO를 iop Edge에 직접 붙는 domain agent가 아니라, 독립 실행 가능 완료, 검토중, 진행중, 계획, 스케치 순서로 두어 아래로 갈수록 미래 작업에 가까워지게 정렬한다. 스케치 Milestone은 아직 구현 가능한 계획이 아니므로 계획 Milestone보다 아래에 둔다. -- [진행중] 독립 Control Plane 분리 마이그레이션 - - 경로: `agent-roadmap/phase/independent-control-plane/milestones/control-plane-separation-migration.md` +- [완료] 독립 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로 전환한다. ## Phase 경계 diff --git a/agent-roadmap/phase/message-based-build-agent/PHASE.md b/agent-roadmap/phase/message-based-build-agent/PHASE.md index a199ae0..8f6edbb 100644 --- a/agent-roadmap/phase/message-based-build-agent/PHASE.md +++ b/agent-roadmap/phase/message-based-build-agent/PHASE.md @@ -2,7 +2,7 @@ ## 상태 -[계획] +[진행중] ## 목표 @@ -14,7 +14,7 @@ OTO를 generic remote shell이 아니라 build/deploy 전용 runner로 노출하 완료된 Milestone은 archive 경로를 가리키고, 검토중, 진행중, 계획 또는 보류 Milestone은 이 Phase 하위 `milestones/` 경로를 가리킨다. 완료, 검토중, 진행중, 계획 순서로 두어 아래로 갈수록 미래 작업에 가까워지게 정렬한다. -- [계획] agent 메시지 프로토콜 +- [진행중] agent 메시지 프로토콜 - 경로: `agent-roadmap/phase/message-based-build-agent/milestones/agent-message-protocol.md` - 요약: OTO Server와 runner가 공유할 capabilities, run request, event/reporting 메시지 프로토콜을 정의한다. - [계획] 원격 실행 생명주기 diff --git a/agent-roadmap/phase/message-based-build-agent/milestones/agent-message-protocol.md b/agent-roadmap/phase/message-based-build-agent/milestones/agent-message-protocol.md index a2fd13b..90a266c 100644 --- a/agent-roadmap/phase/message-based-build-agent/milestones/agent-message-protocol.md +++ b/agent-roadmap/phase/message-based-build-agent/milestones/agent-message-protocol.md @@ -11,7 +11,7 @@ ## 상태 -[계획] +[진행중] ## 구현 잠금 @@ -58,6 +58,7 @@ OTO Server와 runner가 같은 의미로 해석할 기본 메시지 범위와 - 표준선(선택): 메시지 형태는 `proto/oto`의 OTO Server/Runner 계약과 구조화 실행 결과/step event 계약을 우선 활용하고, YAML 파이프라인 실행 경로를 대체하지 않는 방향으로 잡는다. - 선행 Milestone: 독립 Control Plane 분리 마이그레이션 - 후속 의존: `control-plane-separation-migration`의 `oto-owns-cicd` Task가 OTO Server의 job/execution/log/artifact 소유권을 먼저 확정해야 한다. +- 선행 완료 근거(2026-06-06): `agent-roadmap/archive/phase/independent-control-plane/milestones/control-plane-separation-migration.md`가 `[완료]`로 archive되었고, `agent-task/archive/2026/06/m-control-plane-separation-migration/07+05,06_cicd_smoke_evidence/complete.log`의 Roadmap Completion이 `oto-owns-cicd` 완료를 기록한다. - 책임 경계: iop는 이 Phase의 wire/protocol 소유자가 아니며, AI provider가 필요한 후속 기능에서만 선택적으로 소비된다. - 책임 경계: OTO는 build/deploy runner가 노출할 capabilities, YAML run request 연결, step/log/artifact event 의미를 정리한다. - 프로토콜 파일이나 생성 코드가 추가되면 관련 도메인 rule 또는 새 도메인 rule 필요 여부를 검토한다.