docs(roadmap): OTO 독립형 전환을 반영한다

OTO가 독립형 실행 방식으로 전환될 예정이므로 Edge 직접 연결과 registration handoff 계열 마일스톤을 폐기하고 archive로 이동한다.

Multi-Edge 운영 완료와 다음 로드맵 지점도 함께 정리한다.
This commit is contained in:
toki 2026-06-05 08:40:04 +09:00
parent ea949daa3b
commit ef59888add
8 changed files with 54 additions and 49 deletions

View file

@ -30,17 +30,17 @@ RAG, context 구성/압축, web search, MCP 정책, tool policy, output validati
- 경로: `agent-roadmap/archive/phase/serving-routing-optimization/PHASE.md`
- 요약: Edge OpenAI-compatible API에서 Node의 Ollama adapter를 호출하는 E2E 경로를 실제 Ollama endpoint와 split-host 환경에서 안정화했다. 추가 provider, 표준화, 후속 최적화 계층은 후속 Phase로 넘긴다.
- [계획] 추론 서버 provider 확장
- 경로: `agent-roadmap/phase/inference-provider-extension/PHASE.md`
- 요약: Ollama 경로가 안정화된 뒤 그 결과를 기준선으로 삼아 SGLang 같은 추가 추론 서버 provider를 붙이고, provider별 adapter/config/target/model 매핑 표준선을 정리하는 단계다.
- [검토중] Control Plane과 Client 운영
- 경로: `agent-roadmap/phase/control-plane-portal-ops/PHASE.md`
- 요약: 여러 Edge를 관찰하고 운영하는 중앙 제어면과 Flutter client 운영면을 구축하는 단계다.
- [진행중] Automation Runtime과 Bridge 확장
- 경로: `agent-roadmap/phase/automation-runtime-bridge/PHASE.md`
- 요약: Runtime과 Automation 실행 흐름을 공통화하고, OTO 같은 specialized domain agent의 Edge 직접 연결, bootstrap/enrollment, message boundary와 agentless remote terminal bridge를 분리해 확장하는 단계다.
- [진행중] Control Plane과 Client 운영
- 경로: `agent-roadmap/phase/control-plane-portal-ops/PHASE.md`
- 요약: 여러 Edge를 관찰하고 운영하는 중앙 제어면과 Flutter client 운영면을 구축하는 단계다.
- [계획] 추론 서버 provider 확장
- 경로: `agent-roadmap/phase/inference-provider-extension/PHASE.md`
- 요약: Ollama 경로가 안정화된 뒤 그 결과를 기준선으로 삼아 SGLang 같은 추가 추론 서버 provider를 붙이고, provider별 adapter/config/target/model 매핑 표준선을 정리하는 단계다.
- [계획] 지식과 도구 최적화 확장
- 경로: `agent-roadmap/phase/knowledge-tool-optimization-extension/PHASE.md`

View file

@ -12,7 +12,7 @@ OTO registration 이후 Edge가 OTO agent에 보낼 build/deploy domain 메시
## 상태
[계획]
[폐기]
## 구현 잠금
@ -39,13 +39,13 @@ OTO 전용 build/deploy 메시지와 기존 Node 메시지의 재사용 범위
## 완료 리뷰
- 상태: 없음
- 상태: 폐기
- 요청일: 없음
- 완료 근거: 모든 기능 Task가 아직 충족되지 않았다.
- 리뷰 필요:
- [ ] 사용자가 완료 결과를 확인했다
- [ ] archive 이동을 승인했다
- 리뷰 코멘트: 없음
- [x] 사용자가 OTO 독립형 실행 방식 전환을 결정했다
- [x] archive 이동을 승인했다
- 리뷰 코멘트: OTO 독립형 실행 전환으로 Edge 직접 registration 이후의 OTO domain payload boundary 정리는 현재 로드맵에서 폐기한다.
## 범위 제외
@ -62,3 +62,4 @@ OTO 전용 build/deploy 메시지와 기존 Node 메시지의 재사용 범위
- 선행 작업: 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 정리는 현재 로드맵 범위에서 제외한다.

