# 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 운영 보안·감사 표면`
- 확인 필요: 없음
