oto/agent-roadmap/archive/phase/control-plane-product-surface/milestones/control-plane-jenkins-aligned-layout-pass.md

4.8 KiB

Milestone: Control Plane Jenkins 정렬 레이아웃 패스

위치

  • Roadmap: agent-roadmap/ROADMAP.md
  • Phase: agent-roadmap/phase/control-plane-product-surface/PHASE.md

목표

Jenkins 최신 weekly/LTS, 2.516+ refreshed UI, Pipeline Graph View를 pixel parity가 아닌 운영 화면 정보 구조와 레이아웃 밀도 참조로 삼아 OTO Control Plane Flutter console의 shell, navigation, 주요 view layout을 재정렬한다. 완료 후 agent-ui의 Jenkins 정렬 계획 view/component는 코드 evidence와 검증 결과를 바탕으로 구현됨으로 되돌릴 수 있어야 한다.

상태

[완료]

구현 잠금

  • 상태: 해제
  • SDD: 불필요
  • SDD 사유: 현재 범위는 Flutter UI layout 재배치와 agent-ui/code 동기화이며 API/proto/config/schema, 외부 provider, 감사 source of truth, durable persistence를 바꾸지 않는다.
  • 결정 필요: 없음

범위

  • agent-ui/definition/**에 정리된 Jenkins reference baseline과 Target Layout Delta를 구현 입력으로 삼는다.
  • packages/flutter/oto_console의 shell, navigation, overview, runners, pipelines, executions, artifacts, settings layout을 재정렬한다.
  • apps/client host wiring은 기존 package boundary를 유지하며 필요한 mount/config 조정만 허용한다.
  • Pipeline Graph View의 stage graph는 OTO stage 데이터가 없으면 placeholder/summary region까지만 반영한다.
  • agent-shell view는 Jenkins parity 대상이 아니므로 navigation consistency만 확인한다.

기능

Epic: [layout-pass] Jenkins 정렬 레이아웃 구현

Jenkins 참조 기준선을 OTO console 코드에 구현하고 agent-ui 상태를 검증 근거로 되돌린다.

  • [layout-definition] Jenkins reference baseline, view/component Target Layout Delta, status=계획 정합성을 agent-ui에 고정한다. 검증: validate-agent-ui 결과가 PASS이고, 대상 view/component가 코드 반영 전 계획 상태로 남아 있다.
  • [shell-layout] console-shellconsole-rail을 Jenkins refreshed header/action context와 운영 destination grouping에 맞춰 재배치한다. 검증: Flutter 정적 분석 또는 widget test, shell/navigation smoke, validate-agent-ui.
  • [view-layout] overview, runners, pipelines, executions, artifacts, settings를 Target Layout Delta에 맞춰 재배치한다. 검증: 각 view의 주요 region이 코드에 남고 empty/error/data 상태가 깨지지 않는다.
  • [component-layout] record-list, state-panel, status-badge, action-feedback, execution-action-toolbar, log-preview, artifact-list, create/update form의 reusable layout pattern을 정리한다. 검증: shared component 또는 surface별 widget 코드가 agent-ui component rules와 충돌하지 않는다.
  • [agent-ui-completion] 코드 반영과 검증이 끝난 view/component의 status구현됨으로 되돌리고 code evidence를 유지한다. 검증: 최종 validate-agent-ui PASS와 code-review의 Agent UI Completion 근거가 남아 있다.

완료 리뷰

  • 상태: 통과
  • 요청일: 2026-07-03
  • 완료 근거: layout-definition, shell-layout, view-layout, component-layout은 archived PASS complete.log의 Roadmap Completion으로 확인했고, agent-ui-completion은 대상 agent-ui view/component status=구현됨 반영과 활성 정의서 검증 PASS로 확인했다.
  • 완료 근거: 코드 레벨 종료 검토에서 packages/flutter/oto_consoleapps/client의 Flutter analyze/test가 현재 checkout 기준 PASS했고, git diff --check도 PASS했다.
  • 검토 항목:
    • agent-ui 상태 반영: 완료
    • Workspace 잠금: 관련 lock 없음
  • 리뷰 코멘트: 모든 기능 Task, 구현 잠금, 검증 근거가 충족되어 완료 archive 대상으로 판단했다.

범위 제외

  • Jenkins pixel parity, exact spacing/color token 복제는 하지 않는다.
  • Jenkins plugin ecosystem 전체, Blue Ocean 신규 기준화, Jenkins folder/multibranch taxonomy 구현은 제외한다.
  • Core API, proto, auth/audit source of truth, durable artifact storage 변경은 제외한다.
  • production identity provider나 조직/테넌트 모델은 제외한다.

작업 컨텍스트

  • 관련 agent-ui: agent-ui/definition/index.md, agent-ui/definition/views/**, agent-ui/definition/components/**, agent-ui/frame/index.md
  • 관련 코드: packages/flutter/oto_console/lib/src/**, apps/client/lib/src/app/oto_client_app.dart
  • 표준선: 기존 OtoConsoleSection enum과 package boundary를 우선 유지한다.
  • 표준선: Jenkins reference는 정보 구조와 운영 밀도 기준이며, exact visual clone이 아니다.
  • sync-agent-ui 라우팅: MILESTONE_REQUIRED
  • 확인 필요: 없음. 구현 계획은 이 Milestone의 기능 Task와 agent-ui Target Layout Delta를 입력으로 작성한다.