Files
document-haness/docs/clean-architecture-backend-template/final/evidence/raw/220-inbound-websocket-protocol-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

62 lines
5.3 KiB
Plaintext

Sub-scope 220-inbound-websocket-protocol-probes.txt (inbound-graphql) protocol + codec + handshake + servlet + webflux
revision=a24ece9cf797f7ea647e33bf846b115208ed1ba5
generatedAt=2026-08-30T09:51:56+00:00
=== OWNED FILES ===
67c8e3225019a305fb3080f79015a3ef7cdc1d99 src/main/java/dev/caskeleton/codec/StrictWebSocketJsonCodec.java 145
8dc8b0a8a745c1ff1fe1280d42b258f54f199d2c src/main/java/dev/caskeleton/codec/WebSocketDecodeException.java 34
67d87c271850e3da9a4dc1626e2b096a4871818b src/main/java/dev/caskeleton/codec/WebSocketWireTypeManifest.java 61
4cd5ad3775ac0f5a8dd78f83c3e1e1842cc4cb9d src/main/java/dev/caskeleton/handshake/HandshakeAdmissionPipeline.java 145
e211a0cbd6219af2fca7072fb7c13e5a8f20e1a8 src/main/java/dev/caskeleton/handshake/HandshakeDecision.java 61
31afb38d703c4e33456f57ed534e7fbf49b241c5 src/main/java/dev/caskeleton/handshake/HandshakeRequest.java 41
e5fbda7453456be7b900f5134904c049823525e4 src/main/java/dev/caskeleton/protocol/WebSocketCatalogFingerprint.java 64
844d524db94805cbe9b741d2aca9cff81127e854 src/main/java/dev/caskeleton/protocol/WebSocketCodecProfile.java 17
693a6bce0dafe8ecc5c25b90fe50933fc15b0a95 src/main/java/dev/caskeleton/protocol/WebSocketCorrelationId.java 36
95de3d7c295c63a021c34bd53e76ddb7886316ba src/main/java/dev/caskeleton/protocol/WebSocketEnvelope.java 150
52af68ea137a5ee9e434e09d7c376e3969ea7d70 src/main/java/dev/caskeleton/protocol/WebSocketMessageCatalog.java 100
34a39e0ec6dd038c07cdc29ac19dcb0cb53e7446 src/main/java/dev/caskeleton/protocol/WebSocketMessageDescriptor.java 40
e12060f036406fa2806432849cc24d90c9ce76c5 src/main/java/dev/caskeleton/protocol/WebSocketMessageDirection.java 36
91389cd2ebf08bae7ce4c8f3cf9494249fe7a0fa src/main/java/dev/caskeleton/protocol/WebSocketMessageFamily.java 64
0389e2e1947193fd32ac22b88de5f42746dcc5ad src/main/java/dev/caskeleton/protocol/WebSocketMessageId.java 28
96d655cbce3a75815c2f9fe18e1b2d17f8fcc4de src/main/java/dev/caskeleton/protocol/WebSocketMessageType.java 62
8c1197aebc290273122d9cbb0c0bf2d8491b3df2 src/main/java/dev/caskeleton/protocol/WebSocketProtocolProfile.java 101
e26518c27039ff233421810ea5de9d0d539c5b55 src/main/java/dev/caskeleton/protocol/WebSocketSchemaVersion.java 52
801f5ab2f3b43f9b44364f7804e3d618fbb83bc4 src/main/java/dev/caskeleton/servlet/PlatformWebSocketHandler.java 205
f2a28aef42c6085e47e552e180f53c98d877ff89 src/main/java/dev/caskeleton/servlet/ServletFrameSink.java 45
e006fd57cb28d62a3af796966ac84004f2f4b420 src/main/java/dev/caskeleton/webflux/ReactiveFrameSink.java 82
cfdac02c3ef33a5dae1a9aac59c89fd55584420a src/main/java/dev/caskeleton/webflux/WebSocketDataBufferLifecycle.java 106
3abe2c27e8c452925f0fdf65267eab358f359210 src/main/java/dev/caskeleton/webflux/WebSocketDataBufferPolicy.java 62
1a624d41a9284710970a2ec735db60471fe81680 src/test/java/dev/caskeleton/codec/WebSocketJsonWireManifestTest.java 197
3bb7ade10bfa22097e1d8a675963405ca9672caf src/test/java/dev/caskeleton/handshake/HandshakeAdmissionPipelineTest.java 352
6beca1ae5b97e5047737aa985b8d43163cfab74e src/test/java/dev/caskeleton/protocol/WebSocketEnvelopeTest.java 186
d43d92179d6ab88d327084d4c984e3f843933751 src/test/java/dev/caskeleton/protocol/WebSocketMessageDescriptorTest.java 165
797ba8600a05e10a0062677d58a6ff73962445e3 src/test/java/dev/caskeleton/protocol/WebSocketProtocolProfileTest.java 92
e0df1531610485caaab4135acfd5336aed7e7b31 src/test/java/dev/caskeleton/webflux/WebSocketDataBufferLifecycleTest.java 127
file_count=29
=== 배선 전수 (autoconf 패키지 참조 / 자기·autoconfigure 제외 main 참조 / test 참조 / LOC) ===
TYPE autoconf main_other test LOC
WebSocketCatalogFingerprint 0 1 0 64
WebSocketCodecProfile 0 1 1 17
WebSocketCorrelationId 0 3 3 36
WebSocketEnvelope 0 0 1 150
WebSocketMessageCatalog 0 5 5 100
WebSocketMessageDescriptor 0 5 5 40
WebSocketMessageDirection 0 1 5 36
WebSocketMessageFamily 0 6 6 64
WebSocketMessageId 0 8 8 28
WebSocketMessageType 0 16 11 62
WebSocketProtocolProfile 0 3 3 101
WebSocketSchemaVersion 0 2 6 52
StrictWebSocketJsonCodec 0 0 1 145
WebSocketDecodeException 0 3 2 34
WebSocketWireTypeManifest 0 2 2 61
HandshakeAdmissionPipeline 0 0 1 145
HandshakeDecision 0 1 1 61
HandshakeRequest 0 1 1 41
PlatformWebSocketHandler 0 0 1 205
ServletFrameSink 0 1 0 45
ReactiveFrameSink 0 0 0 82
WebSocketDataBufferLifecycle 0 0 1 106
WebSocketDataBufferPolicy 0 1 1 62