Files
document-haness/docs/clean-architecture-backend-template/final/evidence/raw/224-inbound-websocket-advanced-stomp-probes.txt
T
DongHyeonkaandClaude Opus 5 b2963105a8 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>
2026-09-04 22:51:59 +09:00

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