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>
61 lines
5.2 KiB
Plaintext
61 lines
5.2 KiB
Plaintext
Sub-scope 221-inbound-websocket-session-probes.txt (inbound-graphql) handler + inbound + outbound + session + lifecycle + ordering
|
|
revision=a24ece9cf797f7ea647e33bf846b115208ed1ba5
|
|
generatedAt=2026-08-30T09:51:57+00:00
|
|
|
|
=== OWNED FILES ===
|
|
9fe24d0819e26ccb6228d9c2f98c9cf305577d67 src/main/java/dev/caskeleton/handler/LateResponseTombstone.java 108
|
|
041dea15449e84e9fef5844623634f53be4001ae src/main/java/dev/caskeleton/handler/WebSocketCorrelationRegistry.java 162
|
|
27644e68458f42144429220e356f76e3e6c5a25d src/main/java/dev/caskeleton/handler/WebSocketHandlerContext.java 63
|
|
86c52c7373fe0e668f31b631851835587abb320f src/main/java/dev/caskeleton/handler/WebSocketHandlerResult.java 95
|
|
f853be3a2448fb6c067f5ad2564bf9d4a0263e80 src/main/java/dev/caskeleton/handler/WebSocketMessageHandler.java 39
|
|
84cccbb69e7270f314ed8b480fa84d360a84cbb2 src/main/java/dev/caskeleton/inbound/FragmentAssembler.java 117
|
|
acb0b08a0bff99bc75a080181cfed1346dd605c1 src/main/java/dev/caskeleton/inbound/FragmentAssemblyException.java 33
|
|
ef532ea0bd413f8eceda7cebe91219ca12ea96bc src/main/java/dev/caskeleton/lifecycle/CloseOrchestration.java 138
|
|
73919a74f97ca42b195594b7a6dafed347b0ed6c src/main/java/dev/caskeleton/lifecycle/HeartbeatPolicy.java 65
|
|
f8c85677d2c88e6235a71f90381905ff9af87c1c src/main/java/dev/caskeleton/ordering/GapDetector.java 98
|
|
1cdfab35b096dc05efc255abacc07cc261ed12c3 src/main/java/dev/caskeleton/ordering/OrderingProfile.java 54
|
|
c814f6a23d86326e4e6ea344980ce1872ef400d9 src/main/java/dev/caskeleton/ordering/StreamSequencer.java 54
|
|
593d42f9e13f5cc7da7979cb02a1657d1f38a473 src/main/java/dev/caskeleton/outbound/GlobalBufferBudget.java 89
|
|
b35e1610fb94c356c793a71f497240e47c9612c1 src/main/java/dev/caskeleton/outbound/OutboundDelivery.java 38
|
|
a7c339fb43a036c85d193644b1b005396b9f6616 src/main/java/dev/caskeleton/outbound/OutboundEnqueueResult.java 29
|
|
113f16e47a55a39a168caec6cad37fab20a07750 src/main/java/dev/caskeleton/outbound/OutboundMessage.java 49
|
|
190871d87b9a634bfae67524d7f16ca3734c2104 src/main/java/dev/caskeleton/outbound/OutboundPriority.java 43
|
|
7b4c1a62e216c5fa2b0f59ae5badb902be7a3acb src/main/java/dev/caskeleton/outbound/OutboundQueue.java 189
|
|
8f253694d2d7860db0bf7f2e87dd47af249635dd src/main/java/dev/caskeleton/outbound/OutboundQueueSnapshot.java 33
|
|
0c0d598663de76a3b7ce4ae8fea828e260791e59 src/main/java/dev/caskeleton/outbound/SerializedOutboundWriter.java 188
|
|
e065865229f6acd0ccba5df60910360aaf848807 src/main/java/dev/caskeleton/session/WebSocketSessionRegistry.java 163
|
|
6a3f393a1cf219b88e82ec5822301e99287926d8 src/test/java/dev/caskeleton/handler/LateResponseTombstoneTest.java 115
|
|
ba7f88a9fd76c6e5fd2088beae2cdb00e45eb239 src/test/java/dev/caskeleton/handler/WebSocketCorrelationRegistryTest.java 163
|
|
ac7e0b80d73af12318281be1742e6059f2f93ab6 src/test/java/dev/caskeleton/inbound/FragmentAssemblerTest.java 122
|
|
01b95ffecf823440537ed6934b2d207a304dedab src/test/java/dev/caskeleton/lifecycle/ConnectionLifecycleTest.java 168
|
|
f0b0705ab6fc722268053247324e5c4e5b51d752 src/test/java/dev/caskeleton/ordering/StreamOrderingTest.java 108
|
|
d5e466ba4dc18de847a407aff2e9ea2a282cad27 src/test/java/dev/caskeleton/outbound/OutboundQueueSnapshotTest.java 113
|
|
4f8bd0db114fad441460c8881aae89a26bb7015b src/test/java/dev/caskeleton/outbound/OutboundQueueTest.java 225
|
|
42d5bb451f3bfe9fb277f5d857b3517f094fbe74 src/test/java/dev/caskeleton/outbound/SerializedOutboundWriterTest.java 174
|
|
cd7152d6f4cef26d10acc48434e149fca8260e9e src/test/java/dev/caskeleton/session/WebSocketSessionRegistryTest.java 211
|
|
file_count=30
|
|
|
|
=== 배선 전수 (autoconf 패키지 참조 / 자기·autoconfigure 제외 main 참조 / test 참조 / LOC) ===
|
|
TYPE autoconf main_other test LOC
|
|
LateResponseTombstone 0 0 1 108
|
|
WebSocketCorrelationRegistry 0 0 1 162
|
|
WebSocketHandlerContext 0 1 0 63
|
|
WebSocketHandlerResult 0 1 1 95
|
|
WebSocketMessageHandler 0 0 0 39
|
|
FragmentAssembler 0 1 1 117
|
|
FragmentAssemblyException 0 2 1 33
|
|
GlobalBufferBudget 0 2 3 89
|
|
OutboundDelivery 0 3 3 38
|
|
OutboundEnqueueResult 0 2 3 29
|
|
OutboundMessage 0 3 3 49
|
|
OutboundPriority 0 3 3 43
|
|
OutboundQueue 0 2 3 189
|
|
OutboundQueueSnapshot 0 1 1 33
|
|
SerializedOutboundWriter 0 3 1 188
|
|
WebSocketSessionRegistry 0 0 1 163
|
|
CloseOrchestration 0 0 1 138
|
|
HeartbeatPolicy 0 0 1 65
|
|
GapDetector 0 0 1 98
|
|
OrderingProfile 0 0 1 54
|
|
StreamSequencer 0 0 1 54
|