# Milestone: Multi Runner Management

## 위치

- Roadmap: `agent-roadmap/ROADMAP.md`
- Phase: `agent-roadmap/phase/control-surface-operations-ux/PHASE.md`

## 목표

여러 agent-shell runner를 등록, 배정, 격리, 회수하는 운영 UX와 정책 후보를 정리한다. 이 Milestone은 아직 구현 계획이 아니라 runner 수가 늘어날 때 필요한 제품/보안/운영 결정을 정리하는 스케치다.

## 상태

[스케치]

## 승격 조건

- [ ] runner 배정 기준을 repo affinity, capability, load, security boundary 중 어디에 우선할지 정한다.
- [ ] runner credential과 workspace isolation 수준을 확정한다.
- [ ] offline/stale runner 회수 정책과 lease recovery 기준을 정한다.
- [ ] 첫 구현을 UI 중심으로 할지 control plane policy 중심으로 할지 정한다.

## 구현 잠금

- 상태: 잠금
- 결정 필요:
  - [ ] multi-runner 운영이 필요한 최소 규모와 첫 target deployment 형태를 확정한다.
  - [ ] runner isolation과 credential 보안 기준을 확정한다.

## 범위

- runner registry 후보
- capability-based scheduling 후보
- stale/offline runner recovery 후보
- workspace isolation 후보
- multi-runner UI 후보

## 기능

### Epic: [runner-sketch] Runner 운영 스케치

multi-runner 기능을 구현 계획으로 승격하기 위한 결정을 모은다.

- [ ] [registry] runner registry와 capability shape 후보를 정리한다.
- [ ] [scheduling] repo/operation을 runner에 배정하는 scheduling 기준 후보를 비교한다.
- [ ] [recovery] stale lease와 offline runner recovery 후보를 정리한다.
- [ ] [ux] runner 상태와 lease 회수를 UI에서 어떻게 보여줄지 후보를 정리한다.

## 완료 리뷰

- 상태: 없음
- 요청일: 없음
- 완료 근거: 없음
- 리뷰 필요:
  - [ ] 사용자가 완료 결과를 확인했다
  - [ ] archive 이동을 승인했다
- 리뷰 코멘트: 없음

## 범위 제외

- 실제 runner scheduler 구현
- production deployment automation
- secret manager 구현
- enterprise multi-tenant permission model

## 작업 컨텍스트

- 관련 경로: `apps/client/`, `services/core/internal/agentshell/`, `services/core/internal/worker/`
- 표준선(선택): 스케치 상태에서는 구현 계획이나 코드 구현을 시작하지 않는다.
- 선행 작업: Operations Observability
- 후속 작업: 없음
- 확인 필요: runner 운영 규모, isolation 기준, deployment 형태

