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>
62 lines
5.3 KiB
Plaintext
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
|