iop/agent-ui/definition/views/runtime/index.md
toki bebd95f909 docs(agent-ui): legacy 상태값을 보정한다
validate-agent-ui 규칙이 요구하는 상태값 스키마에 맞춰 기존 code-first agent-ui 문서의 legacy 상태 표기를 정규화한다.
2026-06-25 10:54:05 +09:00

105 lines
4.2 KiB
Markdown

---
ui_doc_type: view
view_id: runtime
status: 구현됨
frame: null
source_evidence:
- type: code
path: apps/client/lib/widgets/runtime_panel.dart
notes: RuntimePanel renders edge selector, operation command actions, domain agent grid, and operation history.
- type: code
path: apps/client/lib/client_home_page.dart
notes: ClientHomePage injects RuntimePanel into the shell runtime section.
- type: docs
path: README.md
notes: Runtime and automation operations are Edge-owned shared operations exposed through Control Plane.
- type: user
path: null
notes: Initial scaffold requested by user.
regions:
- runtime.header
- runtime.edge-selector
- runtime.command-actions
- runtime.command-status
- runtime.domain-agents
- runtime.operation-history
---
# Runtime
View ID: `runtime`
Frame:
- 없음
Status: `구현됨`
## Source Evidence
| Type | Path | Notes |
|------|------|-------|
| code | `apps/client/lib/widgets/runtime_panel.dart` | `RuntimePanel`이 operation command, agent status/command dialogs, domain agent grid, operation history를 렌더링한다. |
| code | `apps/client/lib/client_home_page.dart` | shell runtime section에 `RuntimePanel`을 주입한다. |
| docs | `README.md` | Runtime/Automation operation은 Edge가 소유하고 Control Plane이 제어 요청을 전달하는 구조다. |
| user | 없음 | 초기 agent-ui 생성을 요청했다. |
## Purpose
운영자가 선택 Edge에 health check, agent status, agent command를 보내고 domain agent 상태와 command 이력을 확인한다.
## Primary Users
- IOP operator
- runtime/automation command를 검증하는 engineer
## Primary Tasks
- active Edge 선택
- health check 실행
- agent status 조회
- agent command 전송
- domain agent lifecycle 상태 확인
- operation execution history 확인
## Information Priority
1. active Edge와 command action availability
2. command result status
3. domain agent lifecycle state
4. operation execution history
## Regions
| Region ID | Purpose | Component | Priority | Notes |
|-----------|---------|-----------|----------|-------|
| `runtime.header` | title, active Edge selector, refresh 표시 | `edge-selector` | high | narrow width에서는 header control이 줄바꿈된다. |
| `runtime.edge-selector` | active Edge 선택 | `edge-selector` | high | command target Edge를 결정한다. |
| `runtime.command-actions` | system/agent command 실행 버튼 표시 | `command-action-bar` | high | health check, agent status, agent command를 포함한다. |
| `runtime.command-status` | 최근 command 결과 표시 | `status-badge` | high | success/failure alert로 표시된다. |
| `runtime.domain-agents` | Edge domain agent grid 표시 | `domain-agent-card` | medium | lifecycle state, summary, active command id를 포함한다. |
| `runtime.operation-history` | operation execution history 표시 | `operation-history-list` | medium | command id, selector, summary, error, status를 포함한다. |
## Actions
| Action ID | Trigger | Result | Guard |
|-----------|---------|--------|-------|
| `runtime.select-edge` | Active Edge dropdown change | 선택 Edge operations를 fetch한다. | Edge 목록이 있어야 한다. |
| `runtime.refresh` | Refresh icon button | 선택 Edge operations를 다시 fetch한다. | 선택 Edge가 있어야 한다. |
| `runtime.health-check` | Health Check button | `health.check` Edge command를 보낸다. | loading 중이 아니어야 한다. |
| `runtime.agent-status` | Agent Status dialog submit | `agent.status` Edge command를 target selector와 함께 보낸다. | selector가 비어 있지 않아야 한다. |
| `runtime.agent-command` | Agent Command dialog submit | `agent.command` Edge command를 selector와 command parameter로 보낸다. | selector와 command가 비어 있지 않아야 한다. |
## States
- loading: operations fetch 또는 command send 중 spinner/disabled action을 표시한다.
- empty: Edge가 없거나 domain agent/operation history가 없으면 empty message를 표시한다.
- error: operations fetch 또는 command send failure를 error text/status로 표시한다.
- permission-denied: 현재 구현 근거 없음
## Open Questions
- 없음
## Decision History
- 2026-06-25: `RuntimePanel` 구현을 기준으로 runtime view를 정의했다.