iop/agent-ops/roadmap/milestones/cli-automation-runtime-stabilization.md

55 lines
2.7 KiB
Markdown

# CLI Automation Runtime 안정화
## 목표
CLI Agent와 도구 실행을 안정적인 Automation runtime으로 정리한다.
현재 구현된 CLI adapter baseline을 바탕으로 one-shot, persistent terminal, opencode SSE, codex exec 같은 실행 모드를 같은 adapter execution 모델 안에서 안정화한다.
## 단계
Automation Runtime과 Bridge 확장
## 상태
완료
## 범위
- 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, 경계 정리, 검증 기준 보강에 집중
## 필수 기능
- [x] CLI adapter는 profile별 실행 모드를 `node.Node` 분기 없이 adapter 내부에서 처리한다.
- [x] output format별 파싱은 `lineEmitter` 또는 모드별 구현으로 분리한다.
- [x] persistent terminal profile은 idle timeout, completion marker, cancel drain 기준을 명확히 가진다.
- [x] `NodeCommandRequest` 경로는 실행 요청과 분리된 조회/제어 명령으로 유지한다.
- [x] 운영 명령 응답과 검증 기준을 마무리한다.
- [x] `SESSION_LIST`, `USAGE_STATUS`, `TRANSPORT_STATUS` 응답 payload를 운영자가 읽기 쉬운 필드로 정리한다.
- [x] 대상 패키지 테스트와 field smoke 절차로 운영 명령 응답을 검증한다.
- [x] Node local execution history와 Edge event aggregation의 책임 경계를 확인한다.
- [x] 주요 CLI profile별 field smoke 결과를 수집하고 마일스톤 종료 여부를 결정한다.
## 완료 기준
- [x] 주요 CLI profile이 동일한 `RunRequest`/`RunEvent` 흐름으로 실행된다.
- [x] session list, usage status, transport status가 운영자가 이해할 수 있는 응답을 제공한다.
- [x] 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`
- 최근 근거: 2026-05-23에 `go test ./...`, mock `./scripts/e2e-smoke.sh`, `IOP_E2E_PROFILE=codex|opencode|antigravity|claude|claude-tui ./scripts/e2e-smoke.sh`를 통과했다.
- 다음 작업: 완료됨. 후속 후보는 `원격 터미널 브리지 POC`이다.