sync: agent-ui definitions update & move control-plane milestone to archive
This commit is contained in:
parent
c3a5129818
commit
92d2376d55
23 changed files with 93 additions and 90 deletions
|
|
@ -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 대상으로 판단했다.
|
||||
|
||||
## 범위 제외
|
||||
|
||||
|
|
@ -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 경계
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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를 `구현됨`으로 갱신했다.
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue