# Phase: Automation Runtime과 Bridge 확장

## 상태

[완료]

## 목표

과거 IOP 안에서 공통화한 CLI Agent/Automation 자산을 독립 Chronos 플랫폼으로 이전하고, IOP를 추론 provider 운영 책임으로 되돌린다.
완료된 CLI 실행, workspace agent, Agent Task selector와 standalone `iop-agent`는 이전 기준선일 뿐 IOP의 장기 제품 경계가 아니다.
[[separation-01] IOP Agent Runtime의 Chronos 전체 이전과 IOP 의존성 제거](milestones/iop-agent-chronos-extraction-decoupling.md)가 모든 관련 자산을 repository-neutral Chronos acceptance bundle로 전달하고 IOP의 agent·workspace·terminal·host/client lifecycle surface와 Chronos 연결점을 제거했다. 이후 실제 repository import, 최종 layout 결정, 외부 접근 가능한 Chronos Server, 독립 Chronos Node, 작업 루프·agent·terminal·원격 호스트 제어는 Chronos가 소유한다.
IOP Control Plane·Edge·IOP Node에는 model/provider/device 서빙에 필요한 route·실행·취소·상태·usage·lifecycle만 남긴다. Chronos는 필요할 때 IOP의 외부 추론 API를 일반 client로 소비하며 IOP Node에 연결하거나 제어하지 않는다.

## Milestone 흐름

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

- [완료] CLI Automation Runtime 안정화
  - 경로: [cli-automation-runtime-stabilization](milestones/cli-automation-runtime-stabilization.md)
  - 요약: one-shot, persistent terminal, opencode SSE, codex exec 계열 CLI 실행 모드와 운영 command 응답을 같은 adapter execution 모델 안에서 안정화했다.

- [완료] Agent Bootstrap과 Domain Agent 등록
  - 경로: [agent-bootstrap-domain-agent-enrollment](milestones/agent-bootstrap-domain-agent-enrollment.md)
  - 요약: Edge 직접 연결 specialized domain agent 등록을 위한 MVP enrollment 계약과 후속 구현 Milestone 경계를 확정했다.

- [완료] Domain Agent Registry 구현
  - 경로: [domain-agent-registry-implementation](milestones/domain-agent-registry-implementation.md)
  - 요약: Edge-side `generic-node`/domain-agent 구분을 config/store, registry/transport, service snapshot에 반영하고 검증을 완료했다.

- [완료] Domain Agent Bootstrap Command 발급
  - 경로: [domain-agent-bootstrap-command-issue](milestones/domain-agent-bootstrap-command-issue.md)
  - 요약: `iop-edge agent register`가 domain agent record와 Linux bootstrap script 인자를 포함한 one-line command를 발급하고 config roundtrip 검증을 완료했다.

- [완료] IOP 전용 Domain Agent 경로 제거
  - 경로: [domain-agent-specific-iop-removal](milestones/domain-agent-specific-iop-removal.md)
  - 요약: 독립 Control Plane 전환에 맞춰 IOP 활성 코드와 문서에서 전용 agent kind, bootstrap, smoke, 운영 문구를 제거했다.

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

- [완료] OpenAI Responses Input Surface
  - 경로: [openai-responses-input-surface](milestones/openai-responses-input-surface.md)
  - 요약: 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](milestones/specialized-agent-proto-socket-foundation.md)
  - 요약: domain agent가 독립형 실행 방식으로 전환될 예정이므로 Edge 직접 proto-socket specialized peer 기준의 연결 기반 정리는 폐기한다.

- [폐기] Domain Agent Registration Online Smoke
  - 경로: [domain-agent-registration-online-smoke](milestones/domain-agent-registration-online-smoke.md)
  - 요약: 독립형 실행 방식으로 전환될 예정이므로 Edge 직접 registration online smoke는 폐기한다.

- [폐기] Domain Agent Registration Unlock Handoff
  - 경로: [domain-agent-registration-unlock-handoff](milestones/domain-agent-registration-unlock-handoff.md)
  - 요약: 독립형 실행 전환으로 Edge 직접 등록 흐름 잠금 해제 handoff가 필요 없어져 폐기한다.

- [폐기] Domain Agent Message Boundary
  - 경로: [domain-agent-message-boundary](milestones/domain-agent-message-boundary.md)
  - 요약: 독립형 실행 전환으로 Edge 직접 domain payload boundary 정리가 현재 범위에서 필요 없어져 폐기한다.

- [폐기] 공통 Agent Task Runtime과 Desktop Agent
  - 경로: [shared-agent-task-runtime-desktop-agent](milestones/shared-agent-task-runtime-desktop-agent.md)
  - 요약: 공통 runtime·Desktop host·Flutter 배포를 결합한 기존 범위는 IOP Agent CLI Runtime으로 분할한 뒤 후속 Flutter·Unity 제품 계획을 Chronos로 이전해 독립 구현 단위로 폐기했다.

- [완료] 워크스페이스 포트/환경 표준화
  - 경로: [workspace-port-env-standardization](milestones/workspace-port-env-standardization.md)
  - 요약: Control Plane, Edge, Node, Client, OpenAI-compatible, A2A, wire, metrics, DB/cache 포트를 workspace 공통 대역으로 정렬한다.

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

