[Architect] Refs #204 — adopt dose_variants design (ADR-0001)

Resolves the long-pending dose variant decision before Phase 1 schema work:
- habit.dose_variants[] added (id/label/dose_text/context_tags/condition_tags/is_minimum), no cardinality cap.
- tracker_entry gains variant_id + context_snapshot{location,condition}.
- reflection gains weekly minimum_ratio (hint-only).
- data-model.md: R9 (≤4) retired; new R9 (no cap, UX-side enforcement) + R10 (weekly minimum_ratio hint, no threshold).
- docs/adr/0001-dose-variants.md captures rationale + alternatives.

Why now: Phase 1 (#204) needs the final schema shape before Drift DDL is drawn.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-11 16:37:35 +09:00
parent 957dd90725
commit bcfc6b2402
5 changed files with 119 additions and 3 deletions

View File

@@ -80,6 +80,8 @@ methodology ──< methodology_reference >── reference
| R6 | `phase.duration_weeks` = 6 (default), 6주 전 anchor 변동 X | 변경 시 warning | 6 가드레일 #5 |
| R7 | `if_then_rule.then_action` 회피 키워드 감지 시 warning | 클라이언트 검증 | 코끼리 회피 UX |
| R8 | `habit` 일일 운영 ≤ 2분 (tracker UI 30~60초) | UX 제약 (DB X) | 6 가드레일 #2 |
| R9 | `habit.dose_variants[]` 개수 제한 없음. 단 체크인 화면은 "장소 1탭 + 컨디션 1탭 → 추천 + override" 흐름으로 R8 유지. `is_minimum=true` variant는 0개 이상 허용 (강제 X). | application + UI | `docs/adr/0001-dose-variants.md` |
| R10 | `reflection.scope='weekly'``minimum_ratio` (해당 주 done 중 is_minimum 비율) 표시. 강제 임계값 없음 — hint 용도. | application 계산 | `docs/adr/0001-dose-variants.md` |
---