View file

@ -12,7 +12,7 @@ iop Edge와 OTO `oto-agent`를 실제로 함께 띄워 Edge 직접 outbound 등
## 상태
[진행중]
[폐기]
## 구현 잠금
@ -39,13 +39,13 @@ Edge와 OTO가 같은 기준으로 online/failed 상태를 판정한다.
## 완료 리뷰
- 상태: 없음
- 상태: 폐기
- 요청일: 없음
- 완료 근거: `01_iop_edge_lifecycle` PASS로 `accepted-state`, `failure-reason`은 충족되었고, `heartbeat-online`, `unlock-evidence`가 아직 남아 있다.
- 리뷰 필요:
- [ ] 사용자가 완료 결과를 확인했다
- [ ] archive 이동을 승인했다
- 리뷰 코멘트: 없음
- [x] 사용자가 OTO 독립형 실행 방식 전환을 결정했다
- [x] archive 이동을 승인했다
- 리뷰 코멘트: OTO가 독립형 실행 방식으로 바뀔 예정이므로 Edge 직접 registration/heartbeat online smoke는 폐기한다.
## 범위 제외
@ -63,3 +63,4 @@ Edge와 OTO가 같은 기준으로 online/failed 상태를 판정한다.
- 후속 작업: OTO Agent Message Boundary, OTO repo `oto-agent` 등록 흐름 잠금 해제 검토
- 확인 결과: local smoke의 기본 기준은 같은 host에서 iop Edge와 OTO를 띄우는 흐름으로 두고, split host는 주소/포트 override가 필요한 후속 또는 수동 검증 경로로 분리한다.
- 실행 계획: 큰 작업은 `agent-task/m-oto-registration-online-smoke/01_iop_edge_lifecycle`, `agent-task/m-oto-registration-online-smoke/02+01_oto_agent_session`, `agent-task/m-oto-registration-online-smoke/03+01,02_smoke_evidence`로 분리해 plan/code-review 기준을 작성했다.
- 폐기 결정: OTO는 독립형 실행 방식으로 전환될 예정이므로 iop Edge와 OTO `oto-agent`를 직접 proto-socket registration으로 연결하는 smoke 경로는 더 이상 현 로드맵의 진행 대상이 아니다.

View file

@ -12,7 +12,7 @@ iop2oto의 OTO registry, bootstrap command, registration online smoke 결과를
## 상태
[계획]
[폐기]
## 구현 잠금
@ -41,14 +41,14 @@ OTO repo의 `oto-agent` 등록 흐름 잠금 해제에 필요한 iop2oto 쪽 완
## 완료 리뷰
- 상태: 없음
- 상태: 폐기
- 요청일: 없음
- 완료 근거: `node-interface-parity``agent-task/archive/2026/06/m-oto-registration-unlock-handoff/01_node_interface_parity/complete.log`에서 PASS 완료되었다.
- 완료 근거: unlock handoff evidence completion은 `agent-task/archive/2026/06/m-oto-registration-unlock-handoff/02+01_unlock_evidence_handoff/complete.log`에서 선행 gate 미충족 re-block으로 종결되었으며, bootstrap command와 online smoke evidence가 아직 남아 있다.
- 리뷰 필요:
- [ ] 사용자가 완료 결과를 확인했다
- [ ] archive 이동을 승인했다
- 리뷰 코멘트: 없음
- [x] 사용자가 OTO 독립형 실행 방식 전환을 결정했다
- [x] archive 이동을 승인했다
- 리뷰 코멘트: OTO 독립형 실행 전환으로 Edge 직접 등록 흐름 잠금 해제 handoff가 필요 없어져 폐기한다.
## 범위 제외
@ -82,3 +82,4 @@ ORU02 handoff plan의 upstream completion gate 평가 결과다. 상태는 각
- lock checker(`../oto/agent-ops/bin/roadmap-dependency-checker.sh --find-milestone ... rely-on ...`) 출력: `rely-on:oto:oto-agent-registration`. 이 handoff Milestone은 OTO lock `oto:oto-agent-registration``rely-on.target`이다.
- `/config/workspace/.agent-roadmap-sync/locks.yaml`에서 이 target의 `status``disable`이다. enable 동기화 조건: 이 Milestone이 [검토중] 또는 [완료]가 되어 upstream evidence가 한곳에 정리되어야 하며, 동기화 실행은 evidence 없이 직접 수정하지 않고 update-roadmap 또는 런타임 완료 이벤트로만 수행한다. 현재는 upstream-complete 미충족으로 `disable` 유지.
- 폐기 결정: OTO는 독립형 실행 방식으로 전환될 예정이므로 iop2oto Edge 직접 registration evidence를 OTO `oto-agent` 등록 흐름 잠금 해제 근거로 넘기는 handoff는 폐기한다.

