iop/agent-roadmap/archive/phase/automation-runtime-bridge/milestones/cli-automation-runtime-stabilization.md

3.3 KiB

CLI Automation Runtime 안정화

목표

CLI Agent와 도구 실행을 안정적인 Automation runtime으로 정리한다. 현재 구현된 CLI adapter baseline을 바탕으로 one-shot, persistent terminal, opencode SSE, codex exec 같은 실행 모드를 같은 adapter execution 모델 안에서 안정화한다.

단계

Automation Runtime과 Bridge 확장

상태

완료

구현 잠금

  • 상태: 해제
  • 이유: 완료된 Milestone이며 완료 기준과 완료 근거가 문서화되어 있다. 후속 확장은 별도 Milestone에서 다룬다.
  • 해제 조건:
    • 완료 기준과 완료 근거가 문서화됨
    • 후속 확장은 별도 Milestone에서 다룸
  • 잠금 중 금지:
    • 해당 없음

범위

  • CLI profile 설정과 output format 처리 안정화
  • persistent logical session lifecycle 관리
  • command/status/capability/session list 응답 정리
  • usage/status parser와 terminal screen parser 신뢰성 강화
  • Node local execution history와 Edge event aggregation 경계 정리
  • 이미 동작하는 CLI adapter 기능을 재구현하지 않고 hardening, 경계 정리, 검증 기준 보강에 집중

필수 기능

  • [profile-modes] CLI adapter는 profile별 실행 모드를 node.Node 분기 없이 adapter 내부에서 처리한다.
  • [output-parsing] output format별 파싱은 lineEmitter 또는 모드별 구현으로 분리한다.
  • [persistent-session] persistent terminal profile은 idle timeout, completion marker, cancel drain 기준을 명확히 가진다.
  • [command-path] NodeCommandRequest 경로는 실행 요청과 분리된 조회/제어 명령으로 유지한다.
  • [ops-command] 운영 명령 응답과 검증 기준을 마무리한다.
    • [ops-payload] SESSION_LIST, USAGE_STATUS, TRANSPORT_STATUS 응답 payload를 운영자가 읽기 쉬운 필드로 정리한다.
    • [ops-smoke] 대상 패키지 테스트와 field smoke 절차로 운영 명령 응답을 검증한다.
  • [history-boundary] Node local execution history와 Edge event aggregation의 책임 경계를 확인한다.
  • [profile-smoke] 주요 CLI profile별 field smoke 결과를 수집하고 마일스톤 종료 여부를 결정한다.

완료 기준

  • 주요 CLI profile이 동일한 RunRequest/RunEvent 흐름으로 실행된다.
  • session list, usage status, transport status가 운영자가 이해할 수 있는 응답을 제공한다.
  • CLI adapter 변경 시 대상 패키지 테스트와 field smoke 기준이 함께 맞는다.

범위 제외

  • 모든 외부 자동화 도구를 iop-node 하위 프로세스로 흡수
  • OTO 같은 specialized domain agent를 CLI adapter profile로 대체
  • CLI adapter 내부에 Control Plane 책임 추가

작업 컨텍스트

  • 관련 앱: apps/node
  • 관련 패키지: apps/node/internal/adapters/cli, apps/node/internal/runtime, apps/node/internal/node
  • 관련 문서: apps/node/README.md
  • 방향성 메모: OpenCode, Aider, Cline, Claude Code, Gemini CLI, Codex CLI 등은 NomadCode 전용 구현이 아니라 IOP CLI adapter/profile 후보로 본다.
  • 최근 근거: 2026-05-23에 go test ./..., mock ./scripts/e2e-smoke.sh, IOP_E2E_PROFILE=codex|opencode|antigravity|claude|claude-tui ./scripts/e2e-smoke.sh를 통과했다.
  • 다음 작업: 완료됨. 후속 후보는 원격 터미널 브리지 POC이다.