docs(keycloak-session-store): import the session-storage lab as a new project

The keycloak project ended with four open questions that design could not
settle. A two-VM lab was built to answer them by measurement, and this is
that material: 26 experiments, 125 raw command outputs, 22 browser captures.

Follows the import procedure in README.md.

  source/     the originating repository verbatim — 78 documents, 28 SVGs,
              8 manifests, plus .source-revision recording the commit
  final/      the SSOT
    document.md   729 lines written from the 29 experiment documents, not
                  concatenated: what was predicted, what was measured, and
                  where the measurement itself was wrong
    evidence/raw    125 outputs, flattened to <experiment>__<file> because
                    the originals collided (01-baseline.txt appeared three
                    times) and the audit only globs the top level
    evidence/meta   one per raw file; command and exitCode are null and the
                    README says why rather than inventing them
    evidence/browser  22 captures
    assets/       three diagrams through techviz
    .techviz/     their VizSpecs

A separate project rather than an addition to keycloak: the B-layer answers
that project's four questions, but the A, C and D layers are about cluster
failure, SSO and operations, and one document.md should hold one subject.
The four question records there can point here through 관계.

Recorded rather than papered over: only three of the 28 diagrams were
remade. The repository forbids hand-drawn SVG and forbids titles inside the
canvas; all 28 originals carry both, so converting them is redrawing, not
reformatting. They stay in source/ and the gap is written into the document.

verify-pipeline.py passes. audit-records.py reports no issues.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
DongHyeonka
2026-09-04 22:51:59 +09:00
co-authored by Claude Opus 5
parent 43bccd08a8
commit b2963105a8
5017 changed files with 372751 additions and 4943 deletions
+16 -1
View File
@@ -48,8 +48,10 @@ Reference·Question·Decision의 칸은 평문으로 렌더링됩니다. 그런
docs/
├── ca-tmpl/ 실행 가능한 클린 아키텍처
├── clean-architecture-backend-template/
└── final/document.md Redis 코드 상세 (20편을 합침)
분석 진행 중 (모듈 7편)
├── keycloak/ 인증 패턴 네 가지
├── keycloak-session-store/ 세션 저장소와 장애 주입 실험 26건
│ keycloak 의 열린 질문 네 개에 답한다
├── n+1liner/ 피드 조회 성능
└── TechLog/ 이 Studio를 만들며 만난 결함
```
@@ -76,6 +78,7 @@ docs/<프로젝트>/
주제 폴더 이름은 Studio 주제의 slug입니다. Studio가 주제별로 다섯 종류를 나눠 보여 주므로
폴더도 같은 모양입니다. 지금은 `keycloak``oauth-oidc-auth-boundary` 23건,
`n+1liner``jpa-feed-query-performance` 24건이 있습니다.
`keycloak-session-store`는 SSOT 까지 들어왔고 기록은 아직 없습니다.
`tech-log-tree.json`은 그 주제 아래 어떤 글감이 있고 어디까지 썼는지를 한 파일에 모읍니다.
기록을 쓰거나 지운 뒤에는 다시 만듭니다.
@@ -112,6 +115,18 @@ node $S/style_profile.mjs 초안.md
`check_body.mjs``tech-log-frontend` 체크아웃을 읽습니다. 경로가 다르면 `--frontend` 또는
`TECH_LOG_FRONTEND`로 알려 줍니다.
기록이 수백 건이면 하나씩 읽어 확인할 수 없습니다. 구조는 기계가 셉니다.
```bash
python3 scripts/audit-records.py # 전부
python3 scripts/audit-records.py keycloak # 하나만
```
칸이 비었는지, `kind`와 폴더가 맞는지, `topic`이 폴더 slug인지, 본문 마커가 있는지,
`assets`·`evidence`가 가리키는 파일이 실제로 있는지, 본문이 부르는 자산이 frontmatter에
선언돼 있는지, 증거의 원문·메타·렌더가 짝을 이루는지를 봅니다. 문제가 있으면 종료 코드가
1입니다.
`style_profile.mjs`의 기준값은 우아한형제들 기술블로그 5편에서 잰 것입니다. 수치를 맞추려고
문장을 넣지 않습니다 — 두 검사기 모두 표면 패턴만 보고 뜻은 못 봅니다.