View file

@ -12,7 +12,7 @@ OTO 쪽 Dart `proto_socket` 연결과 iop Edge 등록 smoke가 이미 시작된
## 상태
[검토중]
[폐기]
## 구현 잠금
@ -50,13 +50,13 @@ OTO 쪽 Dart `proto_socket` 연결과 iop Edge 등록 smoke가 이미 시작된
## 완료 리뷰
- 상태: 요청됨
- 상태: 폐기
- 요청일: 2026-05-25
- 완료 근거: 모든 기능 Task와 Task 안에 명시된 검증이 충족되어 완료 후보로 정리했다. 기존 Edge-Node proto-socket 재사용, Edge-side agent kind 판별, config/message boundary, reconnect 정책, bootstrap 선행 조건이 계약 결정에 반영되어 있다. OTO 직접 연결 Phase와 remote terminal bridge Phase 경계를 참조해 generic Node, specialized agent, agentless terminal bridge 경로를 분리했다.
- 리뷰 필요:
- [ ] 사용자가 완료 결과를 확인했다
- [ ] archive 이동을 승인했다
- 리뷰 코멘트: 사용자 승인 전까지 archive 이동은 하지 않는다.
- [x] 사용자가 OTO 독립형 실행 방식 전환을 결정했다
- [x] archive 이동을 승인했다
- 리뷰 코멘트: OTO가 Edge 직접 proto-socket specialized peer가 아니라 독립형 실행 방식으로 바뀔 예정이므로 이 연결 기반 마일스톤은 폐기한다.
## 범위 제외
@ -117,3 +117,4 @@ OTO 쪽 Dart `proto_socket` 연결과 iop Edge 등록 smoke가 이미 시작된
- 선행 작업: Edge-Node 실행 스켈레톤, CLI Automation Runtime 안정화
- 후속 작업: Agent Bootstrap과 OTO 등록
- 확인 필요: oto-agent를 위한 후속 typed payload 형식, build/deploy 전용 설정 형식.
- 폐기 결정: OTO는 독립형 실행 방식으로 전환될 예정이므로 Edge 직접 specialized peer/proto-socket 연결 기반 정리는 현재 로드맵에서 제외한다.

View file

