{ "schema_version": "1.0", "title": "캐시 실패를 줄이는 설명", "document_kind": "explanation", "core_claim": "캐시 장애를 줄이려면 재시도 규칙과 만료 시간을 함께 설계하고 각각의 한계를 검증해야 한다.", "sections": [ { "id": "problem", "heading": "문제", "role": "problem", "depends_on": [], "reader_state_before": "캐시 장애가 왜 커지는지 모른다.", "question": "어떤 실패가 부하를 키우는가?", "answer_plain": "동시에 같은 데이터를 다시 계산하는 요청이 부하를 키운다.", "claim_ids": ["C1"], "new_terms": [], "transition_to": "principle", "reader_state_after": "중복 계산이 문제임을 안다." }, { "id": "principle", "heading": "원리", "role": "mechanism", "depends_on": ["problem"], "reader_state_before": "문제는 알지만 설정의 역할을 구분하지 못한다.", "question": "재시도와 만료 시간은 각각 무엇을 제한하는가?", "answer_plain": "재시도는 중복 실행을, 만료 시간은 오래된 값의 수명을 제한한다.", "claim_ids": ["C1"], "new_terms": ["term-idempotency", "term-ttl"], "transition_to": "limits", "reader_state_after": "두 설정의 역할을 구분한다." }, { "id": "limits", "heading": "검증과 한계", "role": "verification", "depends_on": ["principle"], "reader_state_before": "설정은 알지만 검증 범위는 모른다.", "question": "무엇을 측정하고 무엇은 단정하지 않아야 하는가?", "answer_plain": "부하와 오래된 값은 측정하되 모든 장애 제거를 단정하지 않는다.", "claim_ids": ["C2"], "new_terms": [], "transition_to": null, "reader_state_after": "검증 범위와 한계를 설명할 수 있다.", "proves": ["설정 변화와 측정값의 관계"], "does_not_prove": ["모든 운영 장애의 제거"] } ], "closure": "처음의 장애 문제를 두 설정과 검증 한계로 다시 연결한다." }