oto/agent-roadmap/phase/message-based-build-agent/milestones/agent-message-protocol.md
toki 5fd116e447 feat(control-plane): CI/CD 상태 API를 추가한다
OTO Core가 job, execution, log, artifact 상태를 서버 내부에서 소유하고 조회할 수 있어야 runner dispatch와 통합 smoke 단계로 이어질 수 있다. in-memory 상태 저장소와 HTTP API, 검증 테스트, 관련 agent-task 산출물을 함께 반영한다.
2026-06-06 06:22:47 +09:00

3.3 KiB

Milestone: agent 메시지 프로토콜

위치

  • Roadmap: agent-roadmap/ROADMAP.md
  • Phase: agent-roadmap/phase/message-based-build-agent/PHASE.md

목표

oto agent 또는 oto daemon 모드에서 OTO Server와 runner가 양방향 메시지 통신을 하기 위한 기본 메시지 범위와 계약을 정의한다.

상태

[계획]

구현 잠금

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

범위

  • runner register, capabilities, run request, step event, log stream, artifact event, cancel, status, self-update 메시지의 최소 필드를 정의한다.
  • 메시지 버전, 호환성, 에러 표현 방식을 정리한다.
  • OTO runner가 OTO Server의 build/deploy 전용 실행 표면이며 generic remote shell 하위 실행물이 아니라는 경계를 명시한다.

기능

Epic: [message-contract] Server-runner 메시지 계약

OTO Server와 runner가 같은 의미로 해석할 기본 메시지 범위와 호환성 기준을 묶는다.

  • [message-list] 기본 메시지 목록과 방향성이 정의되어 있다.
  • [message-fields] 각 메시지의 최소 필드와 실패 응답 형식이 정의되어 있다. 검증: OTO Server와 runner 구현자가 같은 메시지 계약을 기준으로 병렬 작업을 시작할 수 있고, YAML 파이프라인과 커맨드 모델이 메시지 위에서 어떻게 호출되는지 설명된다.
  • [version-capability] 프로토콜 버전과 capability 협상 기준이 정의되어 있다.
  • [domain-boundary] generic node 하위 실행물이 아니라는 제품 경계가 문서화되어 있다. 검증: 메시지 추가가 기존 CLI 실행 경로를 깨지 않는다는 경계가 명확하다.

완료 리뷰

  • 상태: 없음
  • 요청일: 없음
  • 완료 근거: 계획 상태이며 기능 Task와 Task 안의 검증이 아직 충족되지 않았다.
  • 리뷰 필요:
    • 사용자가 완료 결과를 확인했다
    • archive 이동을 승인했다
  • 리뷰 코멘트: 없음

범위 제외

  • 웹 UI 또는 OTO Server 관리 화면을 구현하지 않는다.
  • 기존 YAML 파이프라인 형식을 대체하지 않는다.
  • 모든 운영 보안 정책을 완성하지 않는다.

작업 컨텍스트

  • 관련 경로: apps/runner/lib/oto/**, apps/runner/test/**, proto/oto/**, services/core/**
  • CLI 자동화 표면 정리 단계의 구조화 실행 결과와 step event 기준을 먼저 확인한다.
  • 표준선(선택): 메시지 형태는 proto/oto의 OTO Server/Runner 계약과 구조화 실행 결과/step event 계약을 우선 활용하고, YAML 파이프라인 실행 경로를 대체하지 않는 방향으로 잡는다.
  • 선행 Milestone: 독립 Control Plane 분리 마이그레이션
  • 후속 의존: control-plane-separation-migrationoto-owns-cicd Task가 OTO Server의 job/execution/log/artifact 소유권을 먼저 확정해야 한다.
  • 책임 경계: iop는 이 Phase의 wire/protocol 소유자가 아니며, AI provider가 필요한 후속 기능에서만 선택적으로 소비된다.
  • 책임 경계: OTO는 build/deploy runner가 노출할 capabilities, YAML run request 연결, step/log/artifact event 의미를 정리한다.
  • 프로토콜 파일이나 생성 코드가 추가되면 관련 도메인 rule 또는 새 도메인 rule 필요 여부를 검토한다.
  • 확인 필요: 구현 착수 전 oto-owns-cicd 완료 근거를 확인한다.