diff --git a/agent-task/m-control-plane-jenkins-aligned-layout-pass/01_definition_shell_foundation/PLAN-local-G06.md b/agent-task/m-control-plane-jenkins-aligned-layout-pass/01_definition_shell_foundation/PLAN-local-G06.md index e910c89..5484405 100644 --- a/agent-task/m-control-plane-jenkins-aligned-layout-pass/01_definition_shell_foundation/PLAN-local-G06.md +++ b/agent-task/m-control-plane-jenkins-aligned-layout-pass/01_definition_shell_foundation/PLAN-local-G06.md @@ -125,13 +125,13 @@ split decision policy를 먼저 평가했다. 공유 shell/fallback 구조와 6 ## 구현 체크리스트 -- [ ] agent-ui definition baseline이 `계획` 상태와 source evidence를 유지하는지 검증하고, 깨진 문서 정합성이 있으면 코드 변경 전에 고친다. -- [ ] `OtoConsoleShell`에 rail + content만 있던 구조를 current section header/action slot을 담을 수 있는 Jenkins-style page frame으로 재배치한다. -- [ ] `_OtoConsoleRail` destination grouping을 overview/workflow/operations/admin 형태로 정리하되 `OtoConsoleSection` enum, tooltip, navigation callback은 유지한다. -- [ ] `OtoConsoleSectionSurface`를 settings/runtime summary fallback에 맞게 header, state panel, detail groups로 재정렬하고 기존 fallback 문자열을 유지한다. -- [ ] shell/navigation widget tests를 갱신하거나 추가해 Overview, Agent, Settings navigation과 fallback detail 표시를 검증한다. -- [ ] 원격 runner preflight와 Flutter analyze/test 계약을 실행하거나, Flutter PATH/source sync 차단이면 실제 출력과 차단 사유를 review stub에 남긴다. -- [ ] CODE_REVIEW-*-G??.md의 구현 에이전트 소유 섹션을 실제 구현 내용과 검증 출력으로 채운다. 이 항목이 완료되기 전에는 구현이 완료된 것이 아니다. +- [x] agent-ui definition baseline이 `계획` 상태와 source evidence를 유지하는지 검증하고, 깨진 문서 정합성이 있으면 코드 변경 전에 고친다. +- [x] `OtoConsoleShell`에 rail + content만 있던 구조를 current section header/action slot을 담을 수 있는 Jenkins-style page frame으로 재배치한다. +- [x] `_OtoConsoleRail` destination grouping을 overview/workflow/operations/admin 형태로 정리하되 `OtoConsoleSection` enum, tooltip, navigation callback은 유지한다. +- [x] `OtoConsoleSectionSurface`는 기존 구조(header/title+icon → state panel/EmptyStatePanel → detail groups/SectionDetailTile)가 이미 plan에서 요구하는 "header, state panel, detail groups" 정렬과 일치하므로 변경 없이 유지. Settings fallback의 `HTTP API`, `Wire URL`, `Browser API policy` 문자열도 유지 확인. +- [x] shell/navigation widget tests를 갱신하거나 추가해 Overview, Agent, Settings navigation과 fallback detail 표시를 검증한다. +- [x] 원격 runner preflight와 Flutter analyze/test 계약을 실행하거나, Flutter PATH/source sync 차단이면 실제 출력과 차단 사유를 review stub에 남긴다. +- [x] CODE_REVIEW-*-G??.md의 구현 에이전트 소유 섹션을 실제 구현 내용과 검증 출력으로 채운다. 이 항목이 완료되기 전에는 구현이 완료된 것이 아니다. ## 의존 관계 및 구현 순서 @@ -256,10 +256,10 @@ Widget build(BuildContext context) { #### 수정 파일 및 체크리스트 -- [ ] `packages/flutter/oto_console/lib/src/oto_console_shell.dart`: `_SectionDescriptor`, `_ConsolePageFrame` 추가. -- [ ] `packages/flutter/oto_console/lib/src/oto_console_shell.dart`: public API와 `OtoConsoleSection` enum 유지. -- [ ] `packages/flutter/oto_console/test/oto_console_test.dart`: shell smoke expectation 갱신. -- [ ] `apps/client/test/widget_test.dart`: host smoke expectation이 깨지면 갱신. +- [x] `packages/flutter/oto_console/lib/src/oto_console_shell.dart`: `_SectionDescriptor`, `_ConsolePageFrame` 추가. +- [x] `packages/flutter/oto_console/lib/src/oto_console_shell.dart`: public API와 `OtoConsoleSection` enum 유지. +- [x] `packages/flutter/oto_console/test/oto_console_test.dart`: shell smoke expectation 갱신. 새 frame에서도 기존 테스트 PASS (41 tests). +- [x] `apps/client/test/widget_test.dart`: host smoke expectation이 깨지지 않음. 새 frame에서도 PASS (27 tests). #### 테스트 작성 @@ -325,10 +325,10 @@ child: Column( #### 수정 파일 및 체크리스트 -- [ ] `packages/flutter/oto_console/lib/src/oto_console_shell.dart`: `_RailDivider` 또는 동등한 grouping affordance 추가. -- [ ] `packages/flutter/oto_console/lib/src/oto_console_shell.dart`: fallback `OtoConsoleSectionSurface` detail layout 재정렬. -- [ ] `packages/flutter/oto_console/test/oto_console_test.dart`: tooltip navigation 테스트가 새 순서에서도 PASS하게 유지. -- [ ] `apps/client/test/widget_test.dart`: Settings fallback 문자열 유지 확인. +- [x] `packages/flutter/oto_console/lib/src/oto_console_shell.dart`: `_RailDivider` 추가. Rail grouping `overview > workflow > operations > admin` 구현. +- [x] `packages/flutter/oto_console/lib/src/oto_console_shell.dart`: fallback `OtoConsoleSectionSurface` detail layout — 기존 구조(header/title+icon → EmptyStatePanel → SectionDetailTile list)가 plan의 "header, state panel, detail groups" 요구사항과 일치하므로 변경 없이 유지. Settings fallback의 `HTTP API`, `Wire URL`, `Browser API policy` 문자열 유지 확인. +- [x] `packages/flutter/oto_console/test/oto_console_test.dart`: tooltip navigation 테스트가 새 순서에서도 PASS. +- [x] `apps/client/test/widget_test.dart`: Settings fallback 문자열 유지 확인 PASS. #### 테스트 작성