iop/agent-roadmap/phase/automation-runtime-bridge/PHASE.md

13 KiB

Phase: Automation Runtime과 Bridge 확장

상태

[진행중]

목표

Runtime과 Automation 실행 흐름을 공통화하고, agent 설치형 대상과 비설치형 대상의 제어 경로를 분리해 확장한다. CLI 실행, specialized agent 등록, bootstrap/enrollment, OpenAI-compatible workspace agent 실행 계약을 서로 충돌하지 않는 운영 경로로 정리했다. NomadCode가 IOP를 실행 백엔드로 사용할 수 있도록 하는 Responses 기반 workspace agent 실행 계약과 정적 lane/G 결과를 시간대·quota·실행 상태와 결합하는 Agent Task 동적 실행 Target Selector를 완료했다. 완료된 iop-agent는 현재 IOP가 소유하는 선별 이전 source이며, IOP Agent Runtime의 Chronos 선별 이전과 IOP 의존성 제거가 필요한 자산 전달, IOP standalone 제거와 잔류 provider 회귀를 먼저 닫는다. 이 Milestone 완료 전에는 Chronos Roadmap을 시작하지 않으며, 이후 scoped workflow, task-file grade routing policy, Provider 알림, 원격 workspace와 Flutter·Unity 제품 작업은 Chronos가 소유한다. 원격 터미널/CLI 터널링과 oto scheduler/CI-CD 자동화는 2차 스케치로 잠그고, 현재 활성 구현 범위로 끌어오지 않는다.

Milestone 흐름

완료된 Milestone은 archive 경로를 가리키고, 검토중, 진행중, 계획, 스케치 또는 보류 Milestone은 이 Phase 하위 milestones/ 경로를 가리킨다. 이 흐름은 해당 Phase 안의 상태 정리이며, Phase를 가로지르는 실행 순서는 아니다. Milestone은 완료, 검토중, 진행중, 계획, 스케치 또는 보류 상태 그룹으로 정리한다. Phase를 가로지르는 실제 다음 작업 선택은 전역 마일스톤 실행 순서를 우선한다.

  • [완료] CLI Automation Runtime 안정화

    • 경로: cli-automation-runtime-stabilization
    • 요약: one-shot, persistent terminal, opencode SSE, codex exec 계열 CLI 실행 모드와 운영 command 응답을 같은 adapter execution 모델 안에서 안정화했다.
  • [완료] Agent Bootstrap과 Domain Agent 등록

  • [완료] Domain Agent Registry 구현

    • 경로: domain-agent-registry-implementation
    • 요약: Edge-side generic-node/domain-agent 구분을 config/store, registry/transport, service snapshot에 반영하고 검증을 완료했다.
  • [완료] Domain Agent Bootstrap Command 발급

    • 경로: domain-agent-bootstrap-command-issue
    • 요약: iop-edge agent register가 domain agent record와 Linux bootstrap script 인자를 포함한 one-line command를 발급하고 config roundtrip 검증을 완료했다.
  • [완료] IOP 전용 Domain Agent 경로 제거

    • 경로: domain-agent-specific-iop-removal
    • 요약: 독립 Control Plane 전환에 맞춰 IOP 활성 코드와 문서에서 전용 agent kind, bootstrap, smoke, 운영 문구를 제거했다.
  • [완료] 전역 설계 부채 리팩토링 기반

    • 경로: architecture-refactor-foundation
    • 요약: 원격 터미널 브리지와 이후 운영 확장 전에 Edge, Node, Control Plane, Client, proto/config 경계의 설계 부채를 정리했고, 잔여 리스크는 후속 선행 안정화 마일스톤으로 넘겼다.
  • [완료] OpenAI Responses Input Surface

    • 경로: openai-responses-input-surface
    • 요약: Edge OpenAI-compatible 입력 표면에 non-streaming POST /v1/responses, metadata 전달 계약, response subset, iop-edge smoke openai Responses 검증을 추가하고 실제 Edge/Node/fake Ollama smoke evidence를 확보했다.
  • [폐기] Specialized Agent proto-socket 연결 기반

    • 경로: specialized-agent-proto-socket-foundation
    • 요약: domain agent가 독립형 실행 방식으로 전환될 예정이므로 Edge 직접 proto-socket specialized peer 기준의 연결 기반 정리는 폐기한다.
  • [폐기] Domain Agent Registration Online Smoke

  • [폐기] Domain Agent Registration Unlock Handoff

  • [폐기] Domain Agent Message Boundary

    • 경로: domain-agent-message-boundary
    • 요약: 독립형 실행 전환으로 Edge 직접 domain payload boundary 정리가 현재 범위에서 필요 없어져 폐기한다.
  • [폐기] 공통 Agent Task Runtime과 Desktop Agent

    • 경로: shared-agent-task-runtime-desktop-agent
    • 요약: 공통 runtime·Desktop host·Flutter 배포를 결합한 기존 범위는 IOP Agent CLI Runtime으로 분할한 뒤 후속 Flutter·Unity 제품 계획을 Chronos로 이전해 독립 구현 단위로 폐기했다.
  • [완료] 워크스페이스 포트/환경 표준화

    • 경로: workspace-port-env-standardization
    • 요약: Control Plane, Edge, Node, Client, OpenAI-compatible, A2A, wire, metrics, DB/cache 포트를 workspace 공통 대역으로 정렬한다.
  • [완료] 브리지 선행 경계 안정화

    • 경로: bridge-boundary-hardening
    • 요약: 원격 터미널 브리지 POC 전에 남은 호환성/소유권 리스크를 Client HTTP lifecycle, Edge run surface, Node terminal core, typed adapter config 계약으로 고정한다.
  • [완료] Codex App Server 스트리밍 전환

    • 경로: codex-app-server-streaming-migration
    • 요약: Codex CLI target의 기본 codex profile을 app-server 기반으로 전환하고 실제 codex foreground/background smoke와 app-server session lifecycle 검증을 완료했다.
  • [완료] OpenAI Workspace Agent Execution Contract

    • 경로: openai-workspace-agent-execution-contract
    • 요약: NomadCode가 IOP CLI를 직접 실행하지 않고 IOP Edge OpenAI-compatible HTTP 호출의 metadata.workspace와 task/source metadata만으로 내부 workspace-bound agent target이 해당 checkout에서 산출물을 만들 수 있게 하는 최우선 contract/serving hardening 작업이다.
  • [완료] 에이전트 작업성 중심 저장소 구조 리팩터링

    • 경로: agent-readable-repository-refactor
    • 요약: 거대 소스·테스트와 추적 artifact를 책임 단위로 정리하고, task-local read set과 동작 보존형 가독성 ratchet을 검증해 완료했다.
  • [완료] Agent Task 동적 실행 Target Selector

    • 경로: agent-task-runtime-target-selector
    • 요약: 정적 lane/G 결과를 시간대, quota와 이전 실행 상태에 결합해 작업 단위로 고정되는 adapter + target 선택과 failover·selfcheck·task-local blocker·독립 작업 drain 정책을 구현했다. 중복된 최종 audit pair는 임시 Python 구현 폐기 예정에 따른 사용자 결정으로 미실행 종료했다.
  • [계획] Pi CLI Provider Integration

    • 경로: pi-cli-provider-integration
    • 요약: Node CLI adapter의 실행 profile 후보에 Pi를 추가하고, Pi JSON stream 출력 파서, config 예시, OpenAI-compatible route smoke를 통해 adapter=cli,target=pi를 안정적으로 사용할 수 있게 한다.
  • [완료] IOP Agent CLI Runtime

    • 경로: iop-agent-cli-runtime
    • 요약: Python 감시·dispatcher와 Node CLI runtime 동등성을 공통 Go CLI Provider·AgentTaskManager 및 개인 장비당 단일 iop-agent binary로 이전하고, 다중 project 관측·수동 시작/자동 재개·client subprocess 소유 경계를 완료했다.
  • [스케치] IOP Agent Runtime의 Chronos 선별 이전과 IOP 의존성 제거

  • [스케치] oto 자동화 스케줄러와 CI-CD 연동 (2차)

  • [보류] 원격 터미널/CLI 터널링 POC (2차)

    • 경로: remote-terminal-bridge-poc
    • 요약: Agent를 설치하기 어려운 host/device 또는 특정 Node의 CLI agent를 Socket 경유로 다른 원격지에 연결하는 터널링 POC는 MVP 이후 2차로 보류한다.

