Files
document-haness/docs/keycloak-session-store/final/assets/cache-temperature-outcomes/cache-temperature-outcomes.alt.md
T
DongHyeonkaandClaude Opus 5 95c0e680b5 docs(keycloak-session-store): take the sentences out of the diagram canvases
The skill says drawings carry names and sentences go in <desc> and the
paragraph beside the figure. I put sentences in node details and edge labels
instead, and 27 of the 28 diagrams shipped with prose inside the canvas —
"예측 다섯 개가 틀렸다", "아홉 번 조용히 실패했다", "막혀서 닿지 않는다".

Only label and details render on the canvas; description does not. So every
sentence moved to a noun phrase and the meaning stays in description, which
was already carrying it.

  막혀서 닿지 않는다              -> 차단
  아홉 번 조용히 실패했다         -> 조용한 실패 9건
  예측 다섯 개가 틀렸다           -> 틀린 예측 5건
  로그아웃이 정리하지 않는다      -> 로그아웃 미정리
  볼륨이 없으면 여기까지다        -> 볼륨 없음

Three node labels were sentences too and became names: 세션 스냅샷, 예측
선기록, 대조군 확보.

What stays is what the rules protect — identifiers, commands and measured
values: PRIMARY KEY (client_registration_id, principal_name),
ValidationFailedException: 1 changesets check sum, nginx -t && nginx -s
reload, SET LOCAL synchronous_commit TO OFF. Those are names of things, not
prose about them.

294 canvas strings across 28 diagrams, none matching a sentence ending,
average 11 characters. All 28 still lint clean and re-rendered.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-05 11:50:33 +09:00

1.5 KiB
Raw Blame History

캐시 온도가 결과를 가른다

Alternative text

냉시동에서는 클라이언트 조회가, 반쯤 더운 상태에서는 스코프 조회가 데이터베이스에 닿아 실패하고, 완전히 더운 상태에서는 어느 쪽도 닿지 않는 구성.

Long description

volatile 모드에서 로그인은 SQL 을 0개 쏜다. refresh 는 딱 한 문장을 쏘는데 CLIENT_SCOPE_CLIENT 의 선택적 스코프 조회이며, 그것도 첫 번째만 쏘고 이후 캐시된다. 그래서 DB 를 세웠을 때 완전 냉시동이면 클라이언트 조회부터 실패해 로그인이 400 이고, CLIENT 캐시만 더우면 refresh 가 500 이며, 완전히 더우면 둘 다 200 이다. A-7 이 표에 적은 것은 그 사이의 한 상태였다.

Elements and evidence

  • 로그인 · refresh 요청 (actor): 같은 명령이 캐시 상태에 따라 다른 답을 받는다. Evidence: L284L296.
  • CLIENT 조회 (process): 냉시동에서 여기서 실패한다. Evidence: L306L312.
  • CLIENT_SCOPE_CLIENT 조회 (process): refresh 만 쏘고 첫 번째만 쏜다. Evidence: L284L292.
  • PostgreSQL (datastore): 세운 상태다. 여기 닿는 조회만 실패한다. Evidence: L296L302.

Relationships

  • CLIENT 조회 → CLIENT_SCOPE_CLIENT 조회: 스코프 재계산. Evidence: L284L292.
  • 로그인 · refresh 요청 → CLIENT 조회: 클라이언트 확인. Evidence: L306L312.
  • CLIENT_SCOPE_CLIENT 조회 → PostgreSQL: 캐시 미스. Evidence: L296L302.