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>
109 lines
10 KiB
Plaintext
109 lines
10 KiB
Plaintext
Sub-scope 215-inbound-graphql-advanced-shaping-probes.txt (inbound-graphql) advanced request shaping
|
|
revision=a24ece9cf797f7ea647e33bf846b115208ed1ba5
|
|
generatedAt=2026-08-30T08:44:01+00:00
|
|
|
|
=== OWNED FILES ===
|
|
904b6ff8f6dc823780948ca6cf85c714f39c8f68 src/main/java/dev/caskeleton/advanced/admin/GraphQlAdminPrincipal.java 37
|
|
8fbb64784e8c3b694dc0fbaa5784690f81176b54 src/main/java/dev/caskeleton/advanced/admin/GraphQlPersistedOperationAdminAuthorization.java 46
|
|
54d5a4bfdc31fa480d9e59bb93fe65ba70deaf32 src/main/java/dev/caskeleton/advanced/admin/GraphQlPersistedOperationAdminDeniedException.java 17
|
|
e32467520d8d8721e21d780921314172db550b4d src/main/java/dev/caskeleton/advanced/admin/GraphQlPersistedOperationAdminPort.java 47
|
|
fb080c607189ec858a62a905da7e1d4c29237c1b src/main/java/dev/caskeleton/advanced/admin/GraphQlPersistedOperationAdminService.java 161
|
|
d2be758b6df1d3bf185e902cbfe1f12b3b81459d src/main/java/dev/caskeleton/advanced/admin/GraphQlPersistedOperationAudit.java 43
|
|
0929217acb87e272821eb2516619da54fb44ab21 src/main/java/dev/caskeleton/advanced/admin/GraphQlPersistedOperationBlockCommand.java 31
|
|
4cda093465bb4123f3098fb0310a9e90cd1fa87b src/main/java/dev/caskeleton/advanced/admin/GraphQlPersistedOperationRemovalGate.java 45
|
|
4551f823ca1fb4bf130268c2615f1b23d8cab9d0 src/main/java/dev/caskeleton/advanced/admin/GraphQlPersistedOperationRemovalRejectedException.java 21
|
|
d3d48d6452ad3ffe3217b7c2dc49f6a5e5faf1ed src/main/java/dev/caskeleton/advanced/admin/GraphQlPersistedOperationUsage.java 29
|
|
50f0036bf2ef5366adec8e7448407d1a4b61718d src/main/java/dev/caskeleton/advanced/chaining/GraphQlChainedDataLoaderPolicy.java 25
|
|
8cf1521ec7d1a03ddc3b3f3c93163cb10c6be59c src/main/java/dev/caskeleton/advanced/chaining/GraphQlChainedDispatchConfigurer.java 72
|
|
446bc473e92c6f03062fb383d8da1ee243bcce85 src/main/java/dev/caskeleton/advanced/chaining/GraphQlChainedLoaderMetrics.java 52
|
|
a6709888c783549bd12c8d1e4e9c2a0ccd4e1cb8 src/main/java/dev/caskeleton/advanced/chaining/GraphQlDataLoaderCycleDetector.java 51
|
|
8217234c529de16c1aba2d763b59f154fe609309 src/main/java/dev/caskeleton/advanced/chaining/GraphQlDataLoaderDependencyCycleException.java 23
|
|
e23003344bb173e1d765e1ba891b89aa11949db9 src/main/java/dev/caskeleton/advanced/chaining/GraphQlDataLoaderDependencyGraph.java 44
|
|
aef04d66eb32a48bec859d41d887e95a071f6fef src/main/java/dev/caskeleton/advanced/get/GraphQlHttpDraftCompatibilityReport.java 45
|
|
9ff8dd30f4dcf507be09d97308aa122e56333099 src/main/java/dev/caskeleton/advanced/get/GraphQlHttpGetCachePolicy.java 47
|
|
7719f2df8f79e16bba1ccd4cf6f4780daff3f4c1 src/main/java/dev/caskeleton/advanced/get/GraphQlHttpGetCsrfPolicy.java 42
|
|
cee6dcbd24b17620aafea5d3d081ca0d96b41dbb src/main/java/dev/caskeleton/advanced/get/GraphQlHttpGetOperationPolicy.java 28
|
|
d9996cc418e59fd90f9461e09aae869671c6b84d src/main/java/dev/caskeleton/advanced/get/GraphQlHttpGetProfile.java 41
|
|
5e480f2838a7b9b14cd5798f5e882144fe8bf90e src/main/java/dev/caskeleton/advanced/get/GraphQlHttpGetRejectedException.java 21
|
|
21ee9fa203491c0bd61ea1c2d74ac747838f98a3 src/main/java/dev/caskeleton/advanced/get/GraphQlHttpGetRequestParser.java 53
|
|
5426cf939c8be9ce8bc463ca93a84cea10290ec4 src/main/java/dev/caskeleton/advanced/persisted/GraphQlPersistedOperation.java 100
|
|
111db5335392edd518da37f7951509a877bfa0ff src/main/java/dev/caskeleton/advanced/persisted/GraphQlPersistedOperationConflictException.java 23
|
|
61f16cb1b882420fe6c308c7f43792de67d6bb7d src/main/java/dev/caskeleton/advanced/persisted/GraphQlPersistedOperationId.java 23
|
|
676b78019849657a30299350969a647658e515df src/main/java/dev/caskeleton/advanced/persisted/GraphQlPersistedOperationInterceptor.java 66
|
|
c2edece2f78c484fd4986e0280591969e3bf071c src/main/java/dev/caskeleton/advanced/persisted/GraphQlPersistedOperationLookup.java 37
|
|
2b10e30f68d36154cb457595caa2a82e634e3926 src/main/java/dev/caskeleton/advanced/persisted/GraphQlPersistedOperationNotFoundException.java 25
|
|
607259aabd429c2210c9b4970af2c0c438dd85ab src/main/java/dev/caskeleton/advanced/persisted/GraphQlPersistedOperationPolicy.java 90
|
|
3cc2a8dde7d8f4a5630550bd0a341c5d06e34719 src/main/java/dev/caskeleton/advanced/persisted/GraphQlPersistedOperationRecordMapping.java 123
|
|
5273dfa46cc5ac8791fa797499df6422fd7116c8 src/main/java/dev/caskeleton/advanced/persisted/GraphQlPersistedOperationRegistry.java 39
|
|
fd37ca70285481b5d1657992e45fd01e7d64ccb0 src/main/java/dev/caskeleton/advanced/persisted/GraphQlPersistedOperationRejectedException.java 30
|
|
4fd21b901113d840e08b653c9e6a3abc01c84e27 src/main/java/dev/caskeleton/advanced/persisted/GraphQlPersistedOperationRequest.java 25
|
|
40682d7acc7ae8e4a8c5b621e6044b5b8f150a62 src/main/java/dev/caskeleton/advanced/persisted/GraphQlPersistedOperationStatus.java 31
|
|
f67ae6a6ef1f742cb57f64081466a8a1cf99d177 src/main/java/dev/caskeleton/advanced/persisted/GraphQlPersistedOperationTransition.java 80
|
|
f1d904117fe29e126ba4f68958b33ee434d6911f src/main/java/dev/caskeleton/advanced/persisted/GraphQlPersistedPreparsedBridge.java 44
|
|
23921050536a9c06ccbe2ae08705b4c92f1dfb0f src/main/java/dev/caskeleton/advanced/persisted/OperationalStoreGraphQlPersistedOperationRegistry.java 96
|
|
f8eab8e73ef747162c224a6c09c81989c7aaec71 src/main/java/dev/caskeleton/advanced/replay/GraphQlReplayAuthorization.java 49
|
|
5933591bf239611476267bd76af58f4a47997e37 src/main/java/dev/caskeleton/advanced/replay/GraphQlReplayAuthorizationException.java 17
|
|
409454b511a4154ab79200267643feefb0b4a854 src/main/java/dev/caskeleton/advanced/replay/GraphQlReplayGapException.java 22
|
|
4df1e5234206fbeef4e6c8249d8bd02561095d9c src/main/java/dev/caskeleton/advanced/replay/GraphQlReplayHistoryLostException.java 25
|
|
146cfb37e28ec17f270b8edb3189b3272787010a src/main/java/dev/caskeleton/advanced/replay/GraphQlReplayPosition.java 23
|
|
a73528240c30293916de55f4df25ca3c81577772 src/main/java/dev/caskeleton/advanced/replay/GraphQlReplaySource.java 41
|
|
f7f6edb42b5694f55353f3d84b473cf6ce4a791a src/main/java/dev/caskeleton/advanced/replay/GraphQlSnapshotLiveHandoff.java 38
|
|
9d1029f82c769653630e4ac6a9cef70a0095e918 src/main/java/dev/caskeleton/advanced/replay/GraphQlSubscriptionCursor.java 95
|
|
4a1c7c949251220895a5e45bc53c8972bff88ed9 src/test/java/dev/caskeleton/advanced/admin/GraphQlPersistedOperationRemovalGateTest.java 224
|
|
dadb94124acd61ef60ead1d12dd95ba20d3ecf75 src/test/java/dev/caskeleton/advanced/chaining/GraphQlDataLoaderCycleDetectorTest.java 111
|
|
78e0b0d79108e2bb2ad18aafad52926c35a741b5 src/test/java/dev/caskeleton/advanced/get/GraphQlHttpGetOperationPolicyTest.java 100
|
|
899dfe44858d832d38d75303f884f5bb415db08d src/test/java/dev/caskeleton/advanced/persisted/GraphQlPersistedOperationInterceptorTest.java 161
|
|
2ee7874d4ed401214d03c9b04777184a3f3e4a8b src/test/java/dev/caskeleton/advanced/persisted/GraphQlPersistedOperationRegistryTest.java 98
|
|
6de6744c0d825cae79498ee61376add05044ccf1 src/test/java/dev/caskeleton/advanced/persisted/GraphQlPersistedOperationStorageDirectionTest.java 182
|
|
6922d77dac5fd1a20b7a1ac7b3f5aceed11b4def src/test/java/dev/caskeleton/advanced/replay/GraphQlSnapshotLiveHandoffTest.java 153
|
|
file_count=53
|
|
|
|
=== 배선 전수 (autoconf 패키지 참조 / 자기·autoconfigure 제외 main 참조 / test 참조 / LOC) ===
|
|
TYPE autoconf main_other test LOC
|
|
GraphQlPersistedOperation 0 9 6 100
|
|
GraphQlPersistedOperationConflictException 0 4 4 23
|
|
GraphQlPersistedOperationId 0 10 6 23
|
|
GraphQlPersistedOperationInterceptor 0 0 1 66
|
|
GraphQlPersistedOperationLookup 0 1 1 37
|
|
GraphQlPersistedOperationNotFoundException 0 3 3 25
|
|
GraphQlPersistedOperationPolicy 0 1 1 90
|
|
GraphQlPersistedOperationRecordMapping 0 1 1 123
|
|
GraphQlPersistedOperationRegistry 0 3 2 39
|
|
GraphQlPersistedOperationRejectedException 0 3 1 30
|
|
GraphQlPersistedOperationRequest 0 2 1 25
|
|
GraphQlPersistedOperationStatus 0 4 4 31
|
|
GraphQlPersistedOperationTransition 0 4 4 80
|
|
GraphQlPersistedPreparsedBridge 0 0 1 44
|
|
OperationalStoreGraphQlPersistedOperationRegistry 0 0 1 96
|
|
GraphQlHttpDraftCompatibilityReport 0 0 1 45
|
|
GraphQlHttpGetCachePolicy 0 0 1 47
|
|
GraphQlHttpGetCsrfPolicy 0 0 1 42
|
|
GraphQlHttpGetOperationPolicy 0 0 1 28
|
|
GraphQlHttpGetProfile 0 3 1 41
|
|
GraphQlHttpGetRejectedException 0 4 1 21
|
|
GraphQlHttpGetRequestParser 0 0 1 53
|
|
GraphQlReplayAuthorization 0 0 1 49
|
|
GraphQlReplayAuthorizationException 0 1 1 17
|
|
GraphQlReplayGapException 0 1 1 22
|
|
GraphQlReplayHistoryLostException 0 1 1 25
|
|
GraphQlReplayPosition 0 3 1 23
|
|
GraphQlReplaySource 0 0 1 41
|
|
GraphQlSnapshotLiveHandoff 0 0 1 38
|
|
GraphQlSubscriptionCursor 0 0 1 95
|
|
GraphQlChainedDataLoaderPolicy 0 1 1 25
|
|
GraphQlChainedDispatchConfigurer 0 0 1 72
|
|
GraphQlChainedLoaderMetrics 0 0 1 52
|
|
GraphQlDataLoaderCycleDetector 0 1 1 51
|
|
GraphQlDataLoaderDependencyCycleException 0 2 1 23
|
|
GraphQlDataLoaderDependencyGraph 0 2 1 44
|
|
GraphQlAdminPrincipal 0 2 1 37
|
|
GraphQlPersistedOperationAdminAuthorization 0 1 1 46
|
|
GraphQlPersistedOperationAdminDeniedException 0 1 1 17
|
|
GraphQlPersistedOperationAdminPort 0 1 1 47
|
|
GraphQlPersistedOperationAdminService 0 0 1 161
|
|
GraphQlPersistedOperationAudit 0 2 2 43
|
|
GraphQlPersistedOperationBlockCommand 0 1 1 31
|
|
GraphQlPersistedOperationRemovalGate 0 1 1 45
|
|
GraphQlPersistedOperationRemovalRejectedException 0 2 1 21
|
|
GraphQlPersistedOperationUsage 0 2 1 29
|