- [완료] Codex App Server 스트리밍 전환
  - 경로: [codex-app-server-streaming-migration](milestones/codex-app-server-streaming-migration.md)
  - 요약: 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](milestones/openai-workspace-agent-execution-contract.md)
  - 요약: 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](milestones/agent-readable-repository-refactor.md)
  - 요약: 거대 소스·테스트와 추적 artifact를 책임 단위로 정리하고, task-local read set과 동작 보존형 가독성 ratchet을 검증해 완료했다.

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

- [폐기] Pi CLI Provider Integration
  - 경로: [pi-cli-provider-integration](milestones/pi-cli-provider-integration.md)
  - 요약: workspace와 tools를 가진 Pi CLI agent 실행은 IOP 추론 provider 책임이 아니므로 IOP 계획을 폐기하고 Chronos Server/Node의 agent 실행 후보로 넘긴다.

- [완료] IOP Agent CLI Runtime
  - 경로: [iop-agent-cli-runtime](milestones/iop-agent-cli-runtime.md)
  - 요약: Python 감시·dispatcher와 Node CLI runtime 동등성을 공통 Go CLI Provider·AgentTaskManager 및 개인 장비당 단일 `iop-agent` binary로 이전하고, 다중 project 관측·수동 시작/자동 재개·client subprocess 소유 경계를 완료했다.

- [완료] [separation-01] IOP Agent Runtime의 Chronos 전체 이전과 IOP 의존성 제거
  - 경로: [[separation-01] IOP Agent Runtime의 Chronos 전체 이전과 IOP 의존성 제거](milestones/iop-agent-chronos-extraction-decoupling.md)
  - 요약: `iop-agent` 자산과 상태를 repository-neutral Chronos acceptance bundle로 전달하고 IOP의 agent·terminal·workspace·Chronos 연결 surface를 제거했다. canonical `dev`의 provider-only 회귀와 Agent UI 정합화가 통과해 Chronos 선행 잠금을 활성화했다.

- [폐기] oto 자동화 스케줄러와 CI-CD 연동 (2차)
  - 경로: [oto-automation-scheduler-second-wave](milestones/oto-automation-scheduler-second-wave.md)
  - 요약: loop engineering, scheduler와 CI-CD workflow는 IOP가 아니라 Chronos Server 책임이므로 IOP 후보를 폐기한다.

- [폐기] 원격 터미널/CLI 터널링 POC (2차)
  - 경로: [remote-terminal-bridge-poc](milestones/remote-terminal-bridge-poc.md)
  - 요약: terminal/PTY와 원격 호스트 제어는 독립 Chronos Node가 소유하므로 Edge-IOP Node 브리지 방식의 IOP POC를 폐기한다.

## Phase 경계

- OpenAI-compatible, Anthropic-compatible와 A2A 호환 표면은 IOP의 추론 provider 호출에 한정하며 terminal·workspace·agent loop 제어를 싣지 않는다.
- Edge는 IOP provider 요청의 broker 역할을 하고, IOP Node는 model/provider/device 실행자 역할만 유지한다.
- 완료된 `iop-agent`의 Edge 비의존 headless CLI, 단일 active supervisor와 same-user local-control 동작은 전체 이전 기준선이며, IOP에는 해당 binary, supervisor/client lifecycle, 작업 상태와 관련 계약을 남기지 않는다.
- 단일 `iop-agent`의 기존 project 관측·client process 기능과 저장 상태는 IOP 선행 Milestone의 전체 이전 목록과 동작 검증 입력으로 취급하고, IOP에 새 client lifecycle·local control 기능을 추가하지 않는다.
- OpenAI-compatible Responses 표면은 외부 모델 호출 호환을 위한 입력 표면이며, IOP 고유 provider 운영 제어는 native protocol이나 명시 운영 API로 분리한다. `metadata.workspace`는 IOP Node의 workspace agent 실행이나 원격 mutation 권한으로 해석하지 않는다.
- 완료된 `iop-agent`와 공통 Agent Task runtime의 작업공간 보호, 대상 선택, 복구, 상태·검토·반영 동작은 Chronos로 전부 이전한다. IOP Node에는 IOP가 소유한 provider 실행·취소·상태·usage와 model/device lifecycle만 유지한다.
- Plan/Review·Milestone·Roadmap lifecycle, 일반 요청 triage, task filename lane/grade 해석, route policy, terminal/PTY, file/process와 원격 workspace 제어는 Chronos Server와 Chronos Node가 소유한다.
- Chronos Node는 IOP Node와 별도 runtime·identity·registry·wire를 가진다. IOP에는 Chronos를 위한 bridge/API/proto/config, target 등록, forwarding runtime 또는 future control hook을 남기지 않는다.
- Chronos가 모델 추론이 필요하면 IOP의 공개 추론 API를 일반 client로 호출한다. IOP는 Chronos 작업/session/node 의미를 알지 못하고 Chronos는 IOP Node를 제어하지 않는다.
- 외부 `model=iop`으로 명시 선택되는 [IOP Hot Path One-shot 실행 경로](../../../phase/knowledge-tool-optimization-extension/milestones/iop-hot-path-one-shot-execution.md)는 IOP가 계속 소유하는 독립 경로이며 Chronos의 direct/Plan/Milestone 분류, durable artifact와 continuation을 거치거나 공유하지 않는다.
- IOP가 quota/status/failure event를 제공할 수는 있지만 macOS/Desktop 알림 delivery와 이력은 Chronos가 소유한다.
- Pi 같은 workspace CLI agent, 원격 터미널/CLI 터널링과 oto scheduler/CI-CD는 IOP 재개 후보로 두지 않고 Chronos 책임에서 새로 설계한다.
