---
ui_doc_type: view
view_id: alt-workbench
status: 구현됨
frame: null
source_evidence:
  - type: code
    path: apps/client/lib/src/app/router.dart
    notes: Root route가 AltWorkbenchShell을 root view로 mount한다.
  - type: code
    path: apps/client/lib/src/app/alt_workbench_shell.dart
    notes: titlebar, activity rail, center content switching, Agent dock, placeholder sections가 구현되어 있다.
  - type: docs
    path: apps/client/README.md
    notes: Workbench Shell은 top titlebar, right activity rail, center content, right Agent dock 패턴이라고 설명한다.
regions:
  - alt-workbench.title-bar
  - alt-workbench.center
  - alt-workbench.activity-rail
  - alt-workbench.agent-dock
---

# Alt Workbench

View ID: `alt-workbench`

Frame:
- 없음

Status: `구현됨`

## Source Evidence

| Type | Path | Notes |
|------|------|-------|
| code | `apps/client/lib/src/app/router.dart` | `/` route가 `AltWorkbenchShell`을 root view로 mount한다. |
| code | `apps/client/lib/src/app/alt_workbench_shell.dart` | titlebar, activity rail, center content switching, Agent dock, placeholder sections가 구현되어 있다. |
| docs | `apps/client/README.md` | Workbench Shell은 top titlebar, right activity rail, center content, right Agent dock 패턴이라고 설명한다. |

## Purpose

ALT 운영자가 dashboard, market data, backtest, portfolio, research, settings 후보 영역과 Agent dock을 한 콘솔에서 오갈 수 있는 root workbench다.

## Primary Users

- ALT operator
- 개발 중 headless API/worker 상태를 확인하는 maintainer

## Primary Tasks

- 현재 선택된 운영 section의 content 확인
- 오른쪽 activity rail로 section 전환
- Agent dock을 열어 보조 대화 표면 확인
- API/core readiness 전에는 placeholder 상태와 scaffold 경계를 확인

## Information Priority

1. 현재 선택된 section과 center content
2. Agent dock 열림 상태와 activity rail의 section affordance
3. titlebar의 ALT Console context

## Regions

| Region ID | Purpose | Component | Priority | Notes |
|-----------|---------|-----------|----------|-------|
| `alt-workbench.title-bar` | ALT Console identity와 현재 section label 표시 | `workbench-title-bar` | high | 상단 고정 영역 |
| `alt-workbench.center` | dashboard 또는 placeholder section content 표시 | `placeholder-panel` | high | dashboard는 별도 `dashboard` view로 정의한다. 나머지 section은 UIR-001 결정 전까지 placeholder로 둔다. |
| `alt-workbench.activity-rail` | Agent toggle과 section switching controls 제공 | `activity-rail` | high | 오른쪽 rail, compact Agent dock 상태에서는 center content 숨김 |
| `alt-workbench.agent-dock` | `agent_shell` 기반 agent chat surface 표시 | `agent-dock` | medium | 사용자가 rail의 Agent action을 선택하면 열린다. |

## Actions

| Action ID | Trigger | Result | Guard |
|-----------|---------|--------|-------|
| `alt-workbench.select-section` | activity rail section button | center content가 선택 section으로 전환되고 Agent dock은 닫힌다. | operator |
| `alt-workbench.toggle-agent` | Agent rail button | Agent dock open/closed 상태를 전환한다. | operator |

## States

- loading: shell 자체에는 별도 loading state가 없다. center content가 담당한다.
- empty: section content가 준비되지 않으면 placeholder panel을 표시한다.
- error: shell 자체 error state는 아직 정의되지 않았다.
- permission-denied: 권한 모델이 도입되면 rail action 또는 center content에서 처리한다.

## Open Questions

- [UIR-001] Markets, Backtests, Portfolio, Research, Settings placeholder를 별도 view 정의로 승격할지 결정해야 한다.

## Decision History

- 2026-06-25: `/` route와 `AltWorkbenchShell` 구현 근거로 root workbench view를 생성했다.
