{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://life-helper.local/schema/protocol.schema.json", "title": "Protocol (원자 프로토콜 — Huberman + Diet)", "description": "huberman-protocols.md와 diet-protocols.md의 atomic protocol 카탈로그. 7필드 통일 구조.", "type": "object", "required": ["id", "category", "title", "what", "when", "dose", "why", "how", "check"], "additionalProperties": false, "properties": { "id": { "type": "string", "description": "예: huberman_1_1_morning_sunlight" }, "category": { "$ref": "enums.schema.json#/$defs/ProtocolCategory" }, "title": { "type": "string", "description": "한국어 제목" }, "title_en": { "type": "string" }, "what": { "type": "string", "description": "무엇을" }, "when": { "type": "string", "description": "언제" }, "dose": { "type": "string", "description": "얼마나 (수치 + 단위)" }, "why": { "type": "string", "description": "왜 (메커니즘)" }, "how": { "type": "array", "items": { "type": "string" }, "minItems": 1, "description": "절차 단계 (순서대로)" }, "check": { "type": "string", "description": "체크 방법" }, "caution": { "type": "string", "description": "주의 (옵션)" }, "default_anchor": { "type": "object", "additionalProperties": false, "properties": { "when": { "$ref": "enums.schema.json#/$defs/TimeOfDay" }, "after_what": { "type": "string" }, "where": { "type": "string" } }, "description": "사용자가 habit에 채택할 때의 default anchor 제안" }, "min_dose_for_start": { "type": "string", "description": "Tiny Habits 시작 doseo (예: '햇빛 2분', '운동 1세트'). 6주 사이클 첫 주용." }, "reference_ids": { "type": "array", "items": { "type": "string" }, "description": "reference.id 배열" }, "evidence_strength": { "$ref": "enums.schema.json#/$defs/EvidenceStrength" }, "source_doc": { "type": "string", "enum": ["huberman-protocols.md", "diet-protocols.md"] } } }