@ -12,7 +12,7 @@ Control Plane은 Edge를 제어하기 쉽게 연결하는 레이어이며, Edge
## 상태
[진행중]
[완료]
## 구현 잠금
@ -37,20 +37,20 @@ Control Plane은 Edge를 제어하기 쉽게 연결하는 레이어이며, Edge
- [x] [native-fleet] Multi-edge 운영 명령과 이벤트 relay는 IOP native protocol을 기준으로 설계한다.
- [x] [edge-status-view] Control Plane은 여러 Edge 상태를 구분해 조회하고 표시할 수 있다. 검증: 두 개 이상의 Edge 상태가 구분되는 조회/표시 경로를 확인한다.
- [ ] [history-agent-state] Edge별 실행/명령 결과와 domain agent capability/status/command summary가 운영 화면에서 구분된다.
- [x] [history-agent-state] Edge별 실행/명령 결과와 domain agent capability/status/command summary가 운영 화면에서 구분된다.
- [x] [openai-routing] OpenAI-compatible 표면은 특정 Edge/adapter로 라우팅되는 inference 호환 경로로 제한한다.
- [x] [a2a-routing] A2A 표면은 특정 Edge/adapter로 위임되는 agent task 경로로 제한한다.
- [x] [edge-ownership] Edge는 설정, Node registry, 로컬 런타임 상태의 원본 소유권을 유지하고, Control Plane은 이동 가능한 제어 attachment로만 동작한다.
## 완료 리뷰
- 상태: 없음
- 요청일: 없음
- 완료 근거: 모든 기능 Task와 Task 안에 명시된 검증이 아직 충족되지 않았다.
- 상태: 승인됨
- 요청일: 2026-06-05
- 완료 근거: 모든 기능 Task와 Task 안에 명시된 검증이 충족된 것으로 보인다. `history-agent-state`는 Edge별 command audit, domain agent active command summary, operations history가 서로 섞이지 않는 widget/backend 검증으로 보강되었다.
- 리뷰 필요:
- [ ] 사용자가 완료 결과를 확인했다
- [ ] archive 이동을 승인했다
- 리뷰 코멘트: 없음
- [x] 사용자가 완료 결과를 확인했다
- [x] archive 이동을 승인했다
- 리뷰 코멘트: 사용자 승인에 따라 Multi-Edge 운영 마일스톤을 `[완료]`로 전환하고 archive 이동 대상으로 확정했다.
## 범위 제외
@ -74,3 +74,4 @@ Control Plane은 Edge를 제어하기 쉽게 연결하는 레이어이며, Edge
- 완료 근거: [native-fleet] `proto/iop/control.proto`에 native command 요청/응답/이벤트 relay와 capability/status 요약 메시지를 추가하고, Control Plane과 Edge의 parser map을 갱신했다. 검증: `make proto proto-dart``go test ./apps/control-plane/internal/wire` 통과.
- 완료 근거: [edge-ownership] Control Plane native contract/registry에 Edge config, Node registry, agent lifecycle detail 원본이 노출되지 않도록 descriptor 및 reflect 기반 소유권 가드 테스트(`TestProtoOwnershipGuard`, `TestControlPlaneRegistryOwnershipGuard`)를 추가했다. 검증: `go test ./apps/control-plane/internal/wire` 통과.
- 완료 근거: [edge-status-view] `apps/client/test/widget_test.dart`에서 두 Edge의 fleet status가 선택에 따라 `Edge Alpha`/`Edge Beta`, `edge-a`/`edge-b`, connected/disconnected, health 값을 구분해 표시되는 경로를 고정했다. 검증: `cd apps/client && flutter test test/widget_test.dart` 통과.
- 완료 근거: [history-agent-state] `apps/control-plane/cmd/control-plane/main_test.go``apps/client/test/widget_test.dart`에서 Edge별 command audit, domain agent capability/status/active command summary, operations history가 `edge-a`/`edge-b` 선택에 따라 분리 표시되고 stale operations가 즉시 제거되는 경로를 고정했다. 검증: `go test ./apps/control-plane/cmd/control-plane -run 'TestFleetStatusHTTPHandlerCombinesConnectionAndCapabilities|TestEdgeOperationsHTTPHandlerListsAudit' -count=1`, `cd apps/client && flutter test test/widget_test.dart` 통과.

View file

