Commit Graph

1 Commits

Author SHA1 Message Date
altair823
c0ee8c0981 feat(continuity): WeeklyContinuity service (7 notes/week, recovery detection)
Task 9 of the slice plan. Computes the data behind the Inbox
ContinuityBadge and recovery toast (Strategy §5):
- KST Mon-Sun grouping via toKstDateKey/kstMondayOf helpers
  (UTC + 9h shift, then bucket to local Monday).
- weekCount + weekTarget=7 + consecutiveCompleteWeeks (walk
  backward from current week, or previous if current incomplete,
  counting only weeks with >=7 notes).
- showRecoveryToast=true when the latest note lands on today
  (KST) and the prior note is at least 7 days earlier — this is
  the "흐름을 다시 이어갑니다" trigger.
- now() injected for deterministic tests.

Verification: `npx vitest run tests/unit/ContinuityService.test.ts`
6 passed. All 24 unit tests across migrations / NoteRepository /
MediaStore / ContinuityService green.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-25 12:06:45 +09:00