# Phase: Agent Shell IOP Execution

## 상태

[계획]

## 목표

workspace 상위 sibling 프로젝트 `../agent-shell`을 제품 비종속 Flutter agent UI/package로 사용하고, 그 UI를 구동하는 backend/runtime은 `../iop` 프로젝트가 맡도록 경계를 정리한다. Gito는 agent backend를 직접 구현하지 않고, repo/workspace/operation/event control plane과 Git 결과 수렴 계약을 제공한다.
IOP 같은 sibling/external runtime 연결은 HTTP dispatch/callback 모델로 정렬하고, proto-socket은 외부 연결 규약으로 사용하지 않는다.

## Milestone 흐름

완료된 Milestone은 archive 경로를 가리키고, 검토중, 진행중, 계획, 스케치 또는 보류 Milestone은 이 Phase 하위 `milestones/` 경로를 가리킨다.
완료, 검토중, 진행중, 계획, 스케치 순서로 두어 아래로 갈수록 미래 작업에 가까워지게 정렬한다.
스케치 Milestone은 아직 구현 가능한 계획이 아니므로 계획 Milestone보다 아래에 둔다.

- [완료] Agent Shell Package and IOP Backend Boundary
  - 경로: `agent-roadmap/archive/phase/agent-shell-iop-execution/milestones/agent-shell-package-iop-backend-boundary.md`
  - 요약: `../agent-shell`은 Flutter agent UI/package로 사용하고, backend/runtime owner는 `../iop` 프로젝트로 지정한다.

- [계획] IOP Agent Run Bridge
  - 경로: `agent-roadmap/phase/agent-shell-iop-execution/milestones/iop-agent-run-bridge.md`
  - 요약: IOP backend가 수행한 agent run 결과를 Gito의 Git operation과 event 원장으로 수렴시키는 production bridge를 NomadCode webhook 대응 이후 재개한다.

- [계획] Command Policy and Cancellation
  - 경로: `agent-roadmap/phase/agent-shell-iop-execution/milestones/command-policy-and-cancellation.md`
  - 요약: IOP backend가 소유하는 command policy/cancel/log redaction 결과를 Gito operation state와 event로 반영하는 경계를 정한다.

## Phase 경계

- `../agent-shell`은 UI/package이며 local workspace command 실행 backend가 아니다.
- agent execution backend/runtime은 `../iop` 프로젝트가 소유한다.
- IOP 내부 모델 라우팅, RAG, output validation은 Gito의 소유 범위가 아니다.
- control plane은 arbitrary shell command를 직접 실행하지 않고 IOP backend/runtime 결과를 Git control plane 계약으로 수렴한다.
- IOP runtime 연결은 Gito가 CLI/profile/stdin/secret injection 세부를 직접 소유하지 않는 HTTP dispatch/callback 경계로 둔다.
- provider-specific PR/MR 작업은 ChangeRequest adapter Phase에서 처리한다.
