iop/agent-roadmap/archive/phase/automation-runtime-bridge/milestones/domain-agent-registration-unlock-handoff.md

7.5 KiB

Milestone: OTO Registration Unlock Handoff

위치

  • Roadmap: agent-roadmap/ROADMAP.md
  • Phase: agent-roadmap/phase/automation-runtime-bridge/PHASE.md

목표

iop2oto의 OTO registry, bootstrap command, registration online smoke 결과를 OTO repo의 oto-agent 등록 흐름 잠금 해제 근거로 정리한다. 완료 시점에는 OTO가 registration-state를 마무리할 수 있도록 accepted, first heartbeat, online/failed/retry 기준과 실행 evidence가 한곳에 남아 있어야 한다.

상태

[폐기]

구현 잠금

  • 상태: 해제
  • 결정 필요: 없음

범위

  • OTO Agent Registry 구현, OTO Bootstrap Command 발급, OTO Registration Online Smoke 완료 근거를 OTO 잠금 해제 관점에서 묶는다.
  • OTO agent config와 bootstrap command가 기존 iop-node config/bootstrap 인터페이스를 대부분 이어받고, OTO 전용 차이만 명시되어 있는지 확인한다.
  • registration accepted, 최초 heartbeat, online 전환, failure reason, retry 기준을 OTO registration-state에 넘길 수 있는 형태로 요약한다.
  • workspace .agent-roadmap-sync/locks.yaml의 OTO lock target으로 사용할 수 있는 완료 evidence를 남긴다.
  • OTO repo의 Dart agent 구현이나 bootstrap script 자체 구현은 OTO repo 책임으로 남긴다.

기능

Epic: [unlock-gate] OTO Unlock Gate

OTO repo의 oto-agent 등록 흐름 잠금 해제에 필요한 iop2oto 쪽 완료 근거를 모은다.

  • [upstream-complete] OTO Agent Registry 구현, OTO Bootstrap Command 발급, OTO Registration Online Smoke가 [검토중] 또는 [완료] 상태이며 각 완료 근거가 확인되어 있다.
  • [node-interface-parity] OTO agent config와 bootstrap command가 기존 iop-node config/bootstrap의 필드명, flag 의미, 출력 형식, 진단 흐름을 최대한 유지하고 OTO 전용 차이만 별도로 설명한다.
  • [online-evidence] registration accepted와 최초 heartbeat 이후 online 전환이 같은 smoke evidence 안에서 확인된다. 검증: OTO Registration Online Smoke의 실행 명령과 PASS 로그 또는 문서 링크가 남는다.
  • [failure-retry] unknown token, duplicate connection, heartbeat timeout, bootstrap/registration 실패 reason과 retry 기준이 OTO가 소비할 수 있는 형태로 요약되어 있다.
  • [lock-sync-ready] OTO lock entry에서 iop2oto:agent-roadmap/phase/automation-runtime-bridge/milestones/oto-registration-unlock-handoff.mdenable로 동기화할 수 있는 완료 근거가 남는다.

완료 리뷰

  • 상태: 폐기
  • 요청일: 없음
  • 완료 근거: node-interface-parityagent-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가 아직 남아 있다.
  • 리뷰 필요:
    • 사용자가 OTO 독립형 실행 방식 전환을 결정했다
    • archive 이동을 승인했다
  • 리뷰 코멘트: OTO 독립형 실행 전환으로 Edge 직접 등록 흐름 잠금 해제 handoff가 필요 없어져 폐기한다.

범위 제외

  • OTO Dart oto-agent 구현 변경
  • OTO bootstrap script 자체 구현
  • OTO build/deploy run payload 전체
  • Control Plane fleet UI 반영
  • 장기 credential rotation과 운영 인증서 관리

