feat(core-loop): /app 진입과 /space 복구 흐름 구현

This commit is contained in:
2026-03-14 18:02:50 +09:00
parent bc08a049b6
commit b4ed94cf1b
19 changed files with 2638 additions and 619 deletions

View File

@@ -17,62 +17,89 @@
## 작업 1
- 제목: Focus Entry Surface /space linked flow 브라우저 QA
- 제목: `/space` Refocus polish 마무리
- 목적:
- `/app`이 planning home이 아니라 focus entry surface로 보이는지 확인한다.
- hero input + primary CTA만으로 `/space` 진입이 가능한지 검증한다.
- `10_refocus_system_spec.md` 기준으로 pause / refocus / next beat / goal complete를 premium recovery flow로 정리한다.
- recovery overlay가 planner/checklist처럼 보이지 않게 한다.
- 변경 범위:
- `/app` hero input / placeholder / suggestion chip / start CTA 확인
- `블록 정리` sheet 열기, row 선택, row 수정, row 삭제 확인
- Free 1개 / Pro 5개 제한 확인
- pause tray
- refocus tray
- next beat tray
- goal complete tray
- copy / hierarchy / material / motion polish
- 제외 범위:
- 실제 결제 연동 금지
- calendar/task 외부 연동 금지
- multi-goal / list affordance 추가 금지
- social/accountability 확장 금지
- review 통계 확장 금지
- 완료 조건:
- `/app`이 리스트 CRUD보다 `지금 시작` hero가 먼저 읽힌다.
- empty state에서도 disabled primary CTA 없이 `/space` 진입 경로가 살아 있다.
- manage sheet 안에서만 add/edit/delete가 보이고, 메인 화면에는 row-level 관리 버튼이 없다.
- start link에 담긴 goal/plan item이 `/space` 세션 시작까지 유지된다.
- refocus가 `편집 기능`이 아니라 `recovery ritual`처럼 읽힌다.
- pause / next beat / complete가 한 번에 하나만 보인다.
- bright/dark scene 모두에서 안정적으로 읽힌다.
- 검증:
- 브라우저 수동 확인
- 커밋 힌트:
- chore(qa): focus-entry-surface smoke
- feat(space): refocus-system polish
## 작업 2
- 제목: 목표 완료 후 다음 목표 즉시 실행 QA
- 제목: `Away / Return Recovery` 구현
- 목적:
- `/space`가 execution-only surface로 보이는지 확인한다.
- goal complete sheet에서 다음 목표를 입력하면 setup으로 돌아가지 않고 즉시 다음 세션이 시작되는지 검증한다.
- `11_away_return_recovery_spec.md` 기준으로 pause 없이 떠난 사용자의 복귀 흐름을 구현한다.
- `pause`, `break`, `return`이 같은 멈춤 상태처럼 읽히지 않게 한다.
- 변경 범위:
- `/space?goal=...&planItemId=...` 진입 확인
- goal complete -> next goal -> running session 전환 확인
- scene/sound/timer 유지 여부 확인
- `visibilitychange`
- `pagehide`
- sleep/wake delta 감지
- return tray
- focus ended while away 처리
- 제외 범위:
- timer 종료 자동 전환 추가 금지
- ritual/template persistence 추가 금지
- webcam / idle tracking / 감시성 기능 금지
- planner/list affordance 추가 금지
- break를 standard pause처럼 재사용 금지
- 완료 조건:
- 현재 목표 완료 시 linked plan item이 완료 처리되고, 새 목표가 즉시 running session으로 이어진다.
- `/space` setup drawer에 planning/ritual 섹션이 남아 있지 않다.
- focus가 끝난 뒤 복귀하면 바로 standard break로 가지 않는다.
- return 상태에서 `이어가기 / 한 조각 다시 잡기 / 지금부터 쉬기` 중 적절한 제안이 나온다.
- 검증:
- 브라우저 수동 확인
- 브라우저 수동 확인 + 상태 전이 점검
- 커밋 힌트:
- chore(qa): advance-goal linked session smoke
- feat(space): away-return-recovery
## 작업 3
- 제목: `/stats` factual summary QA
- 제목: `Pause / Break / Return` 분리 polish
- 목적:
- `/stats`가 해석형 insight 없이 factual summary만 보여주는지 확인한다.
- 세 상태가 감정적으로도 구조적으로도 다르게 읽히도록 정리한다.
- 변경 범위:
- today / last7Days factual cards 확인
- trend 그래프와 refresh/source 상태 확인
- 카피
- material
- tray hierarchy
- timer/HUD와의 연결
- 제외 범위:
- 해석형 패턴 추천 추가 금지
- social/accountability mock 복구 금지
- review 통계 확장 금지
- social/accountability 확장 금지
- 완료 조건:
- `/stats`에서 started/completed/carried over/focus minutes만 일관되게 보인다.
- pause는 recovery tone
- break는 release tone
- return은 re-entry tone으로 분리된다
- 검증:
- 브라우저 수동 확인
- 커밋 힌트:
- chore(qa): stats factual summary smoke
- feat(space): separate-pause-break-return
## 작업 4
- 제목: `Weekly Review` 상세 기획
- 목적:
- total time 중심이 아니라 행동 변화 중심의 review를 설계한다.
- 변경 범위:
- started / resumed / completed / recovery rate / ritual fit 정의
- free / pro review 가치 구분
- 제외 범위:
- planner/dashboard 확장 금지
- 해석 과잉 카피 금지
- 완료 조건:
- review가 다음 세션 성공률을 높이는 역할로 정의된다.
- 검증:
- 기획 문서 작성
- 커밋 힌트:
- docs(product): weekly-review-spec