From 92d2376d556ef4f309dc4ff2c4a8a305e300254a Mon Sep 17 00:00:00 2001 From: toki Date: Fri, 3 Jul 2026 16:25:18 +0900 Subject: [PATCH] sync: agent-ui definitions update & move control-plane milestone to archive --- ...ntrol-plane-jenkins-aligned-layout-pass.md | 24 ++++++++++--------- .../control-plane-product-surface/PHASE.md | 6 ++--- .../components/action-feedback/index.md | 6 ++--- .../components/artifact-list/index.md | 6 ++--- .../components/console-rail/index.md | 6 ++--- .../components/console-shell/index.md | 6 ++--- .../execution-action-toolbar/index.md | 6 ++--- agent-ui/definition/components/index.md | 24 +++++++++---------- .../components/job-create-form/index.md | 6 ++--- .../components/log-preview/index.md | 6 ++--- .../components/record-list/index.md | 6 ++--- .../runner-self-update-form/index.md | 6 ++--- .../components/section-surface/index.md | 6 ++--- .../components/state-panel/index.md | 6 ++--- .../components/status-badge/index.md | 6 ++--- agent-ui/definition/index.md | 7 +++--- agent-ui/definition/views/artifacts/index.md | 6 ++--- agent-ui/definition/views/executions/index.md | 6 ++--- agent-ui/definition/views/index.md | 14 +++++------ agent-ui/definition/views/overview/index.md | 6 ++--- agent-ui/definition/views/pipelines/index.md | 6 ++--- agent-ui/definition/views/runners/index.md | 6 ++--- agent-ui/definition/views/settings/index.md | 6 ++--- 23 files changed, 93 insertions(+), 90 deletions(-) rename agent-roadmap/{ => archive}/phase/control-plane-product-surface/milestones/control-plane-jenkins-aligned-layout-pass.md (78%) diff --git a/agent-roadmap/phase/control-plane-product-surface/milestones/control-plane-jenkins-aligned-layout-pass.md b/agent-roadmap/archive/phase/control-plane-product-surface/milestones/control-plane-jenkins-aligned-layout-pass.md similarity index 78% rename from agent-roadmap/phase/control-plane-product-surface/milestones/control-plane-jenkins-aligned-layout-pass.md rename to agent-roadmap/archive/phase/control-plane-product-surface/milestones/control-plane-jenkins-aligned-layout-pass.md index d01c87a..12cf14d 100644 --- a/agent-roadmap/phase/control-plane-product-surface/milestones/control-plane-jenkins-aligned-layout-pass.md +++ b/agent-roadmap/archive/phase/control-plane-product-surface/milestones/control-plane-jenkins-aligned-layout-pass.md @@ -12,7 +12,7 @@ Jenkins 최신 weekly/LTS, `2.516+` refreshed UI, Pipeline Graph View를 pixel p ## 상태 -[계획] +[완료] ## 구현 잠금 @@ -35,20 +35,22 @@ Jenkins 최신 weekly/LTS, `2.516+` refreshed UI, Pipeline Graph View를 pixel p 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-shell`과 `console-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` 근거가 남아 있다. +- [x] [layout-definition] Jenkins reference baseline, view/component Target Layout Delta, status=`계획` 정합성을 agent-ui에 고정한다. 검증: `validate-agent-ui` 결과가 PASS이고, 대상 view/component가 코드 반영 전 `계획` 상태로 남아 있다. +- [x] [shell-layout] `console-shell`과 `console-rail`을 Jenkins refreshed header/action context와 운영 destination grouping에 맞춰 재배치한다. 검증: Flutter 정적 분석 또는 widget test, shell/navigation smoke, `validate-agent-ui`. +- [x] [view-layout] `overview`, `runners`, `pipelines`, `executions`, `artifacts`, `settings`를 Target Layout Delta에 맞춰 재배치한다. 검증: 각 view의 주요 region이 코드에 남고 empty/error/data 상태가 깨지지 않는다. +- [x] [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와 충돌하지 않는다. +- [x] [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_console`와 `apps/client`의 Flutter analyze/test가 현재 checkout 기준 PASS했고, `git diff --check`도 PASS했다. - 검토 항목: - - agent-ui 상태 반영: 대기 -- 리뷰 코멘트: 없음 + - agent-ui 상태 반영: 완료 + - Workspace 잠금: 관련 lock 없음 +- 리뷰 코멘트: 모든 기능 Task, 구현 잠금, 검증 근거가 충족되어 완료 archive 대상으로 판단했다. ## 범위 제외 diff --git a/agent-roadmap/phase/control-plane-product-surface/PHASE.md b/agent-roadmap/phase/control-plane-product-surface/PHASE.md index fa94b3e..dcd7479 100644 --- a/agent-roadmap/phase/control-plane-product-surface/PHASE.md +++ b/agent-roadmap/phase/control-plane-product-surface/PHASE.md @@ -30,12 +30,12 @@ - [완료] Runner proto-socket transport hardening - 경로: `agent-roadmap/archive/phase/control-plane-product-surface/milestones/runner-proto-socket-transport-hardening.md` - 요약: OTO Server와 runner의 기본 내부 연결을 proto-socket push/session 기준으로 다듬고, HTTP job claim/polling 잔존 경로를 compatibility 경계로 축소한다. +- [완료] Control Plane Jenkins 정렬 레이아웃 패스 + - 경로: `agent-roadmap/archive/phase/control-plane-product-surface/milestones/control-plane-jenkins-aligned-layout-pass.md` + - 요약: Jenkins 최신 weekly/LTS와 `2.516+` refreshed UI, Pipeline Graph View를 러프 참조로 삼아 OTO console shell, navigation, 주요 운영 view의 레이아웃을 구현에 반영했다. - [진행중] Control Plane 운영 보안·감사 표면 - 경로: `agent-roadmap/phase/control-plane-product-surface/milestones/control-plane-security-audit-surface.md` - 요약: write action 표면 이후 필요한 인증/권한, 감사 로그, 민감 정보 마스킹, UI 노출 경계를 SDD와 구현 가능한 Task로 구체화한다. -- [계획] Control Plane Jenkins 정렬 레이아웃 패스 - - 경로: `agent-roadmap/phase/control-plane-product-surface/milestones/control-plane-jenkins-aligned-layout-pass.md` - - 요약: Jenkins 최신 weekly/LTS와 `2.516+` refreshed UI, Pipeline Graph View를 러프 참조로 삼아 OTO console shell, navigation, 주요 운영 view의 레이아웃을 구현에 반영한다. ## Phase 경계 diff --git a/agent-ui/definition/components/action-feedback/index.md b/agent-ui/definition/components/action-feedback/index.md index 318a85e..78495c6 100644 --- a/agent-ui/definition/components/action-feedback/index.md +++ b/agent-ui/definition/components/action-feedback/index.md @@ -1,7 +1,7 @@ --- ui_doc_type: component component_id: action-feedback -status: 계획 +status: 구현됨 source_evidence: - type: code path: packages/flutter/oto_console/lib/src/oto_runners_surface.dart @@ -21,7 +21,7 @@ source_evidence: Component ID: `action-feedback` -Status: `계획` +Status: `구현됨` ## Source Evidence @@ -59,7 +59,7 @@ write action 결과를 success, deferred, failed 상태로 짧게 표시한다. - action feedback은 inline row message와 page/banner message 양쪽으로 쓸 수 있는 anatomy를 목표로 둔다. - success/deferred/failed 외에 permission-denied를 `authorization-state`와 연결하는 방향을 둔다. -- 현재 surface별 feedback container는 목표 reusable feedback pattern 전 단계이므로 코드 반영 전 상태는 `계획`이다. +- 현재 surface별 feedback container는 목표 feedback pattern 반영이 완료되어 `구현됨` 상태다. ## Variants diff --git a/agent-ui/definition/components/artifact-list/index.md b/agent-ui/definition/components/artifact-list/index.md index 7c7c2cf..58eedef 100644 --- a/agent-ui/definition/components/artifact-list/index.md +++ b/agent-ui/definition/components/artifact-list/index.md @@ -1,7 +1,7 @@ --- ui_doc_type: component component_id: artifact-list -status: 계획 +status: 구현됨 source_evidence: - type: code path: packages/flutter/oto_console/lib/src/oto_artifacts_surface.dart @@ -21,7 +21,7 @@ source_evidence: Component ID: `artifact-list` -Status: `계획` +Status: `구현됨` ## Source Evidence @@ -58,7 +58,7 @@ artifact name과 path를 row 목록으로 보여준다. - artifact list는 full tab과 execution detail preview에서 같은 row anatomy를 공유하는 것을 목표로 둔다. - row는 name/path/context/action slot을 분리하고, content preview/download는 후속 확장 slot으로 남긴다. -- 현재 단순 row 구현은 목표 artifact browser anatomy 전 단계이므로 코드 반영 전 상태는 `계획`이다. +- 현재 row 구현은 목표 artifact browser anatomy 반영이 완료되어 `구현됨` 상태다. ## Variants diff --git a/agent-ui/definition/components/console-rail/index.md b/agent-ui/definition/components/console-rail/index.md index 9d03596..aec5ed5 100644 --- a/agent-ui/definition/components/console-rail/index.md +++ b/agent-ui/definition/components/console-rail/index.md @@ -1,7 +1,7 @@ --- ui_doc_type: component component_id: console-rail -status: 계획 +status: 구현됨 source_evidence: - type: code path: packages/flutter/oto_console/lib/src/oto_console_shell.dart @@ -18,7 +18,7 @@ source_evidence: Component ID: `console-rail` -Status: `계획` +Status: `구현됨` ## Source Evidence @@ -60,7 +60,7 @@ Status: `계획` - rail은 현재 60px icon-only 구조를 유지하되, Jenkins 운영 destination grouping에 맞춰 main/workflow/administration grouping을 더 명확히 한다. - selected state와 tooltip은 유지하고, 필요하면 section ordering을 overview, pipelines, executions, runners, artifacts, settings, agent 순서 후보로 재검토한다. -- 현재 rail 구현은 목표 grouping 전 단계이므로 코드 반영 전 상태는 `계획`이다. +- 현재 rail 구현은 목표 grouping 반영이 완료되어 `구현됨` 상태다. ## Variants diff --git a/agent-ui/definition/components/console-shell/index.md b/agent-ui/definition/components/console-shell/index.md index b41a08b..58d8408 100644 --- a/agent-ui/definition/components/console-shell/index.md +++ b/agent-ui/definition/components/console-shell/index.md @@ -1,7 +1,7 @@ --- ui_doc_type: component component_id: console-shell -status: 계획 +status: 구현됨 source_evidence: - type: code path: packages/flutter/oto_console/lib/src/oto_console_shell.dart @@ -18,7 +18,7 @@ source_evidence: Component ID: `console-shell` -Status: `계획` +Status: `구현됨` ## Source Evidence @@ -61,7 +61,7 @@ Control Plane 콘솔의 전체 layout shell을 제공하고, rail navigation과 - shell은 rail + content만이 아니라 page header/action slot을 담을 수 있는 구조를 목표로 둔다. - breadcrumb는 이번 범위에서 제외하지만, Jenkins refreshed header처럼 current view context와 primary action을 같은 상단 영역에 둘 수 있어야 한다. -- 현재 `OtoConsoleShell` 구현은 목표 shell layout 전 단계이므로 코드 반영 전 상태는 `계획`이다. +- 현재 `OtoConsoleShell` 구현은 목표 shell layout 반영이 완료되어 `구현됨` 상태다. ## Variants diff --git a/agent-ui/definition/components/execution-action-toolbar/index.md b/agent-ui/definition/components/execution-action-toolbar/index.md index 1125662..2092b0a 100644 --- a/agent-ui/definition/components/execution-action-toolbar/index.md +++ b/agent-ui/definition/components/execution-action-toolbar/index.md @@ -1,7 +1,7 @@ --- ui_doc_type: component component_id: execution-action-toolbar -status: 계획 +status: 구현됨 source_evidence: - type: code path: packages/flutter/oto_console/lib/src/oto_executions_surface.dart @@ -18,7 +18,7 @@ source_evidence: Component ID: `execution-action-toolbar` -Status: `계획` +Status: `구현됨` ## Source Evidence @@ -55,7 +55,7 @@ Status: `계획` - toolbar는 expanded card 내부 button row가 아니라 selected execution detail header/action area에 붙는 구조를 목표로 둔다. - destructive action, append/report action, navigation action을 group으로 나눈다. -- 현재 toolbar 구현은 목표 run detail action layout 전 단계이므로 코드 반영 전 상태는 `계획`이다. +- 현재 toolbar 구현은 목표 run detail action layout 반영이 완료되어 `구현됨` 상태다. ## Variants diff --git a/agent-ui/definition/components/index.md b/agent-ui/definition/components/index.md index aa22d69..fa4ee0e 100644 --- a/agent-ui/definition/components/index.md +++ b/agent-ui/definition/components/index.md @@ -27,23 +27,23 @@ components: | Component ID | Status | Evidence | Description | |--------------|--------|----------|-------------| -| `console-shell` | 계획 | `oto_console_shell.dart` + Jenkins reference baseline | overall console scaffold with rail and selected section content. Jenkins-style header/action layout 재정렬 대상 | -| `console-rail` | 계획 | `oto_console_shell.dart` + Jenkins reference baseline | section navigation rail. Jenkins navigation grouping 재정렬 대상 | -| `section-surface` | 계획 | `oto_console_shell.dart` + Jenkins reference baseline | generic titled empty/detail section shell. Manage Jenkins-style fallback grouping 재정렬 대상 | -| `state-panel` | 계획 | surface files + Jenkins reference baseline | loading, empty, error state blocks. Jenkins monitor/banner-style state 재정렬 대상 | -| `status-badge` | 계획 | overview/runners/jobs/executions surface files + Jenkins reference baseline | compact status label badge. Jenkins result/severity vocabulary 정렬 대상 | +| `console-shell` | 구현됨 | `oto_console_shell.dart` + Jenkins reference baseline | overall console scaffold with rail and selected section content. Jenkins-style header/action layout 반영 | +| `console-rail` | 구현됨 | `oto_console_shell.dart` + Jenkins reference baseline | section navigation rail. Jenkins navigation grouping 반영 | +| `section-surface` | 구현됨 | `oto_console_shell.dart` + Jenkins reference baseline | generic titled empty/detail section shell. Manage Jenkins-style fallback grouping 반영 | +| `state-panel` | 구현됨 | surface files + Jenkins reference baseline | loading, empty, error state blocks. Jenkins monitor/banner-style state 반영 | +| `status-badge` | 구현됨 | overview/runners/jobs/executions surface files + Jenkins reference baseline | compact status label badge. Jenkins result/severity vocabulary 정렬 반영 | | `endpoint-tile` | 구현됨 | `oto_console_overview.dart` | endpoint or config value tile | | `connection-status-grid` | 구현됨 | `oto_console_overview.dart` | health/readiness status grid | | `auth-token-reference` | 구현됨 | `oto_console_overview.dart` | display-only auth token reference | -| `record-list` | 계획 | runners/jobs/executions/artifacts surface files + Jenkins reference baseline | repeated entity list rows. Jenkins job/build/node row density 정렬 대상 | -| `action-feedback` | 계획 | runners/jobs/executions surface files + Jenkins reference baseline | success/deferred/failed action message. Jenkins action outcome 정렬 대상 | -| `runner-self-update-form` | 계획 | `oto_runners_surface.dart` + Jenkins reference baseline | runner self-update draft form. Jenkins update action density 정렬 대상 | -| `job-create-form` | 계획 | `oto_jobs_surface.dart` + Jenkins reference baseline | job create draft form. Jenkins New Item flow 정렬 대상 | -| `execution-action-toolbar` | 계획 | `oto_executions_surface.dart` + Jenkins reference baseline | cancel/report/log/artifact execution actions. Jenkins run action area 정렬 대상 | +| `record-list` | 구현됨 | runners/jobs/executions/artifacts surface files + Jenkins reference baseline | repeated entity list rows. Jenkins job/build/node row density 정렬 반영 | +| `action-feedback` | 구현됨 | runners/jobs/executions surface files + Jenkins reference baseline | success/deferred/failed action message. Jenkins action outcome 정렬 반영 | +| `runner-self-update-form` | 구현됨 | `oto_runners_surface.dart` + Jenkins reference baseline | runner self-update draft form. Jenkins update action density 정렬 반영 | +| `job-create-form` | 구현됨 | `oto_jobs_surface.dart` + Jenkins reference baseline | job create draft form. Jenkins New Item flow 정렬 반영 | +| `execution-action-toolbar` | 구현됨 | `oto_executions_surface.dart` + Jenkins reference baseline | cancel/report/log/artifact execution actions. Jenkins run action area 정렬 반영 | | `authorization-state` | 계획 | security/audit SDD | operator/admin allow/deny, disabled, and error state rules for write actions | | `audit-action-summary` | 계획 | security/audit SDD | display-safe action metadata summary for audit-oriented UI exposure | -| `log-preview` | 계획 | `oto_executions_surface.dart` + Jenkins reference baseline | bounded execution log preview. Jenkins Console Output/live log pane 정렬 대상 | -| `artifact-list` | 계획 | `oto_artifacts_surface.dart`, `oto_executions_surface.dart` + Jenkins reference baseline | artifact records in tab and execution detail. Jenkins artifact browser 정렬 대상 | +| `log-preview` | 구현됨 | `oto_executions_surface.dart` + Jenkins reference baseline | bounded execution log preview. Jenkins Console Output/live log pane 정렬 반영 | +| `artifact-list` | 구현됨 | `oto_artifacts_surface.dart`, `oto_executions_surface.dart` + Jenkins reference baseline | artifact records in tab and execution detail. Jenkins artifact browser 정렬 반영 | | `agent-chat-panel` | 구현됨 | `oto_agent_panel.dart` | agent-shell backed OTO assistant panel | ## Rules diff --git a/agent-ui/definition/components/job-create-form/index.md b/agent-ui/definition/components/job-create-form/index.md index 8e195bc..3e8c0a5 100644 --- a/agent-ui/definition/components/job-create-form/index.md +++ b/agent-ui/definition/components/job-create-form/index.md @@ -1,7 +1,7 @@ --- ui_doc_type: component component_id: job-create-form -status: 계획 +status: 구현됨 source_evidence: - type: code path: packages/flutter/oto_console/lib/src/oto_jobs_surface.dart @@ -18,7 +18,7 @@ source_evidence: Component ID: `job-create-form` -Status: `계획` +Status: `구현됨` ## Source Evidence @@ -54,7 +54,7 @@ operator가 job id와 job name으로 새 pipeline/job record 생성을 요청하 - create form은 pipelines list 상단에 항상 넓게 노출되는 구조보다 compact create panel/action slot을 목표로 둔다. - submit feedback은 list context를 밀어내지 않도록 action-feedback pattern에 맞춘다. -- 현재 inline wide form은 목표 create flow 전 단계이므로 코드 반영 전 상태는 `계획`이다. +- 현재 form은 compact create flow 반영이 완료되어 `구현됨` 상태다. ## Variants diff --git a/agent-ui/definition/components/log-preview/index.md b/agent-ui/definition/components/log-preview/index.md index ea653e6..c4e45a5 100644 --- a/agent-ui/definition/components/log-preview/index.md +++ b/agent-ui/definition/components/log-preview/index.md @@ -1,7 +1,7 @@ --- ui_doc_type: component component_id: log-preview -status: 계획 +status: 구현됨 source_evidence: - type: code path: packages/flutter/oto_console/lib/src/oto_executions_surface.dart @@ -18,7 +18,7 @@ source_evidence: Component ID: `log-preview` -Status: `계획` +Status: `구현됨` ## Source Evidence @@ -53,7 +53,7 @@ Status: `계획` - log preview는 selected execution detail의 독립 pane으로 이동하는 것을 목표로 둔다. - bounded preview는 유지하되, future full console action을 추가할 수 있는 header/action slot을 둔다. -- 현재 card 내부 raw preview는 목표 log pane layout 전 단계이므로 코드 반영 전 상태는 `계획`이다. +- 현재 preview는 목표 log pane layout 반영이 완료되어 `구현됨` 상태다. ## Variants diff --git a/agent-ui/definition/components/record-list/index.md b/agent-ui/definition/components/record-list/index.md index a1a230b..7ed821e 100644 --- a/agent-ui/definition/components/record-list/index.md +++ b/agent-ui/definition/components/record-list/index.md @@ -1,7 +1,7 @@ --- ui_doc_type: component component_id: record-list -status: 계획 +status: 구현됨 source_evidence: - type: code path: packages/flutter/oto_console/lib/src/oto_runners_surface.dart @@ -21,7 +21,7 @@ source_evidence: Component ID: `record-list` -Status: `계획` +Status: `구현됨` ## Source Evidence @@ -62,7 +62,7 @@ runner, job, execution, artifact 같은 운영 record를 카드형 row 목록으 - repeated record는 large card보다 dense list row를 우선한다. - primary identity, status, context metadata, action/link 영역이 같은 row 안에서 예측 가능하게 배치되어야 한다. - expanded detail은 executions에만 허용하고, runners/pipelines/artifacts는 row action 또는 detail pane 후보로 분리한다. -- 현재 row 구현은 목표 density 전 단계이므로 코드 반영 전 상태는 `계획`이다. +- 현재 row 구현은 목표 density 반영이 완료되어 `구현됨` 상태다. ## Variants diff --git a/agent-ui/definition/components/runner-self-update-form/index.md b/agent-ui/definition/components/runner-self-update-form/index.md index 70a8801..8cf117a 100644 --- a/agent-ui/definition/components/runner-self-update-form/index.md +++ b/agent-ui/definition/components/runner-self-update-form/index.md @@ -1,7 +1,7 @@ --- ui_doc_type: component component_id: runner-self-update-form -status: 계획 +status: 구현됨 source_evidence: - type: code path: packages/flutter/oto_console/lib/src/oto_runners_surface.dart @@ -18,7 +18,7 @@ source_evidence: Component ID: `runner-self-update-form` -Status: `계획` +Status: `구현됨` ## Source Evidence @@ -54,7 +54,7 @@ runner별 target version과 HTTPS download URL을 받아 self-update action을 - self-update form은 runner row의 always-open 입력 영역이 아니라 action panel 또는 inline expanded action으로 제한한다. - version/URL validation은 유지하고, failed/deferred feedback은 같은 runner context에 묶는다. -- 현재 row 내부 form은 목표 management action layout 전 단계이므로 코드 반영 전 상태는 `계획`이다. +- 현재 form은 runner management action layout 반영이 완료되어 `구현됨` 상태다. ## Variants diff --git a/agent-ui/definition/components/section-surface/index.md b/agent-ui/definition/components/section-surface/index.md index f21d0df..80e4785 100644 --- a/agent-ui/definition/components/section-surface/index.md +++ b/agent-ui/definition/components/section-surface/index.md @@ -1,7 +1,7 @@ --- ui_doc_type: component component_id: section-surface -status: 계획 +status: 구현됨 source_evidence: - type: code path: packages/flutter/oto_console/lib/src/oto_console_shell.dart @@ -18,7 +18,7 @@ source_evidence: Component ID: `section-surface` -Status: `계획` +Status: `구현됨` ## Source Evidence @@ -54,7 +54,7 @@ Status: `계획` - section surface는 fallback empty state보다 settings/runtime summary group을 담는 reusable surface로 확장하는 것을 목표로 둔다. - title, detail rows, empty/error panel이 Jenkins 관리 화면처럼 분리되어야 한다. -- 현재 fallback component는 목표 grouped settings layout 전 단계이므로 코드 반영 전 상태는 `계획`이다. +- 현재 fallback component는 grouped settings layout 반영이 완료되어 `구현됨` 상태다. ## Variants diff --git a/agent-ui/definition/components/state-panel/index.md b/agent-ui/definition/components/state-panel/index.md index 916efc1..da7c35a 100644 --- a/agent-ui/definition/components/state-panel/index.md +++ b/agent-ui/definition/components/state-panel/index.md @@ -1,7 +1,7 @@ --- ui_doc_type: component component_id: state-panel -status: 계획 +status: 구현됨 source_evidence: - type: code path: packages/flutter/oto_console/lib/src/oto_runners_surface.dart @@ -21,7 +21,7 @@ source_evidence: Component ID: `state-panel` -Status: `계획` +Status: `구현됨` ## Source Evidence @@ -61,7 +61,7 @@ surface snapshot의 loading, empty, error 상태를 같은 밀도와 테두리 - state panel은 list 영역을 통째로 대신하는 card가 아니라 page/list context 안의 monitor/banner로도 쓸 수 있어야 한다. - error/permission denied는 status severity, summary, optional next action slot을 분리한다. -- 현재 surface별 개별 panel 구현은 목표 reusable state pattern 전 단계이므로 코드 반영 전 상태는 `계획`이다. +- 현재 surface별 state panel 구현은 목표 state pattern 반영이 완료되어 `구현됨` 상태다. ## Variants diff --git a/agent-ui/definition/components/status-badge/index.md b/agent-ui/definition/components/status-badge/index.md index 1f5b862..611a7f9 100644 --- a/agent-ui/definition/components/status-badge/index.md +++ b/agent-ui/definition/components/status-badge/index.md @@ -1,7 +1,7 @@ --- ui_doc_type: component component_id: status-badge -status: 계획 +status: 구현됨 source_evidence: - type: code path: packages/flutter/oto_console/lib/src/oto_console_overview.dart @@ -21,7 +21,7 @@ source_evidence: Component ID: `status-badge` -Status: `계획` +Status: `구현됨` ## Source Evidence @@ -59,7 +59,7 @@ Status: `계획` - badge는 entity status와 action result severity를 구분할 수 있게 variant를 명확히 한다. - build/run status는 Jenkins result semantics에 가까운 success/warning/failure/neutral mapping을 제공한다. -- 현재 surface별 private badge 구현은 목표 variant 정리 전 단계이므로 코드 반영 전 상태는 `계획`이다. +- 현재 surface별 badge 구현은 목표 status variant 반영이 완료되어 `구현됨` 상태다. ## Variants diff --git a/agent-ui/definition/index.md b/agent-ui/definition/index.md index c107da5..d1eeb7a 100644 --- a/agent-ui/definition/index.md +++ b/agent-ui/definition/index.md @@ -54,10 +54,10 @@ OTO Control Plane Flutter 콘솔의 운영 화면, 반복 component, 상태 표 ## Target Layout Status -- 현재 Flutter 구현은 기존 OTO console layout의 code evidence다. -- Jenkins 정렬 목표가 들어간 view/component는 코드 반영 전 재작업 대상이므로 `계획` 상태로 둔다. +- 현재 Flutter 구현은 Jenkins 정렬 레이아웃 패스가 반영된 OTO console layout의 code evidence다. +- Jenkins 정렬 목표가 이번 레이아웃 패스에서 코드와 검증으로 확인된 view/component는 `구현됨` 상태로 둔다. - 목표는 pixel parity가 아니라 header/action/status/list/detail/log/artifact의 정보 배치와 운영 밀도를 Jenkins 최신 UI 흐름에 맞추는 것이다. -- 코드 반영은 agent-ui 검증 후 `sync-agent-ui`에서 직접 구현, plan, milestone 중 하나로 라우팅한다. +- 보안/감사 source of truth처럼 문서 계획만 있는 항목은 계속 `계획` 상태로 둔다. ## Structure @@ -83,3 +83,4 @@ OTO Control Plane Flutter 콘솔의 운영 화면, 반복 component, 상태 표 - 2026-06-24: Flutter 콘솔 구현을 기준으로 `code-first` agent-ui scaffold를 생성했다. - 2026-07-02: Jenkins 최신 weekly/LTS와 `2.516+` refreshed UI를 러프 레이아웃 참조 기준선으로 추가했다. +- 2026-07-03: Jenkins 정렬 레이아웃 패스 구현과 검증 근거를 바탕으로 대상 view/component status를 `구현됨`으로 갱신했다. diff --git a/agent-ui/definition/views/artifacts/index.md b/agent-ui/definition/views/artifacts/index.md index b09c827..08f1aad 100644 --- a/agent-ui/definition/views/artifacts/index.md +++ b/agent-ui/definition/views/artifacts/index.md @@ -1,7 +1,7 @@ --- ui_doc_type: view view_id: artifacts -status: 계획 +status: 구현됨 frame: null source_evidence: - type: code @@ -29,7 +29,7 @@ View ID: `artifacts` Frame: - 없음 -Status: `계획` +Status: `구현됨` ## Source Evidence @@ -72,7 +72,7 @@ Control Plane에 수집된 artifact event를 목록으로 확인한다. - artifact row는 Jenkins artifact browser처럼 file identity, path/location, execution context 후보를 분리해서 스캔하게 한다. - download/content preview가 없더라도 artifact browser로 확장 가능한 list anatomy를 먼저 정의한다. - path는 ellipsis/masking을 유지하고, full path 노출은 별도 permission/audit 기준이 생기기 전까지 보수적으로 둔다. -- 현재 코드의 단순 icon/name/path row는 목표 layout 전 단계이므로 코드 반영 전 상태는 `계획`이다. +- 현재 코드는 artifact browser row anatomy 반영이 완료되어 `구현됨` 상태다. ## Regions diff --git a/agent-ui/definition/views/executions/index.md b/agent-ui/definition/views/executions/index.md index 99b1a3c..6387fe0 100644 --- a/agent-ui/definition/views/executions/index.md +++ b/agent-ui/definition/views/executions/index.md @@ -1,7 +1,7 @@ --- ui_doc_type: view view_id: executions -status: 계획 +status: 구현됨 frame: null source_evidence: - type: code @@ -34,7 +34,7 @@ View ID: `executions` Frame: - 없음 -Status: `계획` +Status: `구현됨` ## Source Evidence @@ -81,7 +81,7 @@ execution 상태를 확인하고, 상세 영역에서 cancel/report/log/artifact - execution list와 selected run detail을 Jenkins Build History + build page처럼 list/detail 관계로 재정렬한다. - selected detail은 run header, action toolbar, stage/step summary placeholder, log pane, artifact pane 순서로 구성한다. - Pipeline Graph View의 graph/stage/log 통합 layout을 후속 구현 기준으로 두되, OTO에 stage graph 데이터가 없으면 summary placeholder를 먼저 둔다. -- 현재 코드의 expandable card 안 action/log/artifact preview는 목표 layout 전 단계이므로 코드 반영 전 상태는 `계획`이다. +- 현재 코드는 selected run detail, action toolbar, stage summary placeholder, log pane, artifact pane 반영이 완료되어 `구현됨` 상태다. ## Regions diff --git a/agent-ui/definition/views/index.md b/agent-ui/definition/views/index.md index cf72bf7..a368f08 100644 --- a/agent-ui/definition/views/index.md +++ b/agent-ui/definition/views/index.md @@ -16,13 +16,13 @@ views: | View ID | Status | Evidence | Description | |---------|--------|----------|-------------| -| `overview` | 계획 | `OtoConsoleOverview` + Jenkins reference baseline | Control Plane endpoint, connection, authentication reference overview. Jenkins-style header/status layout 재정렬 대상 | -| `runners` | 계획 | `OtoRunnersSurface` + Jenkins reference baseline | runner registry state and self-update action surface. Jenkins Nodes/Agents-style list 재정렬 대상 | -| `pipelines` | 계획 | `OtoJobsSurface` + Jenkins reference baseline | pipeline/job queue list and create job action surface. Jenkins Dashboard/New Item-style flow 재정렬 대상 | -| `executions` | 계획 | `OtoExecutionsSurface` + Jenkins reference baseline | execution list, detail expansion, write actions, log/artifact preview. Pipeline Graph View-style run detail 재정렬 대상 | -| `artifacts` | 계획 | `OtoArtifactsSurface` + Jenkins reference baseline | artifact event list. Jenkins artifact browser-style list 재정렬 대상 | +| `overview` | 구현됨 | `OtoConsoleOverview` + Jenkins reference baseline | Control Plane endpoint, connection, authentication reference overview. Jenkins-style header/status layout 반영 | +| `runners` | 구현됨 | `OtoRunnersSurface` + Jenkins reference baseline | runner registry state and self-update action surface. Jenkins Nodes/Agents-style list 반영 | +| `pipelines` | 구현됨 | `OtoJobsSurface` + Jenkins reference baseline | pipeline/job queue list and create job action surface. Jenkins Dashboard/New Item-style flow 반영 | +| `executions` | 구현됨 | `OtoExecutionsSurface` + Jenkins reference baseline | execution list, detail expansion, write actions, log/artifact preview. Pipeline Graph View-style run detail 반영 | +| `artifacts` | 구현됨 | `OtoArtifactsSurface` + Jenkins reference baseline | artifact event list. Jenkins artifact browser-style list 반영 | | `agent` | 구현됨 | `OtoAgentPanel` | embeddable agent-shell panel for OTO capabilities | -| `settings` | 계획 | `OtoConsoleShell` fallback section + Jenkins reference baseline | runtime endpoint and browser policy details. Manage Jenkins-style grouping 재정렬 대상 | +| `settings` | 구현됨 | `OtoConsoleShell` fallback section + Jenkins reference baseline | runtime endpoint and browser policy details. Manage Jenkins-style grouping 반영 | ## Navigation @@ -64,7 +64,7 @@ views: - 현재 OTO 구현의 60px rail은 유지하며, Jenkins classic side task list와 Blue Ocean top navigation을 절충한 운영 콘솔 navigation으로 본다. - Pipeline execution 상세는 Blue Ocean보다 Pipeline Graph View를 active reference로 삼는다. - pixel, spacing, color token, exact component parity는 이번 화면정의서 범위에서 제외한다. -- 위 레이아웃 재정렬은 코드 반영 전이므로 대상 view status는 `계획`으로 둔다. +- 위 레이아웃 재정렬은 코드 반영과 검증 근거가 확인된 대상 view status를 `구현됨`으로 둔다. ## Open Questions diff --git a/agent-ui/definition/views/overview/index.md b/agent-ui/definition/views/overview/index.md index 519c5ad..78d6720 100644 --- a/agent-ui/definition/views/overview/index.md +++ b/agent-ui/definition/views/overview/index.md @@ -1,7 +1,7 @@ --- ui_doc_type: view view_id: overview -status: 계획 +status: 구현됨 frame: null source_evidence: - type: code @@ -31,7 +31,7 @@ View ID: `overview` Frame: - 없음 -Status: `계획` +Status: `구현됨` ## Source Evidence @@ -76,7 +76,7 @@ Control Plane의 API endpoint, Core 연결 상태, authentication reference를 - page header는 Jenkins refreshed header처럼 제목, connection status, primary refresh action을 한 줄 우선순위로 정렬한다. - content는 controller monitor summary, endpoint detail, authentication/policy detail 순서의 운영 dashboard layout으로 재정렬한다. - endpoint tile과 connection grid는 유지하되, Jenkins dashboard처럼 status first scan이 가능하도록 상단 density를 높인다. -- 현재 코드의 단순 centered list layout은 목표 layout이 아니므로 코드 반영 전 상태는 `계획`이다. +- 현재 코드는 Jenkins-style header/status layout 반영이 완료되어 `구현됨` 상태다. ## Regions diff --git a/agent-ui/definition/views/pipelines/index.md b/agent-ui/definition/views/pipelines/index.md index be3434f..f283984 100644 --- a/agent-ui/definition/views/pipelines/index.md +++ b/agent-ui/definition/views/pipelines/index.md @@ -1,7 +1,7 @@ --- ui_doc_type: view view_id: pipelines -status: 계획 +status: 구현됨 frame: null source_evidence: - type: code @@ -32,7 +32,7 @@ View ID: `pipelines` Frame: - 없음 -Status: `계획` +Status: `구현됨` ## Source Evidence @@ -76,7 +76,7 @@ pipeline/job queue를 확인하고, 새 job을 만들며, 연결된 execution으 - header에는 Jenkins Dashboard/New Item처럼 job create entry point와 list context를 분리해서 배치한다. - create form은 상단 고정 입력폼보다 primary action 또는 compact create panel로 정리하는 방향을 목표로 둔다. - job list는 name/id/state/execution link를 Jenkins job row처럼 더 빠르게 비교할 수 있는 dense row layout으로 재정렬한다. -- 현재 코드의 wide form + card list 조합은 목표 layout 전 단계이므로 코드 반영 전 상태는 `계획`이다. +- 현재 코드는 compact create panel과 dense job row 반영이 완료되어 `구현됨` 상태다. ## Regions diff --git a/agent-ui/definition/views/runners/index.md b/agent-ui/definition/views/runners/index.md index 5a03e24..eb0292c 100644 --- a/agent-ui/definition/views/runners/index.md +++ b/agent-ui/definition/views/runners/index.md @@ -1,7 +1,7 @@ --- ui_doc_type: view view_id: runners -status: 계획 +status: 구현됨 frame: null source_evidence: - type: code @@ -31,7 +31,7 @@ View ID: `runners` Frame: - 없음 -Status: `계획` +Status: `구현됨` ## Source Evidence @@ -76,7 +76,7 @@ Status: `계획` - runner list는 Jenkins Nodes/Agents처럼 status, executor/work context, message를 먼저 스캔하는 dense row layout으로 재정렬한다. - self-update form은 row 하단에 항상 펼쳐진 form이 아니라 관리 action 영역으로 묶는 방향을 목표로 둔다. - empty/error state는 Jenkins monitor/banner 흐름처럼 다음 확인 지점을 드러내는 상태 panel로 정리한다. -- 현재 코드의 card row와 inline form은 목표 layout 전 단계이므로 코드 반영 전 상태는 `계획`이다. +- 현재 코드는 dense runner row와 관리 action 영역 반영이 완료되어 `구현됨` 상태다. ## Regions diff --git a/agent-ui/definition/views/settings/index.md b/agent-ui/definition/views/settings/index.md index 78562fc..2f3c379 100644 --- a/agent-ui/definition/views/settings/index.md +++ b/agent-ui/definition/views/settings/index.md @@ -1,7 +1,7 @@ --- ui_doc_type: view view_id: settings -status: 계획 +status: 구현됨 frame: null source_evidence: - type: code @@ -29,7 +29,7 @@ View ID: `settings` Frame: - 없음 -Status: `계획` +Status: `구현됨` ## Source Evidence @@ -73,7 +73,7 @@ Status: `계획` - settings는 fallback empty panel이 아니라 Manage Jenkins처럼 runtime, security/policy, connectivity 그룹으로 나누는 layout을 목표로 둔다. - 현재 표시 항목은 HTTP API, Wire URL, Browser API policy로 제한하되 group label을 명확히 한다. - future setting이 생기면 같은 group system 아래에 tile을 추가한다. -- 현재 코드의 generic fallback section은 목표 layout 전 단계이므로 코드 반영 전 상태는 `계획`이다. +- 현재 코드는 runtime endpoint와 browser policy detail grouping 반영이 완료되어 `구현됨` 상태다. ## Regions