{ "$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..." } } }