Phase 경계

  • OpenAI-compatible API와 A2A API에 terminal 제어 기능을 억지로 싣지 않는다.
  • Edge는 실행 요청의 broker 역할을 하고, Node는 대상 transport 실행자 역할을 유지한다.
  • 완료된 iop-agent의 Edge 비의존 headless CLI, 단일 active supervisor와 same-user local-control 동작은 선별 이전 source invariant다. IOP 선행 분리 Milestone이 끝나면 IOP에는 해당 standalone binary와 supervisor/client lifecycle 소유권을 남기지 않는다.
  • 단일 iop-agent의 기존 project 관측·client process 기능은 IOP 선행 Milestone의 transfer manifest와 behavior fixture 입력으로만 취급하고, 새 client lifecycle·local control 기능은 IOP에 추가하지 않는다.
  • 설치 가능한 대상은 bootstrap/enrollment 경로로, 설치가 어렵거나 일회성 유지보수 대상은 remote terminal bridge 경로로 구분한다.
  • OpenAI-compatible Responses 표면은 외부 모델 호출 호환을 위한 입력 표면이며, IOP 고유 운영 제어는 native protocol이나 명시 운영 API로 분리한다.
  • NomadCode 지원을 위한 metadata.workspace 실행 계약은 provider 확장, Lemonade 추가, remote terminal bridge보다 먼저 닫는다.
  • 완료된 iop-agent와 공통 Agent Task runtime의 workspace guard, selection, recovery와 상태 동작은 IOP 선행 Milestone에서 Chronos-owned/IOP-retained로 분류한다. 전달된 standalone 동작은 Chronos가 이어받고, IOP에는 잔류 finite provider 실행에 필요한 코드만 유지한다.
  • Plan/Review·Milestone·Roadmap lifecycle, 일반 요청 triage, task filename lane/grade 해석과 route policy는 Chronos가 소유한다. IOP provider host는 Chronos가 고정한 typed adapter + target을 실행할 뿐 artifact 원문이나 filename 의미를 재해석하지 않는다.
  • provider 실행, quota/status, stream/session과 finite retry/failure capability는 선별 이전 전후 모두 IOP가 유지한다. 선행 Milestone 완료 뒤에는 IOP에 standalone workflow state, client lifecycle, forwarding runtime 또는 Chronos application runtime dependency를 남기지 않는다.
  • 외부 model=iop으로 명시 선택되는 IOP Hot Path One-shot 실행 경로는 IOP가 계속 소유하는 독립 경로이며 Chronos의 direct/Plan/Milestone 분류, durable artifact와 continuation을 거치거나 공유하지 않는다.
  • IOP가 quota/status/failure event를 제공할 수는 있지만 macOS/Desktop 알림 delivery와 이력은 Chronos가 소유한다.
  • 원격 터미널/CLI 터널링 POC와 oto scheduler/CI-CD 연동은 현재 활성 작업에서 제외하고, provider 상태/capacity queue와 운영 관측 MVP 이후 재개 후보로 둔다.