iop/agent-roadmap/archive/phase/automation-runtime-bridge/milestones/domain-agent-registration-online-smoke.md

3.7 KiB

Milestone: OTO Registration Online Smoke

위치

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

목표

iop Edge와 OTO oto-agent를 실제로 함께 띄워 Edge 직접 outbound 등록 흐름을 검증한다. 완료 시점에는 registration accepted와 최초 heartbeat 도착을 모두 만족했을 때만 online으로 보는 기준이 iop 구현과 OTO smoke에서 확인되어야 한다.

상태

[폐기]

구현 잠금

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

범위

  • OTO Dart proto_socket client가 iop Edge의 OTO agent record token으로 등록되는 smoke를 구성한다.
  • Edge는 registration accepted, first heartbeat received, online, failed 상태를 구분할 수 있어야 한다.
  • unknown token, duplicate connection, heartbeat timeout, bootstrap command 실행 실패 또는 등록 실패를 구분해 진단 가능한 reason을 남긴다.
  • OTO repo의 oto-agent 등록 흐름 잠금 해제 근거로 사용할 수 있는 최소 E2E evidence를 만든다.

기능

Epic: [online-state] Registration and Online State

Edge와 OTO가 같은 기준으로 online/failed 상태를 판정한다.

  • [accepted-state] OTO agent registration accepted 상태가 generic node와 구분되어 기록된다.
  • [heartbeat-online] 최초 heartbeat 도착 후 online으로 전환된다. 검증: OTO Dart smoke 또는 통합 smoke에서 registration accepted 뒤 heartbeat 도착까지 확인한다.
  • [failure-reason] unknown token, duplicate connection, heartbeat timeout이 서로 다른 실패 reason으로 확인된다.
  • [unlock-evidence] OTO oto-agent 등록 흐름 잠금 해제에 사용할 smoke 결과와 실행 명령이 문서 또는 test log에 남는다.

완료 리뷰

  • 상태: 폐기
  • 요청일: 없음
  • 완료 근거: 01_iop_edge_lifecycle PASS로 accepted-state, failure-reason은 충족되었고, heartbeat-online, unlock-evidence가 아직 남아 있다.
  • 리뷰 필요:
    • 사용자가 OTO 독립형 실행 방식 전환을 결정했다
    • archive 이동을 승인했다
  • 리뷰 코멘트: OTO가 독립형 실행 방식으로 바뀔 예정이므로 Edge 직접 registration/heartbeat online smoke는 폐기한다.

범위 제외

  • build/deploy run payload 전체
  • artifact/log stream 전체
  • 장기 credential rotation
  • Control Plane fleet UI 반영

작업 컨텍스트

  • 관련 경로: apps/edge/internal/transport, apps/edge/internal/node, apps/edge/internal/events, scripts/e2e-*.sh, ../oto/test/oto_iop_connection_smoke_test.dart
  • 표준선(선택): online 판정은 Edge registration accepted와 최초 heartbeat 도착을 모두 만족했을 때로 둔다.
  • 표준선(선택): heartbeat timeout은 transport close reason과 lifecycle event metadata로 남긴다.
  • 선행 작업: OTO Agent Registry 구현, OTO Bootstrap Command 발급
  • 후속 작업: 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 경로는 더 이상 현 로드맵의 진행 대상이 아니다.