Files
viberoom-web/docs/work.md

121 lines
4.4 KiB
Markdown

# Work Order
이 파일은 이번 세션에서 처리할 작업을 적는 실행 입력서다.
## 작성 규칙
- 작업은 가능한 한 "주제별"로 분리해서 작성한다.
- 한 주제는 가능하면 한 커밋으로 끝낼 수 있게 범위를 좁힌다.
- "금지사항/제외 범위"를 명시해서 불필요한 변경을 막는다.
## 우선순위
- 위에서 아래 순서대로 높은 우선순위로 간주한다.
- `작업 1`을 먼저 처리하고, 완료 시 다음 작업으로 넘어간다.
---
## 작업 1
- 제목: `/space` Refocus polish 마무리
- 목적:
- `10_refocus_system_spec.md` 기준으로 pause / refocus / next beat / goal complete를 premium recovery flow로 정리한다.
- recovery overlay가 planner/checklist처럼 보이지 않게 한다.
- 변경 범위:
- pause tray
- refocus tray
- next beat tray
- goal complete tray
- copy / hierarchy / material / motion polish
- 제외 범위:
- multi-goal / list affordance 추가 금지
- social/accountability 확장 금지
- review 통계 확장 금지
- 완료 조건:
- refocus가 `편집 기능`이 아니라 `recovery ritual`처럼 읽힌다.
- pause / next beat / complete가 한 번에 하나만 보인다.
- bright/dark scene 모두에서 안정적으로 읽힌다.
- 검증:
- 브라우저 수동 확인
- 커밋 힌트:
- feat(space): refocus-system polish
## 작업 2
- 제목: `Away / Return Recovery` 구현
- 목적:
- `11_away_return_recovery_spec.md` 기준으로 pause 없이 떠난 사용자의 복귀 흐름을 구현한다.
- `pause`, `break`, `return`이 같은 멈춤 상태처럼 읽히지 않게 한다.
- 변경 범위:
- `visibilitychange`
- `pagehide`
- sleep/wake delta 감지
- return tray
- focus ended while away 처리
- 제외 범위:
- webcam / idle tracking / 감시성 기능 금지
- planner/list affordance 추가 금지
- break를 standard pause처럼 재사용 금지
- 완료 조건:
- focus가 끝난 뒤 복귀하면 바로 standard break로 가지 않는다.
- return 상태에서 `이어가기 / 한 조각 다시 잡기 / 지금부터 쉬기` 중 적절한 제안이 나온다.
- 검증:
- 브라우저 수동 확인 + 상태 전이 점검
- 커밋 힌트:
- feat(space): away-return-recovery
## 작업 3
- 제목: `Pause / Break / Return` 분리 polish
- 목적:
- 세 상태가 감정적으로도 구조적으로도 다르게 읽히도록 정리한다.
- 변경 범위:
- 카피
- material
- tray hierarchy
- timer/HUD와의 연결
- 제외 범위:
- review 통계 확장 금지
- social/accountability 확장 금지
- 완료 조건:
- pause는 recovery tone
- break는 release tone
- return은 re-entry tone으로 분리된다
- copy와 CTA hierarchy 2차 분리가 반영된다
- motion polish 1차가 반영된다
- 검증:
- 브라우저 수동 확인
- motion 미세 조정
- 커밋 힌트:
- feat(space): separate-pause-break-return
## 작업 4
- 제목: `Weekly Review Entry Flow` 구현
- 목적:
- `15_app_stats_entry_flow_spec.md` 기준으로 `/app -> /stats -> /app` loop를 실제 제품 루프에 연결한다.
- 변경 범위:
- `/app` weekly review teaser
- `/stats` 마지막 CTA의 `/app` return handoff
- `/app` review-aware return state
- 제외 범위:
- `/stats`에서 바로 `/space` auto-start 금지
- review teaser를 hero보다 강하게 노출하는 것 금지
- planner/todo 회고 흐름으로 확장 금지
- 완료 조건:
- `/app`에서 review로 들어가는 primary path가 생긴다.
- `/stats`를 보고 다시 `/app`으로 돌아와 다음 세션을 시작할 수 있다.
- review가 읽고 끝나는 페이지가 아니라 next-session ritual처럼 동작한다.
- 진행 상태:
- Slice 1 완료: `/app` hero 아래 low-emphasis weekly review teaser 추가
- Slice 2 완료: `/stats` 마지막 CTA가 `/app?review=weekly&carryHint=...` handoff로 연결
- `/app`은 query를 받아 review-aware return hint를 먼저 보여준다
- Slice 3 완료: Pro에서 추천 ritual과 더 구체적인 CTA / return hint가 연결된다
- Slice 4 완료: `/space` complete 이후 setup drawer 아래에 secondary review teaser가 노출된다
- 다음 작업: recovery browser QA 후 weekly review 실제 recovery 집계 연결
- 검증:
- `/app -> /stats -> /app` 실제 브라우저 플로우 확인
- hero와 teaser의 시각 우선순위 확인
- 커밋 힌트:
- feat(app): weekly-review-entry-flow