docs(TechLog): 주제 셋을 스킬대로 다시 쓰고 SSOT 를 저장소 실물로 고친다

건너뛴 참조 다섯을 읽고 나서 다시 썼다 — from-ssot-to-records.md 의 「그림과 증거는
배정 대상이다」, code-tables-diagrams.md 의 표·코드 규칙, explaining.md 의 「이름을
댔으면 왜 있는지도 댄다」.

**SSOT 를 먼저 고쳤다.** §3.3 의 코드블록이 저장소와 달랐다 — PATH_PREFIX_KINDS 는
Record 표가 아니라 튜플 배열이고, 진짜 경로 표는 EXPLORE_KIND_PATHS 다. 저장소에서
확인해 실물로 바꾸고, javadoc 이 적어 둔 이유를 함께 옮겼다. §16.7 에 BRANCH_FIELDS 와
pathOf 실물을, §4.3 에 ContractRouteCoverageTest 의 javadoc 과 면제 상수 둘을 더했다.
62,643 → 65,737 자.

**계약에 ssot-assets·ssot-evidence 를 배정했다.** 그 절차를 건너뛰어서 SSOT 가 이미
가진 그림과 측정이 글감에 배정되지 않은 채였다. TechLog 12 글감, keycloak-session-store
는 그림 21장·증거 19건을 배정하고 붙일 글감이 없는 그림 4장은 이유를 계약에 적었다.
배정하자 검사기가 「배정한 증거를 기록이 쓰지 않는다」 4건을 드러냈다.

**주제 셋을 다시 썼다.**
  hand-listed-kinds            중앙값 1,925 → 3,760 자
  declared-but-not-implemented          → 2,608 자
  values-lost-between-boundaries        → 2,602 자

게시된 기록은 keycloak 4,546 · n+1liner 3,190 이다. 표와 코드를 SSOT 에서 옮기고,
Reference 에 담을 수 없던 표(§5.5 의 여덟 자리)를 짝이 되는 Case 로 내렸다.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
DongHyeonka
2026-09-07 18:54:45 +09:00
co-authored by Claude Opus 5
parent 6feee5ba57
commit a8ce0dda07
15 changed files with 484 additions and 132 deletions
@@ -113,6 +113,9 @@
"case:an-operation-you-can-see-but-cannot-call"
],
"kind": "case",
"ssot-evidence": [
"raw/guards/kind-tables-now.txt"
],
"publication": "초안",
"file": "hand-listed-kinds/case/case-one-new-kind-fell-through-thirteen-places.md",
"status": "게시 전",
@@ -204,13 +207,18 @@
"case:an-address-frozen-at-publish-time"
],
"kind": "question",
"ssot-evidence": [
"raw/guards/kind-tables-now.txt"
],
"publication": "초안",
"file": "hand-listed-kinds/question/openquestion-two-kind-tables-outside-the-compiler.md",
"status": "게시 전",
"studioId": "",
"assets": [],
"assetFiles": [],
"evidenceFiles": []
"evidenceFiles": [
"../../../final/evidence/raw/guards/kind-tables-now.txt"
]
}
],
"decision": []
@@ -429,6 +437,9 @@
"reference:verify-at-the-end-of-the-value-journey"
],
"kind": "concept",
"ssot-assets": [
"value-boundaries"
],
"publication": "초안",
"file": "values-lost-between-boundaries/concept/concept-eleven-boundaries-a-value-crosses.md",
"status": "게시 전",
@@ -896,6 +907,9 @@
"reference:do-not-draw-a-link-that-does-not-resolve"
],
"kind": "decision",
"ssot-evidence": [
"raw/audit/dead-link-sweep.txt"
],
"publication": "초안",
"file": "one-route-many-hand-kept-lists/decision/decision-do-not-translate-the-catch-all-route.md",
"status": "게시 전",
@@ -940,6 +954,15 @@
"case:a-link-that-pointed-at-itself"
],
"kind": "case",
"ssot-assets": [
"decision-path-404"
],
"ssot-evidence": [
"raw/db/decision-path-after-v15.txt",
"raw/api/decision-anchor-fixed.txt",
"raw/audit/dead-link-sweep.txt",
"raw/audit/link-audit.py"
],
"publication": "초안",
"file": "addresses-frozen-at-publish-time/case/case-an-address-frozen-at-publish-time.md",
"status": "게시 전",
@@ -1349,6 +1372,9 @@
"case:the-comparison-band-changed-three-times"
],
"kind": "reference",
"ssot-evidence": [
"browser/tab-metrics.txt"
],
"publication": "초안",
"file": "css-rules-that-leak/reference/reference-measure-what-is-visible-not-a-proxy.md",
"status": "게시 전",
@@ -1602,6 +1628,9 @@
"reference:say-you-could-not-read-it"
],
"kind": "question",
"ssot-evidence": [
"raw/db/delete-blocked-by-project-link.txt"
],
"publication": "초안",
"file": "one-thing-many-names/question/openquestion-the-refusal-does-not-name-what-blocks-it.md",
"status": "게시 전",
@@ -1642,6 +1671,13 @@
"case:one-cell-failing-took-its-neighbour-down"
],
"kind": "case",
"ssot-evidence": [
"browser/home-tabs-keycloak.png",
"browser/home-topic-tabs.png",
"browser/home-topic-tabs-2.png",
"browser/home-tabs-grouped.png",
"browser/tab-metrics.txt"
],
"publication": "초안",
"file": "an-axis-inside-a-topic/case/case-the-comparison-band-changed-three-times.md",
"status": "게시 전",
@@ -1677,6 +1713,13 @@
"case:the-comparison-band-changed-three-times"
],
"kind": "concept",
"ssot-assets": [
"topic-variant-model"
],
"ssot-evidence": [
"raw/db/topic-variant-rows.txt",
"raw/db/record-variant-links.txt"
],
"publication": "초안",
"file": "an-axis-inside-a-topic/concept/concept-topic-variant-and-record-variant.md",
"status": "게시 전",
@@ -1716,6 +1759,9 @@
"reference:measure-what-is-visible-not-a-proxy"
],
"kind": "question",
"ssot-evidence": [
"raw/db/record-variant-links.txt"
],
"publication": "초안",
"file": "an-axis-inside-a-topic/question/openquestion-the-conclusion-line-does-not-follow-the-records.md",
"status": "게시 전",
@@ -1750,6 +1796,10 @@
"case:the-comparison-band-changed-three-times"
],
"kind": "decision",
"ssot-evidence": [
"raw/db/topic-variant-rows.txt",
"raw/db/record-variant-links.txt"
],
"publication": "초안",
"file": "an-axis-inside-a-topic/decision/decision-an-axis-inside-a-topic-not-four-topics.md",
"status": "게시 전",
@@ -1823,6 +1873,9 @@
"reference:enumerate-kinds-where-the-compiler-sees-it"
],
"kind": "reference",
"ssot-evidence": [
"raw/guards/guards-actually-fail.txt"
],
"publication": "초안",
"file": "when-a-guard-can-be-trusted/reference/reference-revert-the-defect-and-watch-the-guard-fail.md",
"status": "게시 전",
@@ -2965,5 +3018,5 @@
"unlisted": 0,
"candidates": 91
},
"ssotSha256": "fe8f789edaa3bcf2c88f9ce83983d437ac34cfacda42e75dba6733ec1344893d"
"ssotSha256": "4f2c6b31f152a7d786e76d8efda5fe27c056ff685a031ba8b772c9595e7d03ad"
}