작업 컨텍스트

  • 관련 경로: apps/edge/internal/transport, apps/edge/internal/node, apps/edge/internal/events, scripts/e2e-*.sh, ../oto/test/oto_iop_connection_smoke_test.dart, ../oto/agent-roadmap/phase/edge-direct-oto-agent/milestones/oto-agent-registration.md
  • 표준선(선택): OTO agent는 iop-node bootstrap/config UX를 기본형으로 삼고, agent_kind=oto-agent, OTO bootstrap script URL, OTO release asset URL처럼 OTO 책임 경계에 필요한 차이만 추가한다.
  • 표준선(선택): unlock evidence는 registration accepted와 최초 heartbeat online을 모두 포함해야 한다.
  • 표준선(선택): failure/retry 기준은 OTO registration-state 문장으로 옮길 수 있는 수준의 reason 이름과 판정 기준을 포함한다.
  • 선행 작업: OTO Agent Registry 구현, OTO Bootstrap Command 발급, OTO Registration Online Smoke
  • 후속 작업: OTO repo oto-agent 등록 흐름 잠금 해제 검토, OTO Agent Message Boundary
  • 확인 필요: OTO lock 동기화는 이 Milestone이 [검토중] 또는 [완료]가 된 뒤 update-roadmap 또는 런타임 완료 이벤트로 수행한다.

선행 상태 점검 (2026-06-03, REVIEW_ORU02 재검증)

ORU02 handoff plan의 upstream completion gate 평가 결과다. 상태는 각 선행 Milestone 문서(## 상태)를 source-of-truth로 직접 재확인했다.

  • predecessor 01_node_interface_parity: PASS. agent-task/archive/2026/06/m-oto-registration-unlock-handoff/01_node_interface_parity/complete.log 확인 결과 node-interface-parity가 PASS 완료되었고, rg --sort path -n 'node-interface-parity|iop-node|agent_kind' ...git diff --check 검증이 통과했다.
  • OTO Agent Registry 구현: [완료] — archive 문서 agent-roadmap/archive/phase/automation-runtime-bridge/milestones/oto-agent-registry-implementation.md로 이동되었고, 기능 Task(agent-kind-model, compat-node, connected-entry, duplicate-policy)와 registry task group의 3개 complete.log가 모두 PASS evidence를 갖는다.
  • OTO Bootstrap Command 발급: [완료] — archive 문서 agent-roadmap/archive/phase/automation-runtime-bridge/milestones/oto-bootstrap-command-issue.md로 이동되었고, agent register command, one-line bootstrap output, OTO args, config roundtrip evidence가 PASS로 남아 있다.
  • OTO Registration Online Smoke: [진행중] — 현재 실행 가능한 다음 Milestone이며 registration accepted/최초 heartbeat online PASS 로그 또는 smoke evidence는 아직 없다.
  • upstream-complete gate: 미충족. OTO Registration Online Smoke가 아직 [검토중] 또는 [완료]가 아니므로 online-evidence(accepted/heartbeat)와 failure-retry(unknown token, duplicate connection, heartbeat timeout, bootstrap/registration 실패 reason과 retry 기준) evidence를 OTO registration-state로 옮길 수 있는 형태로 수집할 수 없다. 따라서 upstream-complete, online-evidence, failure-retry, lock-sync-ready는 아직 [x] 처리하지 않는다. 이 gate는 사용자 결정이 아니라 선행 Milestone 구현이 완료되어야 닫히는 repo-owned evidence gap이다.

lock sync readiness

  • 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-registrationrely-on.target이다.
  • /config/workspace/.agent-roadmap-sync/locks.yaml에서 이 target의 statusdisable이다. enable 동기화 조건: 이 Milestone이 [검토중] 또는 [완료]가 되어 upstream evidence가 한곳에 정리되어야 하며, 동기화 실행은 evidence 없이 직접 수정하지 않고 update-roadmap 또는 런타임 완료 이벤트로만 수행한다. 현재는 upstream-complete 미충족으로 disable 유지.
  • 폐기 결정: OTO는 독립형 실행 방식으로 전환될 예정이므로 iop2oto Edge 직접 registration evidence를 OTO oto-agent 등록 흐름 잠금 해제 근거로 넘기는 handoff는 폐기한다.