init: document-haness 설계

This commit is contained in:
DongHyeonka
2026-07-23 17:52:22 +09:00
parent 993788c14e
commit d6f78f92a0
127 changed files with 20099 additions and 1 deletions
+16
View File
@@ -0,0 +1,16 @@
# 실패 문서
# 또 다른 제목
중복 방지는 먼저 쓰였고 TTL도 설명 없이 등장한다. 멱등성, 유효 기간, 캐시 관통을 한 문장에 몰아넣는다. RetryStorm과 HTTPX도 장부에 없다. `cacheStore` 역시 등록되지 않았다. TODO 내용을 보강해야 한다. [없는 절](#missing-section)
### 원리
이 절은 순서가 뒤집혔다.
## 문제
첫 문장이다. 둘째 문장이다. 셋째 문장이다. 넷째 문장이다. 다섯째 문장이다. 여섯째 문장이다. 일곱째 문장이다. 여덟째 문장이다. 이 문단은 독자가 한 번에 따라가기 어렵도록 같은 설명을 매우 길게 반복한다. 같은 설명을 매우 길게 반복한다. 같은 설명을 매우 길게 반복한다. 같은 설명을 매우 길게 반복한다. 같은 설명을 매우 길게 반복한다. 같은 설명을 매우 길게 반복한다. 같은 설명을 매우 길게 반복한다. 같은 설명을 매우 길게 반복한다. 같은 설명을 매우 길게 반복한다. 같은 설명을 매우 길게 반복한다. 같은 설명을 매우 길게 반복한다. 같은 설명을 매우 길게 반복한다. 같은 설명을 매우 길게 반복한다. 같은 설명을 매우 길게 반복한다. 같은 설명을 매우 길게 반복한다. 같은 설명을 매우 길게 반복한다. 같은 설명을 매우 길게 반복한다. 같은 설명을 매우 길게 반복한다. 같은 설명을 매우 길게 반복한다. 같은 설명을 매우 길게 반복한다. 같은 설명을 매우 길게 반복한다. 같은 설명을 매우 길게 반복한다. 같은 설명을 매우 길게 반복한다. 같은 설명을 매우 길게 반복한다. 같은 설명을 매우 길게 반복한다. 같은 설명을 매우 길게 반복한다. 같은 설명을 매우 길게 반복한다. 같은 설명을 매우 길게 반복한다. 같은 설명을 매우 길게 반복한다. 같은 설명을 매우 길게 반복한다. 같은 설명을 매우 길게 반복한다. 같은 설명을 매우 길게 반복한다. 같은 설명을 매우 길게 반복한다. 같은 설명을 매우 길게 반복한다. 같은 설명을 매우 길게 반복한다. 같은 설명을 매우 길게 반복한다. 같은 설명을 매우 길게 반복한다. 같은 설명을 매우 길게 반복한다. 같은 설명을 매우 길게 반복한다. 같은 설명을 매우 길게 반복한다. 같은 설명을 매우 길게 반복한다. 같은 설명을 매우 길게 반복한다. 같은 설명을 매우 길게 반복한다. 같은 설명을 매우 길게 반복한다.
```python
print("닫히지 않은 fence")
+19
View File
@@ -0,0 +1,19 @@
[
"DOC-H001",
"DOC-H002",
"DOC-M001",
"DOC-M002",
"DOC-M003",
"DOC-L001",
"DOC-L002",
"DOC-L003",
"DOC-T001",
"DOC-T002",
"DOC-T003",
"DOC-T004",
"DOC-T005",
"DOC-T007",
"DOC-T009",
"DOC-P001",
"DOC-P002"
]
+35
View File
@@ -0,0 +1,35 @@
{
"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": ["C2"],
"new_terms": ["t1", "t2", "t3"],
"transition_to": null,
"reader_state_after": "원리를 안다."
}
],
"closure": "실패를 확인한다."
}
+12
View File
@@ -0,0 +1,12 @@
{
"schema_version": "1.0",
"document_kind": "explanation",
"primary_audience": "초급 개발자",
"purpose": "실패 fixture",
"reader_question": "무엇이 잘못됐는가?",
"reader_outcome": "실패를 확인한다.",
"prerequisites": [],
"assumed_known": [],
"must_explain": ["멱등성", "유효 기간", "캐시 관통"],
"non_goals": []
}
+40
View File
@@ -0,0 +1,40 @@
{
"schema_version": "1.0",
"assumed_known": ["HTTP"],
"budgets": {
"per_sentence": 2,
"per_paragraph": 2,
"per_section": 7
},
"terms": [
{
"id": "t1",
"canonical": "멱등성",
"plain_definition": "여러 번 처리해도 결과가 같은 성질",
"why_needed": "재시도를 설명한다.",
"aliases": ["중복 방지"],
"first_section": "principle",
"first_use": "여러 번 처리해도 결과가 같은 성질을 멱등성이라고 한다."
},
{
"id": "t2",
"canonical": "유효 기간",
"english": "time to live",
"abbreviation": "TTL",
"plain_definition": "데이터가 남는 시간",
"why_needed": "만료를 설명한다.",
"aliases": [],
"first_section": "principle",
"first_use": "데이터가 남는 시간인 유효 기간(time to live, TTL)을 정한다."
},
{
"id": "t3",
"canonical": "캐시 관통",
"plain_definition": "없는 키 요청이 저장소까지 계속 내려가는 현상",
"why_needed": "실패를 설명한다.",
"aliases": [],
"first_section": "principle",
"first_use": "없는 키 요청이 저장소까지 계속 내려가는 현상을 캐시 관통이라고 한다."
}
]
}