Files
document-haness/docs/clean-architecture-backend-template/final/evidence/raw/215-inbound-graphql-advanced-shaping-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

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