Files
ai-code-app/docs/worklogs/2026-04-08.md
2026-04-21 03:33:23 +09:00

9.8 KiB
Executable File

2026-04-08 작업일지

오늘 작업

  • Play 상단 메뉴와 Play > Test 진입 경로를 추가했습니다.
  • 헤더 최상단 메뉴를 Docs / Plan / Play 3개 기준으로 정리했습니다.
  • Play > layout 화면을 만들고 상하/좌우 분할, 재귀 분할, 크기 단위, 최소 크기, 리사이즈 여부를 조절할 수 있게 확장했습니다.
  • Plan 상세에서 긴 issue/error 본문을 기본 접힘으로 바꾸고 아이콘으로만 펼치도록 정리했습니다.
  • release 환경에서 main 미반영 항목만 모아 보여주는 모달을 추가했습니다.
  • 자동화 작업 브랜치 기준을 release가 아니라 main으로 바로잡고, worklog 자동화는 hotfix/* 브랜치를 쓰도록 보강했습니다.
  • 누락됐던 docs/worklogs/2026-04-08.md 초안이 템플릿 상태로만 남아 있던 문제를 실제 작업 내역 기준으로 다시 정리했습니다.
  • 누락됐던 Play > layout 스크린샷을 docs/assets/worklogs/2026-04-08/feature-play-layout.png로 다시 연결했습니다.

이슈 및 해결

  • 오늘자 작업일지가 템플릿 문구만 남아 있어 play, 자동화 브랜치 정책, release 대기 모달 작업 이력을 문서에서 확인할 수 없었습니다.
  • Git 기록 기준으로 2026-04-08 UTC/KST 커밋을 다시 확인해 실제 작업 항목과 변경 파일을 복원했습니다.
  • 사용자가 언급한 history 기능은 Git 이력상 2026-04-07 13:44:06 UTC 커밋(plan(history))에 생성됐고, 2026-04-08에는 play/plan 상세/자동화 보강 작업이 집중됐습니다.
  • 스크린샷 섹션이 비어 있고 소스 뷰어의 diff 라벨도 일관되지 않아, 증적 확인 흐름이 한 번에 읽히지 않았습니다.

결정 사항

  • 2026-04-08 문서는 placeholder 템플릿이 아니라 실제 커밋 증적 기준으로 유지합니다.
  • PlayTestlayout 두 축으로 관리하고, 레이아웃 실험은 전용 playground에서 확장합니다.
  • Plan 소스 뷰어 탭 명칭은 사용자가 바로 이해할 수 있게 작업란 / 전체소스 / diff로 정리합니다.
  • 자동화 작업 브랜치 base는 main, 자동 worklog 정리는 hotfix/* 흐름을 따릅니다.
  • 2026-04-08 대표 스크린샷은 Play > layout 화면으로 고정합니다.

상세 작업 내역

  • src/app/main/MainHeader.tsx, src/app/main/MainView.tsx, src/app/main/MainContent.tsx, src/app/main/types.ts, src/views/play/TestView.tsx에서 Play 메뉴와 Play > Test 화면을 연결했습니다.
  • src/views/play/LayoutPlaygroundView.tsxsrc/styles.css에서 레이아웃 playground를 추가하고, 이후 같은 날 재귀 분할과 초기 빈 상태 진입까지 두 차례 확장했습니다.
  • src/features/planBoard/PlanBoardPage.tsx에서 긴 이슈 본문 접힘 처리와 소스 작업 미리보기 경험을 보강했습니다.
  • src/App.tsx, src/app/main/ReleasePendingMainModal.tsx, src/styles.css에서 release 접속 시 main 미반영 항목 안내 모달을 추가했습니다.
  • scripts/run-plan-codex-once.mjs, etc/servers/work-server/src/services/git-service.ts, etc/servers/work-server/src/workers/plan-worker.ts, etc/servers/work-server/src/services/plan-service.ts에서 자동화 브랜치/정리 정책을 수정했습니다.
  • 오늘 문서 누락 보완으로 docs/worklogs/2026-04-08.md를 실제 기록 기준으로 재작성했습니다.
  • scripts/capture-feature-screenshot.mjsplay-layout 프리셋을 추가해 오늘자 대표 화면을 다시 캡처할 수 있게 했습니다.
  • src/components/previewer/CodexDiffPreviewer.tsx에서 소스 뷰어 탭 라벨을 전체소스 / diff로 맞췄습니다.

스크린샷

feature-play-layout

소스

파일 1: src/app/main/MainView.tsx

  • 상단 메뉴 체계를 Docs / Plan / Play 중심으로 재정리하고 Play > Test, Play > layout 탐색을 연결했습니다.
  • 검색 커맨드와 초기 URL 파라미터도 playSection 기준으로 함께 맞췄습니다.
const PLAY_BASE_OPEN_KEYS = ['play-group', 'play-test-group', 'play-layout-group'] as const;
...
+        id: 'page:play:test',
+        keywords: ['play', 'test', '테스트', 'TEST메뉴'],
+      },
+      {
+        id: 'page:play:layout',
+        keywords: ['play', 'layout', 'flex', 'split', '분할', '레이아웃', 'preview'],

파일 2: src/views/play/LayoutPlaygroundView.tsx

  • play > layout 화면을 추가하고, 같은 날 재귀 분할과 빈 상태 시작 플로우까지 확장했습니다.
  • 상하/좌우 시작, px/% 단위, 최소 크기, 리사이즈 허용 여부를 화면에서 바로 조정할 수 있습니다.
diff --git a/src/views/play/LayoutPlaygroundView.tsx b/src/views/play/LayoutPlaygroundView.tsx
+const DEFAULT_LAYOUT_DIRECTION = 'row';
+const EMPTY_LAYOUT: LayoutNode | null = null;
...
+<Button onClick={() => handleCreateRoot('row')}>좌우로 시작</Button>
+<Button onClick={() => handleCreateRoot('column')}>상하로 시작</Button>
...
+<Button onClick={() => handleSplitNode(selectedNodeId, 'row')}>좌우 추가</Button>
+<Button onClick={() => handleSplitNode(selectedNodeId, 'column')}>상하 추가</Button>

파일 3: src/app/main/ReleasePendingMainModal.tsx

  • release 환경에서 아직 main에 반영되지 않은 작업만 모아 보여주는 전용 모달을 추가했습니다.
  • 릴리즈완료, main반영대기/중/실패 상태를 기준으로 요약과 현황을 표시합니다.
diff --git a/src/app/main/ReleasePendingMainModal.tsx b/src/app/main/ReleasePendingMainModal.tsx
+export function ReleasePendingMainModal() {
+  // release 서버에서 main 미반영 항목만 조회
+}

파일 4: scripts/run-plan-codex-once.mjs

  • .auto_codex 작업 브랜치의 base를 release가 아니라 main으로 맞췄습니다.
  • 같은 날 자동 worklog 쪽은 hotfix/* 흐름을 따르도록 서버 로직도 함께 보강됐습니다.
diff --git a/scripts/run-plan-codex-once.mjs b/scripts/run-plan-codex-once.mjs
-const baseBranch = 'release';
+const baseBranch = 'main';

파일 5: src/features/planBoard/PlanBoardPage.tsx

  • issue/error 본문은 기본 접힘으로 바꾸고, 이번 보완에서 소스 뷰어 탭 명칭도 작업란 / 전체소스 / diff로 정리했습니다.
diff --git a/src/features/planBoard/PlanBoardPage.tsx b/src/features/planBoard/PlanBoardPage.tsx
-      label: '요약',
+      label: '작업란',
-      label: '전체 소스',
+      label: '전체소스',
-      label: 'Diff',
+      label: 'diff',

파일 6: src/components/previewer/CodexDiffPreviewer.tsx

  • worklog 소스 탭과 Plan 소스 뷰어의 모드 라벨을 전체소스 / diff로 통일했습니다.
  • 기존 Raw Diff 표기를 diff로 바꿔 사용자가 탭 목적을 바로 읽을 수 있게 맞췄습니다.
diff --git a/src/components/previewer/CodexDiffPreviewer.tsx b/src/components/previewer/CodexDiffPreviewer.tsx
-            { label: '전체 소스', value: 'source' },
-            { label: 'Raw Diff', value: 'diff' },
+            { label: '전체소스', value: 'source' },
+            { label: 'diff', value: 'diff' },

파일 7: scripts/capture-feature-screenshot.mjs

  • Play > layout 화면도 기존 worklog 캡처 흐름으로 다시 만들 수 있게 프리셋을 추가했습니다.
  • 오늘자 누락 스크린샷은 이 프리셋으로 feature-play-layout.png를 생성해 연결했습니다.
diff --git a/scripts/capture-feature-screenshot.mjs b/scripts/capture-feature-screenshot.mjs
+  'play-layout': {
+    topMenu: 'play',
+    screenshotFileName: 'feature-play-layout.png',
+    targetSelector: '.app-main-card',
+    query: { playSection: 'layout' },
+  },

파일 8: docs/assets/worklogs/2026-04-08/feature-play-layout.png

  • Play > layout 대표 화면을 다시 캡처해 오늘자 스크린샷 섹션과 바로 연결했습니다.
  • 2026-04-08 작업일지에서 비어 있던 시각 증적을 채우는 실제 산출물 파일입니다.
Binary file added: docs/assets/worklogs/2026-04-08/feature-play-layout.png

실행 커맨드

git -c safe.directory=/workspace/auto_codex/repo log --since='2026-04-08 00:00' --until='2026-04-08 23:59:59' --stat --oneline --decorate
git -c safe.directory=/workspace/auto_codex/repo log --since='2026-04-08 00:00' --until='2026-04-08 23:59:59' --name-status --format='commit %H%nAuthor: %an%nDate: %ad%nSubject: %s' --date=iso
git -c safe.directory=/workspace/auto_codex/repo log --follow --name-status -- src/features/history/HistoryPage.tsx
npm run dev -- --host 127.0.0.1 --port 4173
CAPTURE_BASE_URL=http://127.0.0.1:4173 node scripts/capture-feature-screenshot.mjs play-layout 2026-04-08

변경/신규 파일 (전체, 중복 제거, Git 기록 기준)

  • M src/app/main/MainHeader.tsx
  • M src/app/main/MainContent.tsx
  • M src/app/main/MainSidebar.tsx
  • M src/app/main/MainView.tsx
  • M src/app/main/types.ts
  • M src/app/main/clientIdentity.ts
  • M src/App.tsx
  • A src/app/main/ReleasePendingMainModal.tsx
  • A src/views/play/TestView.tsx
  • A src/views/play/LayoutPlaygroundView.tsx
  • M src/features/planBoard/PlanBoardPage.tsx
  • M src/styles.css
  • M src/store/appStore/types/index.ts
  • M scripts/run-plan-codex-once.mjs
  • M etc/servers/work-server/src/services/git-service.ts
  • A etc/servers/work-server/src/services/git-service.test.ts
  • M etc/servers/work-server/src/services/plan-service.ts
  • M etc/servers/work-server/src/services/plan-service.test.ts
  • M etc/servers/work-server/src/workers/plan-worker.ts
  • M AGENTS.md
  • A docs/worklogs/2026-04-08.md
  • M src/components/previewer/CodexDiffPreviewer.tsx
  • M scripts/capture-feature-screenshot.mjs
  • A docs/assets/worklogs/2026-04-08/feature-play-layout.png