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)
52 lines
2.1 KiB
JSON
52 lines
2.1 KiB
JSON
{
|
|
"$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"]
|
|
}
|
|
}
|
|
}
|