iop/agent-roadmap/archive/phase/automation-runtime-bridge/milestones/oto-agent-registry-implementation.md

4 KiB

Milestone: OTO Agent Registry 구현

위치

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

목표

Edge-side registration record와 connected registry가 generic iop-nodeoto-agent를 구분하도록 구현한다. 기존 RegisterRequest(token) handshake는 유지하되 token이 가리키는 record에서 agent_kind=oto-agent를 판별하고 lifecycle/capability 표시의 기반을 만든다.

상태

[완료]

구현 잠금

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

범위

  • Edge config와 in-memory store에 generic node와 OTO agent record를 구분하는 최소 모델을 추가한다.
  • 기존 nodes[] 기반 generic node 등록 경로와 호환성을 유지한다.
  • connected entry에 agent kind, alias, id, lifecycle state, optional capability summary를 보존할 수 있는 구조를 만든다.
  • duplicate connection과 reconnect 정책은 기존 reject 기본값을 유지하고, replace 허용은 후속 감사/close reason 정의 뒤로 미룬다.

기능

Epic: [registry-model] Agent Registry Model

Edge가 token으로 찾은 record를 generic node 또는 OTO agent로 분류하고 연결 상태를 구분한다.

  • [agent-kind-model] Edge-side registration record가 generic-nodeoto-agent kind를 표현한다.
  • [compat-node] 기존 nodes[]iop-node 등록 테스트가 agent kind 추가 뒤에도 깨지지 않는다. 검증: go test ./apps/edge/internal/node ./apps/edge/internal/transport ./apps/edge/cmd/edge
  • [connected-entry] connected registry entry가 agent id, alias, kind, lifecycle state를 노출할 수 있다.
  • [duplicate-policy] 같은 OTO agent identity의 중복 연결은 기본 reject로 처리되고 reason이 구분된다.

완료 리뷰

  • 상태: 승인됨
  • 요청일: 2026-06-03
  • 완료 근거: agent-task/archive/2026/06/m-oto-agent-registry-implementation/01_config_store/complete.log, 02+01_registry_transport/complete.log, 03+01,02_service_snapshots/complete.log가 모두 PASS이며 Roadmap Completion에 agent-kind-model, connected-entry, duplicate-policy, compat-node 완료가 기록되어 있다.
  • 완료 근거: go test -count=1 ./apps/edge/... ./packages/go/config, 대상 package 테스트, make test-e2e, repo 내부 edge-node 진단이 PASS로 기록되어 있다.
  • 리뷰 필요:
    • 사용자가 완료 결과를 확인했다
    • archive 이동을 승인했다
  • 리뷰 코멘트: 2026-06-03 사용자 요청으로 모든 기능 Task 완료 상태를 확인하고 Milestone을 완료/archive 처리한다.

범위 제외

  • 장기 credential rotation 구현
  • OTO build/deploy run payload 구현
  • Control Plane fleet 화면 구현
  • DB 영속화와 audit schema 확정

작업 컨텍스트

  • 관련 경로: packages/go/config, apps/edge/internal/node, apps/edge/internal/transport, apps/edge/internal/service, configs/edge.yaml
  • 완료된 task group: agent-task/archive/2026/06/m-oto-agent-registry-implementation/
  • 완료된 plan 분할:
    • 01_config_store: agent-kind-model 완료. Config/NodeStore에 generic-node, oto-agent kind 모델을 추가했다.
    • 02+01_registry_transport: connected-entry, duplicate-policy 완료. Registry entry와 transport registration 경로에 kind/lifecycle과 OTO duplicate reason을 반영했다.
    • 03+01,02_service_snapshots: compat-node 완료. Service snapshot에 kind/lifecycle을 노출하고 기존 generic node 회귀를 검증했다.
  • 표준선(선택): RegisterRequest에는 kind field를 추가하지 않고, token이 가리키는 Edge-side record에서 kind를 판별한다.
  • 표준선(선택): registry는 먼저 기존 NodeEntry 확장 또는 얇은 AgentEntry 도입 중 가장 작은 변경으로 시작한다.
  • 선행 작업: Agent Bootstrap과 OTO 등록, Specialized Agent proto-socket 연결 기반
  • 후속 작업: OTO Bootstrap Command 발급, OTO Registration Online Smoke
  • 확인 필요: Control Plane에 노출할 agent kind/status 필드 이름은 Control Plane wire 갱신 시 재확인한다.