Files
life-helper/schema/enums.schema.json
joungmin 3141bf005f Initial commit — life-helper Phase 1~5 완료 상태
4 SoT 모듈:
- huberman-protocols.md (v4, 29 Huberman 원자 프로토콜, 33 인용 검증 완료)
- habit-todo-methodologies.md (21 방법론 + 6 가드레일 + 5-Tier Reward + L0~L3 프레임)
- habit-breaking-protocols.md (끊기 8 카테고리 + 공통 5 프레임 + 의학적 면책)
- nutrition/ 별도 Gitea repo (joungmin/nutrition) — .gitignore 처리

데이터 모델:
- data-model.md — entity 관계 + R1~R8 운영 규칙 + 예시
- schema/ — JSON Schema 18개 (Draft 2020-12), R1~R8을 enum + application + UI 3층 강제

운영 가드레일:
- 동시 active build ≤ 3, break ≤ 1
- 일일 운영 ≤ 2분
- frame.level ∈ {L2, L3} (L0/L1 거부)
- tracker_entry.value = done/blank 2값
- phase = 6주 사이클
- reward는 누적 milestone(T0~T4)만, 매일 직후 X
- "Never miss twice"

진행 중: Dose Variant 설계 결정 대기 (SESSION-LOG.md Pending #1)
2026-06-08 14:47:17 +09:00

83 lines
2.7 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://life-helper.local/schema/enums.schema.json",
"title": "Shared Enums",
"description": "모든 스키마에서 $ref로 재사용되는 열거형 정의.",
"$defs": {
"HabitType": { "type": "string", "enum": ["build", "break"] },
"HabitStatus": { "type": "string", "enum": ["active", "paused", "completed", "abandoned"] },
"FrameLevel": {
"type": "string",
"enum": ["L0", "L1", "L2", "L3"],
"description": "L0=회피형(거부), L1=단순대체(임시), L2=조건부 긍정(권장), L3=정체성(6주 후 권장)"
},
"FrameLevelAllowed": {
"type": "string",
"enum": ["L2", "L3"],
"description": "habit.frame.level은 L2/L3만 허용 (R3)"
},
"TrackerValue": {
"type": "string",
"enum": ["done", "blank"],
"description": "○/공백 2값만 (R5)"
},
"RewardTier": {
"type": "string",
"enum": ["T0", "T1", "T2", "T3", "T4"],
"description": "T0=매일 직후 Celebration, T1=3회 스트릭, T2=7일, T3=30일, T4=42일(6주)"
},
"HALT": {
"type": "string",
"enum": ["hungry", "angry", "lonely", "tired", "none"]
},
"ProtocolCategory": {
"type": "string",
"enum": ["health", "meditation", "motivation", "habit", "learning", "diet"]
},
"BreakCategory": {
"type": "string",
"enum": [
"alcohol", "nicotine", "porn_masturbation", "social_media",
"sugar", "caffeine", "cannabis", "behavioral"
]
},
"CommonFrameId": {
"type": "string",
"enum": [
"dopamine_reset", "urge_surf", "environment_design",
"relapse_recovery", "recovery_stack"
]
},
"EvidenceStrength": {
"type": "string",
"enum": ["strong_rct", "meta_analysis", "observational", "mechanistic", "expert_opinion"],
"description": "출처 강도 레이블"
},
"ReferenceKind": {
"type": "string",
"enum": ["paper", "podcast_episode", "book", "url", "korean_explainer"],
"description": "korean_explainer는 한국어 해설자(인플루언서) cross-reference 전용 — 핵심 인용 X"
},
"DateString": {
"type": "string",
"format": "date",
"description": "YYYY-MM-DD"
},
"DateTimeString": {
"type": "string",
"format": "date-time",
"description": "ISO 8601 (timezone 포함 권장)"
},
"TimeOfDay": {
"type": "string",
"pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]$",
"description": "HH:MM (24시간)"
},
"Ulid": {
"type": "string",
"pattern": "^[a-z]+_[0-9A-HJKMNP-TV-Z]{26}$",
"description": "타입 prefix + ULID. 예: hb_01J9XYZ..."
}
}
}