Files
life-helper/schema/lapse_log.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

40 lines
1.5 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://life-helper.local/schema/lapse_log.schema.json",
"title": "Lapse Log (LEARN 5필드)",
"description": "habit-breaking-protocols.md §1.4 — 재발 후 24시간 안에 작성. 자기비판 차단 + 데이터화.",
"type": "object",
"required": ["id", "habit_id", "date", "label_text", "examine_halt", "antecedent", "replan", "next_action"],
"additionalProperties": false,
"properties": {
"id": { "type": "string" },
"habit_id": { "type": "string" },
"date": { "$ref": "enums.schema.json#/$defs/DateString" },
"label_text": {
"type": "string",
"description": "L (Label) — 'lapse 발생. 실패가 아닌 데이터.' 형태"
},
"examine_halt": {
"type": "array",
"items": { "$ref": "enums.schema.json#/$defs/HALT" },
"description": "E (Examine HALT) — Hungry/Angry/Lonely/Tired 중 해당 항목"
},
"antecedent": {
"type": "array",
"items": { "type": "string" },
"minItems": 1,
"maxItems": 5,
"description": "A (Antecedent) — 트리거 3개 이상 권장 (시간/장소/사람/감정/직전 행동)"
},
"replan": {
"type": "string",
"description": "R (Replan) — 추가 If-Then 또는 환경 디자인 1개"
},
"next_action": {
"type": "string",
"description": "N (Next) — 24시간 안에 즉시 실행. 'Never miss twice'"
},
"created_at": { "$ref": "enums.schema.json#/$defs/DateTimeString" }
}
}