@ -30,21 +30,21 @@ CLI 실행, specialized agent 등록, bootstrap/enrollment, 원격 터미널 브
- 경로: `agent-roadmap/archive/phase/automation-runtime-bridge/milestones/oto-bootstrap-command-issue.md`
- 요약: `iop-edge agent register`가 OTO agent record와 OTO Linux bootstrap script 인자를 포함한 one-line command를 발급하고 config roundtrip 검증을 완료했다.
- [검토중] Specialized Agent proto-socket 연결 기반
- 경로: `agent-roadmap/phase/automation-runtime-bridge/milestones/specialized-agent-proto-socket-foundation.md`
- 요약: OTO의 node-compatible proto-socket registration smoke를 바탕으로 Edge의 specialized agent kind, registry/config, message boundary, reconnect 정책과 runtime 경로 구분을 완료 후보로 정리했다.
- [폐기] Specialized Agent proto-socket 연결 기반
- 경로: `agent-roadmap/archive/phase/automation-runtime-bridge/milestones/specialized-agent-proto-socket-foundation.md`
- 요약: OTO가 독립형 실행 방식으로 전환될 예정이므로 Edge 직접 proto-socket specialized peer 기준의 연결 기반 정리는 폐기한다.
- [진행중] OTO Registration Online Smoke
- 경로: `agent-roadmap/phase/automation-runtime-bridge/milestones/oto-registration-online-smoke.md`
- 요약: OTO Dart `proto_socket` client와 iop Edge를 함께 띄워 registration accepted, 최초 heartbeat, online/failed 상태 구분을 검증한다.
- [폐기] OTO Registration Online Smoke
- 경로: `agent-roadmap/archive/phase/automation-runtime-bridge/milestones/oto-registration-online-smoke.md`
- 요약: OTO가 독립형 실행 방식으로 전환될 예정이므로 Edge 직접 registration online smoke는 폐기한다.
- [계획] OTO Registration Unlock Handoff
- 경로: `agent-roadmap/phase/automation-runtime-bridge/milestones/oto-registration-unlock-handoff.md`
- 요약: OTO bootstrap command와 online smoke가 완료된 뒤 iop2oto evidence를 OTO `oto-agent` 등록 흐름 잠금 해제 근거로 묶어 넘긴다.
- [폐기] OTO Registration Unlock Handoff
- 경로: `agent-roadmap/archive/phase/automation-runtime-bridge/milestones/oto-registration-unlock-handoff.md`
- 요약: OTO 독립형 실행 전환으로 Edge 직접 등록 흐름 잠금 해제 handoff가 필요 없어져 폐기한다.
- [계획] OTO Agent Message Boundary
- 경로: `agent-roadmap/phase/automation-runtime-bridge/milestones/oto-agent-message-boundary.md`
- 요약: registration 이후 build run, cancel, status, capability, artifact, log event를 Node adapter stream과 분리된 OTO domain payload 후보로 정리한다.
- [폐기] OTO Agent Message Boundary
- 경로: `agent-roadmap/archive/phase/automation-runtime-bridge/milestones/oto-agent-message-boundary.md`
- 요약: OTO 독립형 실행 전환으로 Edge 직접 OTO domain payload boundary 정리가 현재 범위에서 필요 없어져 폐기한다.
- [계획] 원격 터미널 브리지 POC
- 경로: `agent-roadmap/phase/automation-runtime-bridge/milestones/remote-terminal-bridge-poc.md`

View file

@ -2,7 +2,7 @@
## 상태
[진행중]
[검토중]
## 목표
@ -49,8 +49,8 @@
- 경로: `agent-roadmap/archive/phase/control-plane-portal-ops/milestones/policy-history-audit.md`
- 요약: 권한, 정책, 실행 이력, 감사 로그를 제품 운영에 필요한 수준으로 확장하고, 공통 audit schema evidence까지 확정했다.
- [진행중] Multi-Edge 운영
- 경로: `agent-roadmap/phase/control-plane-portal-ops/milestones/multi-edge-operations.md`
- [완료] Multi-Edge 운영
- 경로: `agent-roadmap/archive/phase/control-plane-portal-ops/milestones/multi-edge-operations.md`
- 요약: 여러 Edge group을 관찰하고 운영하는 fleet-level 기능을 구축한다.
## Phase 경계