app-stage9/ 워크트리(브랜치 stage-9/v0.9-release)가 폴더 이동(061_LifeOS/ → 06_Personal_Project/061_LifeOS/)으로 git 포인터가 깨진 상태였음.
상태 점검 결과:
git cherry main stage-9/v0.9-release 비어있음, merge-base = stage-9 tip = d36a576)판단: 워크트리 폐기. 단, 복구 가능하도록 아카이브 보존.
archive/stage-9-tip → d36a576 (stage-9/v0.9-release tip)- 브랜치 ref가 삭제되어도 커밋은 보존됨
- git checkout archive/stage-9-tip 또는 git log archive/stage-9-tip으로 접근
docs/archive/stage9-uncommitted-2026-05-25.tar.gz (22KB)
포함 파일 (워크트리에만 존재했고 main에 없던 새 파일):
테스트 인프라
vitest.config.mtssrc/test-setup.tspackage.json (devDeps에 vitest, @testing-library/*, jsdom, @vitejs/plugin-react, vite-tsconfig-paths, @tanstack/react-query-devtools 추가됨)컴포넌트 분리 (chat)
src/components/chat/ChatInput.tsxsrc/components/chat/ChatMessage.tsx컴포넌트 분리 (diary, 19개)
src/components/diary/CalendarGrid.tsxsrc/components/diary/DateSelector.tsxsrc/components/diary/HealthInput.tsxsrc/components/diary/MemoSection.tsxsrc/components/diary/MonthAIReport.tsxsrc/components/diary/MonthHealthCharts.tsxsrc/components/diary/MonthInsights.tsxsrc/components/diary/MonthReview.tsxsrc/components/diary/RoutineSection.tsxsrc/components/diary/ScheduleSection.tsxsrc/components/diary/TimeNav.tsxsrc/components/diary/WeekAIReport.tsxsrc/components/diary/WeekChart.tsxsrc/components/diary/WeekDailyList.tsxsrc/components/diary/WeekEmotionBar.tsxsrc/components/diary/WeekHealthCharts.tsxsrc/components/diary/WeekReview.tsxsrc/components/diary/WeekStatCards.tsxUI 공통
src/components/ui/ReviewModal.tsxsrc/components/ui/Toast.tsxHooks
src/hooks/useAutoSave.tssrc/hooks/useChatMessages.tssrc/hooks/useReviewStatus.tssrc/hooks/useToast.tsxLib
src/lib/chat/keywords.tssrc/lib/time/range.tssrc/lib/markdown.tssrc/lib/react-query.tssrc/lib/supabase/queries.tsAPI 가드
src/app/api/debug/_guard.ts (debug 라우트를 production에서 401 차단)테스트 파일 (27개)
src/components/__tests__/BottomNav.test.tsxsrc/components/ui/__tests__/{ReviewModal,Toast}.test.tsxsrc/components/chat/__tests__/{ChatInput,ChatMessage}.test.tsxsrc/components/diary/__tests__/*.test.tsx (10개)src/hooks/__tests__/*.test.tsx (4개)src/lib/__tests__/{markdown,sanity}.test.tssrc/lib/chat/__tests__/keywords.test.tssrc/lib/time/__tests__/range.test.tssrc/lib/supabase/__tests__/queries.test.tsxsrc/app/api/debug/__tests__/guard.test.tssrc/app/settings/__tests__/page.test.tsx
cd /Users/jinhyunpark/Documents/cloude_Code/06_Personal_Project/061_LifeOS/app
mkdir -p /tmp/stage9-restore
tar xzf docs/archive/stage9-uncommitted-2026-05-25.tar.gz -C /tmp/stage9-restore
# 필요한 파일만 골라 복사
cp /tmp/stage9-restore/vitest.config.mts ./
cp /tmp/stage9-restore/src/test-setup.ts src/
# package.json은 devDeps만 머지 (덮어쓰면 main 변경분 손실)
main의 src/app/diary/*Tab.tsx는 이미 분리된 컴포넌트를 import하지 않는 통합 구조임. stage-9의 분리본을 그대로 가져와도 main의 Work/Thesis 탭 추가분과 호환 안 됨 → 참고용 패턴으로만 활용 권장.
cd /Users/jinhyunpark/Documents/cloude_Code/06_Personal_Project/061_LifeOS/app
git worktree add ../stage9-restore archive/stage-9-tip
cd ../stage9-restore
tar xzf ../app/docs/archive/stage9-uncommitted-2026-05-25.tar.gz
# 이제 stage-9 워크트리 상태 그대로 복원됨
git worktree list에 prunable 잔여물로 남아 헷갈림