oto/agent-ui/definition/components/console-rail/index.md

4.8 KiB

ui_doc_type component_id status source_evidence
component console-rail 계획
type path notes
code packages/flutter/oto_console/lib/src/oto_console_shell.dart _OtoConsoleRail, _RailButton 구현
type path notes
docs apps/client/README.md oto_console embeddable UI surface
type path notes
user null agent-ui 생성 요청

Console Rail

Component ID: console-rail

Status: 계획 (Jenkins IA gate 미충족: global/context menu 모델 분리가 후속 구현 대기)

Source Evidence

Type Path Notes
code packages/flutter/oto_console/lib/src/oto_console_shell.dart _OtoConsoleRail, _RailButton 구현
docs apps/client/README.md embeddable console surface
user 없음 agent-ui 생성 요청

Purpose

콘솔 section 사이를 빠르게 이동하는 고정 rail navigation을 제공한다.

Used By

  • overview: shell navigation
  • runners: shell navigation
  • pipelines: shell navigation
  • executions: shell navigation
  • artifacts: shell navigation
  • agent: shell navigation
  • settings: shell navigation

Anatomy

  • icon button
  • tooltip
  • selected visual state
  • top main section group
  • bottom agent/settings group

Jenkins Reference Alignment

  • OTO rail은 Jenkins Dashboard-level left menu의 일부 destination만 전역 section으로 축약한다.
  • Jenkins classic job/run page의 좌측 메뉴는 page-local task/action list이므로, 현재 OTO rail과 동일한 것으로 보지 않는다.
  • Jenkins와 달리 breadcrumb stack과 contextual task menu는 현재 제공하지 않는다. 세부 route가 늘어나면 shell/header와 view-local left task menu로 분리한다.
  • 사용자 결정(2026-07-03): OTO의 메뉴 구조는 Jenkins 메뉴 모델 중 OTO에 바로 적용 가능한 항목만 1차 적용한다. 현재 rail의 partial mapping은 최종 목표가 아니라 구현 전 상태다.

Jenkins Left Menu Mapping

1차 적용 Global Menu

Order Jenkins menu model OTO menu item Target
1 Dashboard / view root Overview Control Plane dashboard/home
2 New Item New Item Pipelines create flow
3 Jobs / item list Pipelines job list and selected job status
4 Build History Build History execution history
5 Nodes/Agents Runners runner/node list
6 Artifacts Artifacts artifact list
7 Manage Jenkins Manage OTO / Settings Jenkins-style management categories
8 OTO-specific Agent Agent OTO assistant surface

1차 적용 Context Menus

Context Jenkins menu model OTO menu item Target
Job Status Status selected job status/detail
Job Build History Build History selected job execution history
Job Stages / Full Stage View Stages selected execution stage graph
Run Pipeline Overview Pipeline Overview stage graph primary region
Run Console Output Console Output selected execution log
Run Artifacts Artifacts selected execution artifacts
Run Build History Build History nearby execution history/context

제외/후순위

People, Changes, existing job Build Now, Configure, Replay, Pipeline Syntax는 OTO Core/UI 계약이 생기기 전까지 1차 메뉴에 만들지 않는다.

Target Layout Delta

  • rail은 현재 60px icon-only 구조에서 Jenkins Dashboard-level left menu를 알아볼 수 있는 메뉴로 재정렬한다.
  • Jenkins job/run left menu parity는 rail이 아니라 view-local contextual task menu로 정의하고 구현한다.
  • selected state와 tooltip은 유지하고, section ordering은 overview, new item, pipelines, build history, runners, artifacts, manage, agent 순서를 기준으로 검토한다.
  • 현재 rail 구현은 global destination 축약(current)만 존재하고, 위 1차 적용 Global/Context menu(target)는 Jenkins IA gate 미충족 상태다.
  • 후속 구현(02/03)의 widget 테스트는 global menu label New Item, Build History, Nodes, Artifacts, Manage OTO와 job/run context menu(Status, Stages, Pipeline Overview, Console Output) 분리를 고정 label로 확인한다.

Variants

  • default: 60px rail width, 56x48 button hit area
  • selected: primary color icon and tinted background

States

  • default
  • selected
  • hover/focus via Flutter button semantics
  • disabled: 없음

Rules

  • navigation destination은 OtoConsoleSection enum과 일치해야 한다.
  • section 추가 시 rail button, enum, view definition을 함께 갱신하고, visual source가 있으면 frame-view definition도 함께 갱신한다.

Decision History

  • 2026-06-24: shell rail을 console-rail component로 정의했다.