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>
105 lines
9.6 KiB
Plaintext
105 lines
9.6 KiB
Plaintext
Sub-scope 224-inbound-websocket-advanced-stomp-probes.txt (inbound-graphql) advanced stomp + cluster + resume
|
|
revision=a24ece9cf797f7ea647e33bf846b115208ed1ba5
|
|
generatedAt=2026-08-30T09:51:58+00:00
|
|
|
|
=== OWNED FILES ===
|
|
51e1d958c31dfe528dd65acc07973a106525468d src/main/java/dev/caskeleton/advanced/cluster/ExternalSessionIndex.java 52
|
|
6a4e96a9543653e461b0c4653845bddee390db21 src/main/java/dev/caskeleton/advanced/cluster/ExternalSessionSummary.java 64
|
|
f5ed4f9d4e7ac1789a767beebc18710aeca35442 src/main/java/dev/caskeleton/advanced/cluster/FanoutDeduplicator.java 100
|
|
2e5d5c345841bdd49f9fbec5ff563dece17bd67e src/main/java/dev/caskeleton/advanced/cluster/FanoutEnvelope.java 75
|
|
0d107aa1f59136b44f3af960d8648e9771d1a9e8 src/main/java/dev/caskeleton/advanced/cluster/MessagingFanoutAdapter.java 102
|
|
300c9b380eaaf31f87043df7b2021a53c0ce9be6 src/main/java/dev/caskeleton/advanced/cluster/PortBackedExternalSessionIndex.java 108
|
|
14045c8794c3c926784f05ef476abb714e795299 src/main/java/dev/caskeleton/advanced/cluster/ReplayCursor.java 64
|
|
4a1d8b21e12054af3f3a63e2767d27fae9f01dfc src/main/java/dev/caskeleton/advanced/cluster/ReplayEventMapper.java 132
|
|
186681a2e8bbcecae7ccf7f73c5f6e50de7857d5 src/main/java/dev/caskeleton/advanced/cluster/ReplayRecord.java 37
|
|
b2c47ec6235fc1df5c275a29dae9238237edb045 src/main/java/dev/caskeleton/advanced/resume/PortBackedReplayAvailability.java 42
|
|
4f3fb38e49054331299958c3f76aba6e4ee92588 src/main/java/dev/caskeleton/advanced/resume/ReplayAvailability.java 35
|
|
424ff3e1fa015e7cf4a0472ac21292384c56f30f src/main/java/dev/caskeleton/advanced/resume/ResumeCoordinator.java 111
|
|
5d7bbca890a7ff94648e0fcfe062059ee95a3dac src/main/java/dev/caskeleton/advanced/resume/ResumeDecision.java 87
|
|
d777d59214793e4f8314fd788861822c5ea5d676 src/main/java/dev/caskeleton/advanced/resume/ResumeTokenCodec.java 217
|
|
67e8aeec1e46eac58aa7a18700cce195f6c6392c src/main/java/dev/caskeleton/advanced/resume/ResumeTokenKeyRing.java 87
|
|
99a80634b0425006a5ffcdf4fd74c20969f9b9b5 src/main/java/dev/caskeleton/advanced/resume/ResumeTokenOutcome.java 56
|
|
695f7a0c096963f054b7275df703e1b6e9723027 src/main/java/dev/caskeleton/advanced/resume/ResumeTokenPayload.java 83
|
|
e91b46fecc71eabc928e16c10fa8feb8a51d0687 src/main/java/dev/caskeleton/advanced/stomp/SimpleBrokerProfile.java 59
|
|
c4cc1f3e64f605b532f871ecbcde0ac56fde2e84 src/main/java/dev/caskeleton/advanced/stomp/StompAckMode.java 76
|
|
7b0b5d1a884680fd3ffb8ac229208d8400993c7a src/main/java/dev/caskeleton/advanced/stomp/StompAckPolicy.java 79
|
|
b31ae4f8bfdf4a448ca0327c001589e6ff83e630 src/main/java/dev/caskeleton/advanced/stomp/StompAuthorizationDecision.java 34
|
|
fdbeba81c12499117db2f0bc3801c9233dea7f69 src/main/java/dev/caskeleton/advanced/stomp/StompAuthorizationException.java 27
|
|
9929d29ec652312c304a5d7433713d6d7457af24 src/main/java/dev/caskeleton/advanced/stomp/StompAuthorizationPolicy.java 93
|
|
c74a72a8767318adbb61d3a086916d841ee1e6fa src/main/java/dev/caskeleton/advanced/stomp/StompBrokerExclusivity.java 74
|
|
e08778c9ed98b5a4d9566f0d98d64b6afe4c18c2 src/main/java/dev/caskeleton/advanced/stomp/StompConfiguration.java 52
|
|
1fadbc28c228c9dd27f09ef3e18d9cdb50edef13 src/main/java/dev/caskeleton/advanced/stomp/StompDefaultsConfiguration.java 58
|
|
6c3788f518efd3c325a520115fc72aaebd9a8d28 src/main/java/dev/caskeleton/advanced/stomp/StompDestinationCatalog.java 129
|
|
7f668c6f399f8f3d6841f7c7b8911f48ed4c7d73 src/main/java/dev/caskeleton/advanced/stomp/StompDestinationRole.java 14
|
|
b3630b24da73ada0a34a44e5bdab9912d8c3604b src/main/java/dev/caskeleton/advanced/stomp/StompEvidence.java 71
|
|
a8cf7d2880e9b9592f2a0f6742431e331b94d8ab src/main/java/dev/caskeleton/advanced/stomp/StompFrameRequest.java 35
|
|
b84c563b96bfdde7c32824b9011c1836582e5f85 src/main/java/dev/caskeleton/advanced/stomp/StompOperation.java 17
|
|
c0efc6e4819235e0fe14468312f0f6bd17dbbb30 src/main/java/dev/caskeleton/advanced/stomp/StompProfile.java 118
|
|
7b68f2d63018b45e1ed827968d9979171bbe903f src/main/java/dev/caskeleton/advanced/stomp/StompRefusal.java 29
|
|
843a0aa7e33ec6e5f80f7f581dd256a968299bdb src/main/java/dev/caskeleton/advanced/stomp/StompSecurityInterceptor.java 96
|
|
1e1f64ba6ec001c82a74f5ec793d79926cab3f19 src/main/java/dev/caskeleton/advanced/stomp/rabbit/MultiNodeUserDestination.java 98
|
|
9422530a75e8d4ed4f0aca931e4e7907980dcd64 src/main/java/dev/caskeleton/advanced/stomp/rabbit/RabbitBrokerRelayConfiguration.java 72
|
|
ca2c2feff74fc8f6b0d0c85ae85e2dbae961c8ac src/main/java/dev/caskeleton/advanced/stomp/rabbit/RabbitBrokerRelayProfile.java 78
|
|
59c9a8eb80fcb448022e5601fa13009a12ce06c1 src/main/java/dev/caskeleton/advanced/stomp/rabbit/UserDestinationAction.java 21
|
|
f092cb5670fa0239acd75a39913c3304dd9dd5df src/main/java/dev/caskeleton/advanced/stomp/rabbit/UserDestinationPolicy.java 50
|
|
88dd332841bc3d860c6f871fe7b24e17d72359b1 src/main/java/dev/caskeleton/advanced/stomp/rabbit/UserDestinationRouting.java 42
|
|
588d5e408de4911eef340979db05bb749034bc0b src/main/java/dev/caskeleton/advanced/stomp/rabbit/UserSessionLocation.java 22
|
|
52894bce66a22c37f6f63c539a85f69a255c51a6 src/test/java/dev/caskeleton/advanced/cluster/ClusterFanoutTest.java 163
|
|
9247ec46084ccbbeda2a1d7b87234ef83782d1b0 src/test/java/dev/caskeleton/advanced/cluster/PortBackedBridgeTest.java 328
|
|
933ceed4f1a34f1e83c71383a14e377d150220e0 src/test/java/dev/caskeleton/advanced/cluster/ReplayCursorTest.java 180
|
|
9fc5d363b62c5cd4e494c8411bc1859cef0d8500 src/test/java/dev/caskeleton/advanced/resume/ResumeDecisionTest.java 189
|
|
179e13688e4e2ed0d9b290c6bf7816fe98aa77dc src/test/java/dev/caskeleton/advanced/resume/ResumeTokenTest.java 206
|
|
ff4c323ac97f610360b056fad29413ca88885601 src/test/java/dev/caskeleton/advanced/stomp/SimpleBrokerProfileTest.java 62
|
|
ce91de7c4a6c907e10a63a48ee7db31346450947 src/test/java/dev/caskeleton/advanced/stomp/StompAuthorizationPolicyTest.java 143
|
|
03e79c48db495afffd1545b346d0495375fa7286 src/test/java/dev/caskeleton/advanced/stomp/StompBrokerExclusivityTest.java 62
|
|
198587b0824591db739a6715900bc8c696421c65 src/test/java/dev/caskeleton/advanced/stomp/StompDestinationCatalogTest.java 92
|
|
91e296fa596ad731bdac3a23d2387af2845471b4 src/test/java/dev/caskeleton/advanced/stomp/StompEvidenceTest.java 105
|
|
da12cf2138f1ccf04a967f1595e42242c4919e44 src/test/java/dev/caskeleton/advanced/stomp/StompProfileTest.java 74
|
|
09702be14a1326692de68a9ff4adcf4e960e48bf src/test/java/dev/caskeleton/advanced/stomp/rabbit/MultiNodeUserDestinationTest.java 126
|
|
6ead249db59bbc9ca09afdce518be28d7a36ae5d src/test/java/dev/caskeleton/advanced/stomp/rabbit/RabbitBrokerRelayProfileTest.java 65
|
|
file_count=54
|
|
|
|
=== 배선 전수 (autoconf 패키지 참조 / 자기·autoconfigure 제외 main 참조 / test 참조 / LOC) ===
|
|
TYPE autoconf main_other test LOC
|
|
SimpleBrokerProfile 0 0 1 59
|
|
StompAckMode 0 2 1 76
|
|
StompAckPolicy 0 0 1 79
|
|
StompAuthorizationDecision 0 2 1 34
|
|
StompAuthorizationException 0 1 0 27
|
|
StompAuthorizationPolicy 0 2 1 93
|
|
StompBrokerExclusivity 0 2 1 74
|
|
StompConfiguration 0 0 0 52
|
|
StompDefaultsConfiguration 0 2 0 58
|
|
StompDestinationCatalog 0 2 2 129
|
|
StompDestinationRole 0 2 1 14
|
|
StompEvidence 0 1 1 71
|
|
StompFrameRequest 0 2 1 35
|
|
StompOperation 0 4 2 17
|
|
StompProfile 0 4 3 118
|
|
StompRefusal 0 4 1 29
|
|
StompSecurityInterceptor 0 2 0 96
|
|
MultiNodeUserDestination 0 1 1 98
|
|
RabbitBrokerRelayConfiguration 0 0 0 72
|
|
RabbitBrokerRelayProfile 0 1 1 78
|
|
UserDestinationAction 0 1 1 21
|
|
UserDestinationPolicy 0 2 1 50
|
|
UserDestinationRouting 0 1 0 42
|
|
UserSessionLocation 0 1 0 22
|
|
ExternalSessionIndex 0 1 0 52
|
|
ExternalSessionSummary 0 2 2 64
|
|
FanoutDeduplicator 0 0 1 100
|
|
FanoutEnvelope 0 2 2 75
|
|
MessagingFanoutAdapter 0 0 1 102
|
|
PortBackedExternalSessionIndex 0 0 1 108
|
|
ReplayCursor 0 0 1 64
|
|
ReplayEventMapper 0 0 1 132
|
|
ReplayRecord 0 1 1 37
|
|
PortBackedReplayAvailability 0 0 1 42
|
|
ReplayAvailability 0 2 1 35
|
|
ResumeCoordinator 0 0 1 111
|
|
ResumeDecision 0 1 1 87
|
|
ResumeTokenCodec 0 0 1 217
|
|
ResumeTokenKeyRing 0 1 1 87
|
|
ResumeTokenOutcome 0 2 1 56
|
|
ResumeTokenPayload 0 2 2 83
|