docs(TechLog): 글감 56개를 기록으로 쓴다

주제 13개 · Case 28 · Concept 5 · Reference 15 · Question 4 · Decision 4.
계약의 노드마다 종류가 요구하는 칸을 채우고, 본문이 있는 두 종류에는 SSOT 가 이미
그려 둔 도식 셋(value-boundaries · decision-path-404 · topic-variant-model)을
tech-log-studio/ 로 옮겨 붙였다. 새로 그린 그림은 없다.

검사 셋 전부 통과한다.
  check_body.mjs      56 편 중 본문이 있는 33 편 PASS
  check_prose.mjs     56 편 error 0
  check_evidence.mjs  --repo 포함 문제 없음
  verify-tech-log-tree.py  프로젝트 5 · error 0 · warn 0

인용한 코드블록은 전부 SSOT 에서 찾아 대조했다. check_evidence.mjs 가 본문의 각 줄과
source 앵커와 계약 제목을 다시 확인한다.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
DongHyeonka
2026-09-07 15:29:33 +09:00
co-authored by Claude Opus 5
parent 6955611439
commit f6c825e858
62 changed files with 6381 additions and 186 deletions
+443 -69
View File
@@ -87,7 +87,7 @@
"kinds": {
"case": [
{
"title": "개념을 하나 더하자 열세 자리가 그것을 조용히 삼켰다",
"title": "개념을 하나 더하자 열세 곳이 그것을 조용히 삼켰다",
"slug": "one-new-kind-fell-through-thirteen-places",
"readiness": "READY",
"source": [
@@ -113,7 +113,15 @@
"case:an-operation-you-can-see-but-cannot-call"
],
"kind": "case",
"publication": "미작성"
"publication": "초안",
"file": "hand-listed-kinds/case/case-one-new-kind-fell-through-thirteen-places.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": [
"../../../final/evidence/raw/guards/kind-tables-now.txt"
]
}
],
"concept": [
@@ -138,12 +146,18 @@
"concept:where-typescript-stops-checking"
],
"kind": "concept",
"publication": "미작성"
"publication": "초안",
"file": "hand-listed-kinds/concept/concept-exhaustive-switch-and-record-tables.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
}
],
"reference": [
{
"title": "종류를 나열하는 자리는 컴파일러나 계약 대조 검사가 세게 만든다",
"title": "종류를 나열하는 곳은 컴파일러나 계약 대조 검사가 세게 만든다",
"slug": "enumerate-kinds-where-the-compiler-sees-it",
"readiness": "READY",
"source": [
@@ -160,12 +174,18 @@
"reference:compare-the-contract-with-both-implementations"
],
"kind": "reference",
"publication": "미작성"
"publication": "초안",
"file": "hand-listed-kinds/reference/reference-enumerate-kinds-where-the-compiler-sees-it.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
}
],
"question": [
{
"title": "종류를 세는 자리 둘이 아직 컴파일러의 보호 밖에 있다",
"title": "종류를 세는 둘이 아직 컴파일러의 보호 밖에 있다",
"slug": "two-kind-tables-outside-the-compiler",
"readiness": "OPEN",
"source": [
@@ -184,7 +204,13 @@
"case:an-address-frozen-at-publish-time"
],
"kind": "question",
"publication": "미작성"
"publication": "초안",
"file": "hand-listed-kinds/question/openquestion-two-kind-tables-outside-the-compiler.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
}
],
"decision": []
@@ -219,7 +245,13 @@
"case:it-said-there-were-no-open-questions"
],
"kind": "case",
"publication": "미작성"
"publication": "초안",
"file": "declared-but-not-implemented/case/case-five-screens-were-quietly-empty.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
},
{
"title": "타입에는 보이는데 부를 수 없는 연산이 네 번 나왔다",
@@ -241,7 +273,13 @@
"case:a-narrow-implementation-satisfied-a-wide-port"
],
"kind": "case",
"publication": "미작성"
"publication": "초안",
"file": "declared-but-not-implemented/case/case-an-operation-you-can-see-but-cannot-call.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
}
],
"concept": [],
@@ -263,7 +301,13 @@
"reference:enumerate-kinds-where-the-compiler-sees-it"
],
"kind": "reference",
"publication": "미작성"
"publication": "초안",
"file": "declared-but-not-implemented/reference/reference-compare-the-contract-with-both-implementations.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
}
],
"question": [],
@@ -298,7 +342,13 @@
"concept:where-typescript-stops-checking"
],
"kind": "case",
"publication": "미작성"
"publication": "초안",
"file": "values-lost-between-boundaries/case/case-a-public-reference-was-entirely-empty.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
},
{
"title": "관계의 요약이 경계 세 곳을 지나며 사라졌다",
@@ -321,7 +371,13 @@
"case:a-list-item-had-to-carry-the-whole-document"
],
"kind": "case",
"publication": "미작성"
"publication": "초안",
"file": "values-lost-between-boundaries/case/case-a-summary-vanished-at-three-boundaries.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
},
{
"title": "결정에는 상세 화면이 없어 목록 항목이 문서 전체를 실어야 했다",
@@ -343,7 +399,13 @@
"case:a-summary-vanished-at-three-boundaries"
],
"kind": "case",
"publication": "미작성"
"publication": "초안",
"file": "values-lost-between-boundaries/case/case-a-list-item-had-to-carry-the-whole-document.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
}
],
"concept": [
@@ -367,7 +429,17 @@
"reference:verify-at-the-end-of-the-value-journey"
],
"kind": "concept",
"publication": "미작성"
"publication": "초안",
"file": "values-lost-between-boundaries/concept/concept-eleven-boundaries-a-value-crosses.md",
"status": "게시 전",
"studioId": "",
"assets": [
"value-boundaries"
],
"assetFiles": [
"value-boundaries"
],
"evidenceFiles": []
}
],
"reference": [
@@ -388,7 +460,13 @@
"reference:verify-at-the-end-of-the-value-journey"
],
"kind": "reference",
"publication": "미작성"
"publication": "초안",
"file": "values-lost-between-boundaries/reference/reference-a-missing-contract-field-has-a-signature.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
},
{
"title": "한 경계를 고쳤으면 값의 여정 끝에서 확인한다",
@@ -408,7 +486,13 @@
"concept:where-typescript-stops-checking"
],
"kind": "reference",
"publication": "미작성"
"publication": "초안",
"file": "values-lost-between-boundaries/reference/reference-verify-at-the-end-of-the-value-journey.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
}
],
"question": [],
@@ -417,7 +501,7 @@
"topic": "values-lost-between-boundaries"
},
"what-the-compiler-lets-through": {
"title": "타입 검사가 통과시키는 자리",
"title": "타입 검사가 통과시키는 ",
"readerQuestion": "「타입 검사가 통과했다」는 왜 반영의 증거가 아닌가?",
"kinds": {
"case": [
@@ -441,10 +525,16 @@
"reference:verify-at-the-end-of-the-value-journey"
],
"kind": "case",
"publication": "미작성"
"publication": "초안",
"file": "what-the-compiler-lets-through/case/case-a-narrow-implementation-satisfied-a-wide-port.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
},
{
"title": "`npx tsc --noEmit` 이 한 파일도 검사하지 않고 성공했다",
"title": "npx tsc --noEmit 이 한 파일도 검사하지 않고 성공했다",
"slug": "the-typecheck-command-checked-no-files",
"readiness": "READY",
"source": [
@@ -462,12 +552,18 @@
"reference:what-a-person-must-run-before-deploying"
],
"kind": "case",
"publication": "미작성"
"publication": "초안",
"file": "what-the-compiler-lets-through/case/case-the-typecheck-command-checked-no-files.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
}
],
"concept": [
{
"title": "TypeScript 가 검사를 놓아 주는 네 자리 — 메서드 매개변수의 bivariance · `as` 단언 · `(input: never)` 캐스트 · 검사 대상을 갖지 않은 tsconfig",
"title": "TypeScript 가 검사를 놓아 주는 네 자리 — 메서드 매개변수의 bivariance · as 단언 · never 캐스트 · 검사 대상을 갖지 않은 tsconfig",
"slug": "where-typescript-stops-checking",
"readiness": "READY",
"source": [
@@ -488,7 +584,13 @@
"case:a-public-reference-was-entirely-empty"
],
"kind": "concept",
"publication": "미작성"
"publication": "초안",
"file": "what-the-compiler-lets-through/concept/concept-where-typescript-stops-checking.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
}
],
"reference": [],
@@ -524,7 +626,13 @@
"case:the-sql-had-never-been-executed"
],
"kind": "case",
"publication": "미작성"
"publication": "초안",
"file": "seams-no-test-crosses/case/case-two-pods-crashlooped-with-no-test-starting-the-context.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
},
{
"title": "그 SQL 은 한 번도 실행된 적이 없었다",
@@ -546,7 +654,13 @@
"question:the-refusal-does-not-name-what-blocks-it"
],
"kind": "case",
"publication": "미작성"
"publication": "초안",
"file": "seams-no-test-crosses/case/case-the-sql-had-never-been-executed.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
},
{
"title": "합성 루트에 테스트가 없어 공개 사이트 전체가 오류 화면이었다",
@@ -569,7 +683,13 @@
"reference:verify-at-the-end-of-the-value-journey"
],
"kind": "case",
"publication": "미작성"
"publication": "초안",
"file": "seams-no-test-crosses/case/case-the-composition-root-had-no-test.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
},
{
"title": "생성기가 계약 필드 넷을 조용히 빠뜨렸다 — 파생 스펙에 남은 YAML alias 34곳",
@@ -592,7 +712,13 @@
"case:a-list-item-had-to-carry-the-whole-document"
],
"kind": "case",
"publication": "미작성"
"publication": "초안",
"file": "seams-no-test-crosses/case/case-the-generator-dropped-four-contract-fields.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
}
],
"concept": [],
@@ -614,7 +740,13 @@
"case:the-generator-dropped-four-contract-fields"
],
"kind": "reference",
"publication": "미작성"
"publication": "초안",
"file": "seams-no-test-crosses/reference/reference-put-one-check-on-each-seam.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
}
],
"question": [],
@@ -648,7 +780,13 @@
"case:eight-places-a-single-route-touches"
],
"kind": "case",
"publication": "미작성"
"publication": "초안",
"file": "one-route-many-hand-kept-lists/case/case-a-route-the-web-server-never-heard-of.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
},
{
"title": "라우트 하나가 건드리는 여덟 자리와, 그것들이 우는 시점",
@@ -672,7 +810,13 @@
"case:the-guard-worked-and-i-did-not-run-it"
],
"kind": "case",
"publication": "미작성"
"publication": "초안",
"file": "one-route-many-hand-kept-lists/case/case-eight-places-a-single-route-touches.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
}
],
"concept": [],
@@ -694,7 +838,13 @@
"reference:enumerate-kinds-where-the-compiler-sees-it"
],
"kind": "reference",
"publication": "미작성"
"publication": "초안",
"file": "one-route-many-hand-kept-lists/reference/reference-derive-the-route-lists-from-the-route-contract.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
}
],
"question": [
@@ -716,7 +866,13 @@
"case:the-guard-worked-and-i-did-not-run-it"
],
"kind": "question",
"publication": "미작성"
"publication": "초안",
"file": "one-route-many-hand-kept-lists/question/openquestion-nobody-signed-the-accessibility-evidence.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
}
],
"decision": [
@@ -740,14 +896,22 @@
"reference:do-not-draw-a-link-that-does-not-resolve"
],
"kind": "decision",
"publication": "미작성"
"publication": "초안",
"file": "one-route-many-hand-kept-lists/decision/decision-do-not-translate-the-catch-all-route.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": [
"../../../final/evidence/raw/audit/dead-link-sweep.txt"
]
}
]
},
"topic": "one-route-many-hand-kept-lists"
},
"addresses-frozen-at-publish-time": {
"title": "주소가 만들어지고 굳어지는 자리",
"title": "주소가 만들어지고 굳어지는 ",
"readerQuestion": "공개 주소는 누가 언제 만들고, 그것이 틀리면 어디까지 번지는가?",
"kinds": {
"case": [
@@ -776,7 +940,21 @@
"case:a-link-that-pointed-at-itself"
],
"kind": "case",
"publication": "미작성"
"publication": "초안",
"file": "addresses-frozen-at-publish-time/case/case-an-address-frozen-at-publish-time.md",
"status": "게시 전",
"studioId": "",
"assets": [
"decision-path-404"
],
"assetFiles": [
"decision-path-404"
],
"evidenceFiles": [
"../../../final/evidence/raw/db/decision-path-after-v15.txt",
"../../../final/evidence/raw/api/decision-anchor-fixed.txt",
"../../../final/evidence/raw/audit/dead-link-sweep.txt"
]
},
{
"title": "축 링크가 자기 자신을 가리켰고, 고친 뒤에는 백엔드를 먼저 배포했다",
@@ -798,7 +976,13 @@
"concept:topic-variant-and-record-variant"
],
"kind": "case",
"publication": "미작성"
"publication": "초안",
"file": "addresses-frozen-at-publish-time/case/case-a-link-that-pointed-at-itself.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
},
{
"title": "slug 생성이 한글을 버려 주제 만들기가 간헐적으로 실패했다",
@@ -819,7 +1003,13 @@
"reference:do-not-draw-a-link-that-does-not-resolve"
],
"kind": "case",
"publication": "미작성"
"publication": "초안",
"file": "addresses-frozen-at-publish-time/case/case-a-slug-rule-that-threw-korean-away.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
}
],
"concept": [],
@@ -840,7 +1030,13 @@
"reference:derive-the-route-lists-from-the-route-contract"
],
"kind": "reference",
"publication": "미작성"
"publication": "초안",
"file": "addresses-frozen-at-publish-time/reference/reference-do-not-draw-a-link-that-does-not-resolve.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
},
{
"title": "우회를 남길 때는 되돌릴 조건을 함께 적는다",
@@ -858,7 +1054,13 @@
"decision:a-new-route-ships-frontend-first"
],
"kind": "reference",
"publication": "미작성"
"publication": "초안",
"file": "addresses-frozen-at-publish-time/reference/reference-write-down-what-would-undo-a-workaround.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
}
],
"question": [],
@@ -880,7 +1082,13 @@
"reference:do-not-draw-a-link-that-does-not-resolve"
],
"kind": "decision",
"publication": "미작성"
"publication": "초안",
"file": "addresses-frozen-at-publish-time/decision/decision-a-new-route-ships-frontend-first.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
}
]
},
@@ -910,7 +1118,13 @@
"case:one-cell-failing-took-its-neighbour-down"
],
"kind": "case",
"publication": "미작성"
"publication": "초안",
"file": "failure-drawn-as-absence/case/case-it-said-there-were-no-open-questions.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
},
{
"title": "한 칸의 실패가 옆 칸을 끌고 내려갔다",
@@ -930,7 +1144,13 @@
"case:the-comparison-band-changed-three-times"
],
"kind": "case",
"publication": "미작성"
"publication": "초안",
"file": "failure-drawn-as-absence/case/case-one-cell-failing-took-its-neighbour-down.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
},
{
"title": "매퍼가 null 을 돌려주고 호출부가 걸러 내, 기록이 조용히 사라졌다",
@@ -952,7 +1172,13 @@
"case:the-composition-root-had-no-test"
],
"kind": "case",
"publication": "미작성"
"publication": "초안",
"file": "failure-drawn-as-absence/case/case-records-disappeared-without-a-trace.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
}
],
"concept": [],
@@ -974,7 +1200,13 @@
"case:records-disappeared-without-a-trace"
],
"kind": "reference",
"publication": "미작성"
"publication": "초안",
"file": "failure-drawn-as-absence/reference/reference-say-you-could-not-read-it.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
},
{
"title": "매번 우는 검사는 읽히지 않는다 — 기대된 실패는 조건을 적어 빼고 나머지는 전부 실패시킨다",
@@ -992,7 +1224,13 @@
"case:an-address-frozen-at-publish-time"
],
"kind": "reference",
"publication": "미작성"
"publication": "초안",
"file": "failure-drawn-as-absence/reference/reference-an-expected-failure-must-not-be-counted-as-a-failure.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
}
],
"question": [],
@@ -1027,7 +1265,13 @@
"reference:measure-what-is-visible-not-a-proxy"
],
"kind": "case",
"publication": "미작성"
"publication": "초안",
"file": "css-rules-that-leak/case/case-a-section-wide-rule-caught-the-heading.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
},
{
"title": "규칙이 없었던 게 아니라 절반만 있었다",
@@ -1049,7 +1293,13 @@
"reference:scope-a-layout-rule-to-what-uses-it"
],
"kind": "case",
"publication": "미작성"
"publication": "초안",
"file": "css-rules-that-leak/case/case-the-rule-was-not-missing-it-was-half-there.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
}
],
"concept": [],
@@ -1070,7 +1320,13 @@
"reference:measure-what-is-visible-not-a-proxy"
],
"kind": "reference",
"publication": "미작성"
"publication": "초안",
"file": "css-rules-that-leak/reference/reference-scope-a-layout-rule-to-what-uses-it.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
},
{
"title": "프록시 지표가 아니라 보이는 것을 측정한다",
@@ -1093,7 +1349,15 @@
"case:the-comparison-band-changed-three-times"
],
"kind": "reference",
"publication": "미작성"
"publication": "초안",
"file": "css-rules-that-leak/reference/reference-measure-what-is-visible-not-a-proxy.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": [
"../../../final/evidence/browser/tab-metrics.txt"
]
}
],
"question": [],
@@ -1127,7 +1391,13 @@
"case:a-build-argument-left-out"
],
"kind": "case",
"publication": "미작성"
"publication": "초안",
"file": "only-visible-after-deploying/case/case-a-healthy-container-that-served-one-403.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
},
{
"title": "배포 인자를 빠뜨려 배포본이 존재하지 않는 주소를 불렀다",
@@ -1149,7 +1419,13 @@
"case:a-healthy-container-that-served-one-403"
],
"kind": "case",
"publication": "미작성"
"publication": "초안",
"file": "only-visible-after-deploying/case/case-a-build-argument-left-out.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
}
],
"concept": [
@@ -1174,7 +1450,13 @@
"reference:what-a-person-must-run-before-deploying"
],
"kind": "concept",
"publication": "미작성"
"publication": "초안",
"file": "only-visible-after-deploying/concept/concept-deploying-without-a-registry.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
}
],
"reference": [],
@@ -1207,7 +1489,13 @@
"reference:ask-which-words-to-use"
],
"kind": "case",
"publication": "미작성"
"publication": "초안",
"file": "one-thing-many-names/case/case-nine-names-for-five-kinds.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
},
{
"title": "종류 이름을 두 번 바꿨다 — 화면의 이름과 계약의 kind 를 갈랐다",
@@ -1231,7 +1519,13 @@
"case:a-slug-rule-that-threw-korean-away"
],
"kind": "case",
"publication": "미작성"
"publication": "초안",
"file": "one-thing-many-names/case/case-renaming-the-kinds-twice.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
},
{
"title": "서버는 하나를 답했는데 화면은 추측 셋을 출력했다",
@@ -1251,7 +1545,13 @@
"case:nine-names-for-five-kinds"
],
"kind": "case",
"publication": "미작성"
"publication": "초안",
"file": "one-thing-many-names/case/case-an-error-message-that-guessed.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
}
],
"concept": [],
@@ -1272,7 +1572,13 @@
"case:an-error-message-that-guessed"
],
"kind": "reference",
"publication": "미작성"
"publication": "초안",
"file": "one-thing-many-names/reference/reference-ask-which-words-to-use.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
}
],
"question": [
@@ -1296,7 +1602,15 @@
"reference:say-you-could-not-read-it"
],
"kind": "question",
"publication": "미작성"
"publication": "초안",
"file": "one-thing-many-names/question/openquestion-the-refusal-does-not-name-what-blocks-it.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": [
"../../../final/evidence/raw/db/delete-blocked-by-project-link.txt"
]
}
],
"decision": []
@@ -1328,7 +1642,17 @@
"case:one-cell-failing-took-its-neighbour-down"
],
"kind": "case",
"publication": "미작성"
"publication": "초안",
"file": "an-axis-inside-a-topic/case/case-the-comparison-band-changed-three-times.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": [
"../../../final/evidence/browser/home-tabs-grouped.png",
"../../../final/evidence/browser/home-topic-tabs.png",
"../../../final/evidence/browser/tab-metrics.txt"
]
}
],
"concept": [
@@ -1353,7 +1677,20 @@
"case:the-comparison-band-changed-three-times"
],
"kind": "concept",
"publication": "미작성"
"publication": "초안",
"file": "an-axis-inside-a-topic/concept/concept-topic-variant-and-record-variant.md",
"status": "게시 전",
"studioId": "",
"assets": [
"topic-variant-model"
],
"assetFiles": [
"topic-variant-model"
],
"evidenceFiles": [
"../../../final/evidence/raw/db/topic-variant-rows.txt",
"../../../final/evidence/raw/db/record-variant-links.txt"
]
}
],
"reference": [],
@@ -1379,7 +1716,15 @@
"reference:measure-what-is-visible-not-a-proxy"
],
"kind": "question",
"publication": "미작성"
"publication": "초안",
"file": "an-axis-inside-a-topic/question/openquestion-the-conclusion-line-does-not-follow-the-records.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": [
"../../../final/evidence/raw/db/record-variant-links.txt"
]
}
],
"decision": [
@@ -1405,7 +1750,16 @@
"case:the-comparison-band-changed-three-times"
],
"kind": "decision",
"publication": "미작성"
"publication": "초안",
"file": "an-axis-inside-a-topic/decision/decision-an-axis-inside-a-topic-not-four-topics.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": [
"../../../final/evidence/raw/db/topic-variant-rows.txt",
"../../../final/evidence/raw/db/record-variant-links.txt"
]
}
]
},
@@ -1437,7 +1791,13 @@
"case:eight-places-a-single-route-touches"
],
"kind": "case",
"publication": "미작성"
"publication": "초안",
"file": "when-a-guard-can-be-trusted/case/case-the-guard-worked-and-i-did-not-run-it.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
}
],
"concept": [],
@@ -1463,7 +1823,15 @@
"reference:enumerate-kinds-where-the-compiler-sees-it"
],
"kind": "reference",
"publication": "미작성"
"publication": "초안",
"file": "when-a-guard-can-be-trusted/reference/reference-revert-the-defect-and-watch-the-guard-fail.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": [
"../../../final/evidence/raw/guards/guards-actually-fail.txt"
]
},
{
"title": "배포 전에 사람이 돌려야 하는 것과 그 함정",
@@ -1485,7 +1853,13 @@
"concept:deploying-without-a-registry"
],
"kind": "reference",
"publication": "미작성"
"publication": "초안",
"file": "when-a-guard-can-be-trusted/reference/reference-what-a-person-must-run-before-deploying.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
}
],
"question": [],
@@ -1740,7 +2114,7 @@
"sourceRefs": [
"final/document.md#§6.3"
],
"summary": "(input: never) 로 받아 캐스팅하는 조립기",
"summary": "TypeScript 가 검사를 놓아 주는 네 자리 — 메서드 매개변수의 bivariance · as 단언 · never 캐스트 · 검사 대상을 갖지 않은 tsconfig",
"disposition": "MERGE_INTO",
"dispositionReview": "CONFIRMED",
"target": "concept:where-typescript-stops-checking",
@@ -1752,7 +2126,7 @@
"sourceRefs": [
"final/document.md#§6.4"
],
"summary": "루트 tsconfig 가 한 파일도 검사하지 않다",
"summary": "npx tsc --noEmit 이 한 파일도 검사하지 않고 성공했다",
"disposition": "PROMOTE",
"dispositionReview": "CONFIRMED",
"target": "case:the-typecheck-command-checked-no-files",
@@ -1776,7 +2150,7 @@
"sourceRefs": [
"final/document.md#§6.6"
],
"summary": "타입 검사를 놓아 주는 네 자리",
"summary": "TypeScript 가 검사를 놓아 주는 네 자리 — 메서드 매개변수의 bivariance · as 단언 · never 캐스트 · 검사 대상을 갖지 않은 tsconfig",
"disposition": "PROMOTE",
"dispositionReview": "CONFIRMED",
"target": "concept:where-typescript-stops-checking",
@@ -2492,7 +2866,7 @@
"sourceRefs": [
"final/document.md#§16.7"
],
"summary": "종류 열거 두 곳이 아직 컴파일러의 보호를 못 받는다",
"summary": "종류를 세는 곳 둘이 아직 컴파일러의 보호 밖에 있다",
"disposition": "PROMOTE",
"dispositionReview": "CONFIRMED",
"target": "question:two-kind-tables-outside-the-compiler",
@@ -2586,8 +2960,8 @@
"counts": {
"topics": 13,
"nodes": 56,
"written": 0,
"unwritten": 56,
"written": 56,
"unwritten": 0,
"unlisted": 0,
"candidates": 91
},