# Milestone: Control Plane Jenkins 메뉴·IA 코드 동기화 ## 위치 - Roadmap: [ROADMAP.md](../../../ROADMAP.md) - Phase: [PHASE.md](../PHASE.md) ## 목표 Jenkins 정렬 레이아웃 패스 이후 발견된 메뉴/정보구조 불일치를 바로잡는다. 화면정의서에 재정렬된 "OTO에 적용 가능한 Jenkins 메뉴 모델"을 Flutter Control Plane 코드에 반영하고, 원격 preview에서 확인 가능한 메뉴/화면 구조로 동기화한다. ## 상태 [진행중] ## 구현 잠금 - 상태: 해제 - SDD: 불필요 - SDD 사유: 기존 Flutter view/widget 구조와 agent-ui 정의를 재정렬하는 UI 정보구조 작업이며, 새 API/schema/proto/config/env 계약 또는 외부 provider 쓰기 경계를 만들지 않는다. - 결정 필요: 없음 ## 범위 - `agent-ui/definition/**`의 1차 적용 Jenkins 메뉴 기준을 source of truth로 삼는다. - 적용 대상 global menu는 `Overview`, `New Item`, `Pipelines`, `Build History`, `Runners/Nodes`, `Artifacts`, `Manage OTO`, `Agent`다. - 적용 대상 context menu는 job `Status`, job `Build History`, `Stages`, run `Pipeline Overview`, `Console Output`, `Artifacts`, `Build History`다. - `packages/flutter/oto_console`의 shell, pipelines/jobs, executions, runners, settings surface를 메뉴 기준에 맞춰 재배치한다. - `apps/client`는 console package mount와 widget regression 범위에서만 수정한다. - 원격 preview `http://toki-labs.com:13020/`에 동기화 결과를 배포한다. ## 기능 ### Epic: [jenkins-menu-ia-sync] 적용 가능한 Jenkins 메뉴·IA 코드 동기화 화면정의서의 적용 가능 메뉴 기준을 Flutter UI 코드와 검증으로 동기화한다. - [ ] [definition-guardrail] 화면정의서에 적용 가능한 Jenkins 메뉴 기준과 제외/후순위 메뉴가 명확히 남아 있고, 후속 코드 검증 label이 고정되어 있다. 검증: `rg --sort path -n "1차 적용|제외/후순위|New Item|Build History|Manage OTO|Console Output|Pipeline Overview" agent-ui/definition` - [ ] [shell-menu-sync] shell/global menu와 pipelines/jobs 화면이 `New Item`, `Pipelines`, `Build History`, job `Status`, job `Build History`, `Stages` 중심으로 동기화된다. 검증: `cd packages/flutter/oto_console && flutter analyze && flutter test`, `cd apps/client && flutter analyze && flutter test` - [ ] [execution-ops-menu-sync] executions/runners/settings 화면이 `Pipeline Overview`, `Console Output`, `Artifacts`, `Build History`, `Nodes/Agents`, `Manage OTO` 중심으로 동기화된다. 검증: `cd packages/flutter/oto_console && flutter analyze && flutter test`, `cd apps/client && flutter analyze && flutter test` - [ ] [preview-deploy] 동기화된 Flutter web build를 원격 preview에 배포한다. 검증: `cd apps/client && flutter build web --dart-define=OTO_SERVER_HTTP_URL=http://toki-labs.com:18020`, `curl -I http://toki-labs.com:13020/` ## 완료 리뷰 - 상태: 없음 - 요청일: 없음 - 완료 근거: 없음 - 검토 항목: 없음 - agent-ui 상태 반영: 대기 - 리뷰 코멘트: 없음 ## 범위 제외 - Jenkins `People`, `Changes`, existing job `Build Now`, `Configure`, `Replay`, `Pipeline Syntax`는 1차 적용에서 제외하거나 후순위로 둔다. - 새 Core API, proto, auth/audit schema, durable artifact storage, SCM changes source는 만들지 않는다. - production identity provider, 권한/감사 모델 구현은 `Control Plane 운영 보안·감사 표면` Milestone 범위로 남긴다. - Jenkins pixel parity, 색상/spacing exact parity는 목표가 아니다. ## 작업 컨텍스트 - 관련 active plan: 없음 (현재 활성 `agent-task/` 문서 없음) - agent-ui source of truth: [views index](../../../../agent-ui/definition/views/index.md), [console-rail index](../../../../agent-ui/definition/components/console-rail/index.md), [components index](../../../../agent-ui/definition/components/index.md) - 선행 작업: `Control Plane Jenkins 정렬 레이아웃 패스` - 후속 작업: `Control Plane 운영 보안·감사 표면` - 확인 필요: 없음