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>
This commit is contained in:
co-authored by
Claude Opus 5
parent
75bed382c8
commit
95c0e680b5
+26
-26
@@ -50,38 +50,38 @@
|
||||
</style>
|
||||
</defs>
|
||||
<rect class="canvas" width="680" height="364" />
|
||||
<polyline class="edge kind-write style-solid emphasis-normal" points="242.5,109.0 348.5,109.0 348.5,96.0 454.5,96.0" data-evidence="44-45" />
|
||||
<rect class="edge-label-bg" x="346.8" y="88.5" width="51.5" height="22" rx="3" />
|
||||
<text class="edge-label" x="372.5" y="103.5">멤버 등록</text>
|
||||
<polyline class="edge kind-write style-solid emphasis-normal" points="242.5,127.0 333.8,127.0 333.8,261.5 425.0,261.5" data-evidence="49-52" />
|
||||
<rect class="edge-label-bg" x="318.6" y="180.2" width="78.3" height="22" rx="3" />
|
||||
<text class="edge-label" x="357.8" y="195.2">세션 INSERT</text>
|
||||
<polyline class="edge kind-write style-solid emphasis-normal" points="265.0,252.0 359.8,252.0 359.8,114.0 454.5,114.0" data-evidence="44-45" />
|
||||
<rect class="edge-label-bg" x="358.0" y="169.0" width="51.5" height="22" rx="3" />
|
||||
<text class="edge-label" x="383.8" y="184.0">멤버 등록</text>
|
||||
<polyline class="edge kind-read style-solid emphasis-normal" points="265.0,270.0 345.0,270.0 345.0,279.5 425.0,279.5" data-evidence="48-50" />
|
||||
<rect class="edge-label-bg" x="329.9" y="260.8" width="78.3" height="22" rx="3" />
|
||||
<text class="edge-label" x="369.0" y="275.8">세션 SELECT</text>
|
||||
<polyline class="edge kind-write style-solid emphasis-normal" points="220.0,109.0 300.0,109.0 300.0,96.0 380.0,96.0" data-evidence="44-45" />
|
||||
<rect class="edge-label-bg" x="298.2" y="88.5" width="51.5" height="22" rx="3" />
|
||||
<text class="edge-label" x="324.0" y="103.5">멤버 등록</text>
|
||||
<polyline class="edge kind-write style-solid emphasis-normal" points="220.0,127.0 300.0,127.0 300.0,261.5 380.0,261.5" data-evidence="49-52" />
|
||||
<rect class="edge-label-bg" x="284.9" y="180.2" width="78.3" height="22" rx="3" />
|
||||
<text class="edge-label" x="324.0" y="195.2">세션 INSERT</text>
|
||||
<polyline class="edge kind-write style-solid emphasis-normal" points="220.0,252.0 300.0,252.0 300.0,114.0 380.0,114.0" data-evidence="44-45" />
|
||||
<rect class="edge-label-bg" x="298.2" y="169.0" width="51.5" height="22" rx="3" />
|
||||
<text class="edge-label" x="324.0" y="184.0">멤버 등록</text>
|
||||
<polyline class="edge kind-read style-solid emphasis-normal" points="220.0,270.0 300.0,270.0 300.0,279.5 380.0,279.5" data-evidence="48-50" />
|
||||
<rect class="edge-label-bg" x="284.9" y="260.8" width="78.3" height="22" rx="3" />
|
||||
<text class="edge-label" x="324.0" y="275.8">세션 SELECT</text>
|
||||
<g id="node-keycloak-0">
|
||||
<rect class="node-shape kind-service emphasis-primary role-source" data-evidence="49-51" x="92.5" y="82.5" width="150.0" height="71.0" rx="7" />
|
||||
<text class="node-label" x="167.5" y="109.5">keycloak-0</text>
|
||||
<line class="node-detail-divider" x1="106.5" y1="130.5" x2="228.5" y2="130.5" />
|
||||
<text class="node-detail" x="108.5" y="147.5">자기가 처리한 로그인만 캐시</text>
|
||||
<rect class="node-shape kind-service emphasis-primary role-source" data-evidence="49-51" x="70.0" y="82.5" width="150.0" height="71.0" rx="7" />
|
||||
<text class="node-label" x="145.0" y="109.5">keycloak-0</text>
|
||||
<line class="node-detail-divider" x1="84.0" y1="130.5" x2="206.0" y2="130.5" />
|
||||
<text class="node-detail" x="86.0" y="147.5">자기 처리분만 캐시</text>
|
||||
</g>
|
||||
<g id="node-keycloak-1">
|
||||
<rect class="node-shape kind-service emphasis-primary role-target" data-evidence="48-51" x="70.0" y="225.5" width="195.0" height="71.0" rx="7" />
|
||||
<text class="node-label" x="167.5" y="252.5">keycloak-1</text>
|
||||
<line class="node-detail-divider" x1="84.0" y1="273.5" x2="251.0" y2="273.5" />
|
||||
<text class="node-detail" x="86.0" y="290.5">refresh 요청을 받으면 DB 를 조회</text>
|
||||
<rect class="node-shape kind-service emphasis-primary role-target" data-evidence="48-51" x="70.0" y="225.5" width="150.0" height="71.0" rx="7" />
|
||||
<text class="node-label" x="145.0" y="252.5">keycloak-1</text>
|
||||
<line class="node-detail-divider" x1="84.0" y1="273.5" x2="206.0" y2="273.5" />
|
||||
<text class="node-detail" x="86.0" y="290.5">refresh 시 DB 조회</text>
|
||||
</g>
|
||||
<g id="node-jgroups-ping">
|
||||
<rect class="node-shape kind-datastore emphasis-muted role-support" data-evidence="44-46" x="454.5" y="73.0" width="150.0" height="64.0" /><ellipse class="node-shape kind-datastore emphasis-muted role-support" cx="529.5" cy="73.0" rx="75.0" ry="13.0" /><path class="storage-bottom" d="M 454.5 137.0 A 75.0 13.0 0 0 0 604.5 137.0" />
|
||||
<text class="node-label" x="529.5" y="103.0">JGROUPS_PING</text>
|
||||
<rect class="node-shape kind-datastore emphasis-muted role-support" data-evidence="44-46" x="380.0" y="73.0" width="150.0" height="64.0" /><ellipse class="node-shape kind-datastore emphasis-muted role-support" cx="455.0" cy="73.0" rx="75.0" ry="13.0" /><path class="storage-bottom" d="M 380.0 137.0 A 75.0 13.0 0 0 0 530.0 137.0" />
|
||||
<text class="node-label" x="455.0" y="103.0">JGROUPS_PING</text>
|
||||
</g>
|
||||
<g id="node-postgres">
|
||||
<rect class="node-shape kind-datastore emphasis-primary role-store" data-evidence="48-52" x="425.0" y="235.0" width="209.0" height="71.0" /><ellipse class="node-shape kind-datastore emphasis-primary role-store" cx="529.5" cy="235.0" rx="104.5" ry="13.0" /><path class="storage-bottom" d="M 425.0 306.0 A 104.5 13.0 0 0 0 634.0 306.0" />
|
||||
<text class="node-label" x="529.5" y="262.0">PostgreSQL</text>
|
||||
<line class="node-detail-divider" x1="439.0" y1="283.0" x2="620.0" y2="283.0" />
|
||||
<text class="node-detail" x="441.0" y="300.0">offline_flag='0' 이 온라인 세션</text>
|
||||
<rect class="node-shape kind-datastore emphasis-primary role-store" data-evidence="48-52" x="380.0" y="235.0" width="150.0" height="71.0" /><ellipse class="node-shape kind-datastore emphasis-primary role-store" cx="455.0" cy="235.0" rx="75.0" ry="13.0" /><path class="storage-bottom" d="M 380.0 306.0 A 75.0 13.0 0 0 0 530.0 306.0" />
|
||||
<text class="node-label" x="455.0" y="262.0">PostgreSQL</text>
|
||||
<line class="node-detail-divider" x1="394.0" y1="283.0" x2="516.0" y2="283.0" />
|
||||
<text class="node-detail" x="396.0" y="300.0">offline_flag='0'</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 7.5 KiB After Width: | Height: | Size: 7.4 KiB |
Reference in New Issue
Block a user