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

96 lines
8.5 KiB
Plaintext

Sub-scope 211-inbound-graphql-http-probes.txt (inbound-graphql) http + error + observation
revision=a24ece9cf797f7ea647e33bf846b115208ed1ba5
generatedAt=2026-08-30T08:37:06+00:00
=== OWNED FILES ===
a64216c96a7f8832a1765b91e8f36fe84622e970 src/main/java/dev/caskeleton/error/GraphQlErrorCategory.java 40
7e94fb6683f7bf73ee98812f6b4695c8bcd407c3 src/main/java/dev/caskeleton/error/GraphQlErrorCode.java 43
5e71c9adec90157d1d27125f5c7102232c68151c src/main/java/dev/caskeleton/error/GraphQlErrorContext.java 40
e4b1a4a9db692368366a2ef4caa376b08c71cb09 src/main/java/dev/caskeleton/error/GraphQlExceptionResolver.java 92
79950e05fbf4c0bb6d80b73316db99943e4b15b1 src/main/java/dev/caskeleton/error/GraphQlFailureBoundary.java 21
842db2e3571ea12cc3af423662c21e9d718d8efc src/main/java/dev/caskeleton/error/GraphQlInternalErrorMasker.java 75
aa2df6333a5794fc93c56bf78d568a6cd275c50f src/main/java/dev/caskeleton/error/GraphQlNullabilityContract.java 67
93b94cc0f7447014685c755a409e39ce32b255aa src/main/java/dev/caskeleton/error/GraphQlRequestErrorMapper.java 57
1cc8f013abdc9739477b64883f5f99d9c91a7412 src/main/java/dev/caskeleton/error/GraphQlSubscriptionExceptionResolver.java 62
8ccd52a69fad61dc942047763bec62273a5e415a src/main/java/dev/caskeleton/error/GraphQlWireError.java 102
6e9f4cd0c4d8354eb7f9c1bf3cf7da77610f3fac src/main/java/dev/caskeleton/http/GraphQlAcceptHeader.java 151
97840ca041c94512d6585c511d8a2bc95d47c66b src/main/java/dev/caskeleton/http/GraphQlExecutionOutcome.java 42
fb3d7f3ef657b4c58590a10ab750c70e2087cdf3 src/main/java/dev/caskeleton/http/GraphQlExtensionsPolicy.java 68
f70cb077933f8b417dae768607a21bf528c09173 src/main/java/dev/caskeleton/http/GraphQlHttpContractException.java 39
61133b5aeb1bbc70d222d0c34076ea759b6ed1fe src/main/java/dev/caskeleton/http/GraphQlHttpExecutor.java 24
2a86eaa8228c2e2fe8fb5aff25e6beb89fc502e9 src/main/java/dev/caskeleton/http/GraphQlHttpOutcome.java 53
fe000f8f28f76e3b44c7cef2ede2d24b09ab481d src/main/java/dev/caskeleton/http/GraphQlHttpProfile.java 89
e37342c1440b9d8c979e223de0fd29adb8fcc0d1 src/main/java/dev/caskeleton/http/GraphQlHttpRequestEnvelope.java 46
54978717ef7dcf4e4225d674f7189a06f79e2ade src/main/java/dev/caskeleton/http/GraphQlHttpResponse.java 44
d316d49cfe9c32e681685f8c4c33bf2c15f675c2 src/main/java/dev/caskeleton/http/GraphQlHttpResponseFactory.java 84
546105a180afb35a02140375cedb5b7b4baeecf6 src/main/java/dev/caskeleton/http/GraphQlHttpResponsePolicy.java 46
7f283686a734f91bedd63d758045b317fed5ebec src/main/java/dev/caskeleton/http/GraphQlHttpStatusMapper.java 42
56a9fb402bbd27e23c0b1dad66f4a6b7fbb2ff56 src/main/java/dev/caskeleton/http/GraphQlJsonStructurePolicy.java 100
c3b9a6ca94d1f9f469d9ae09e663bd198bb83238 src/main/java/dev/caskeleton/http/GraphQlJsonValues.java 56
20d965e9aa22c82c30028c2ad2a0a8e707cbfdb0 src/main/java/dev/caskeleton/http/GraphQlMediaTypes.java 100
9a27234cd532a62719e81207ed179a0a50e7ed83 src/main/java/dev/caskeleton/http/GraphQlRequestEnvelopeValidator.java 152
958bd528a42a777ac1c01d5278fd61454ee7c5b2 src/main/java/dev/caskeleton/http/GraphQlRequestFormatException.java 22
6b0420336260c3296eb6b8399b4f176c4831b1c8 src/main/java/dev/caskeleton/http/GraphQlRequestSize.java 88
378ae9d85df73d7a25c9d1925d0690532a075ac5 src/main/java/dev/caskeleton/http/GraphQlRequestTooLargeException.java 51
87582f3b187f81238ca1a091978267294ee82d75 src/main/java/dev/caskeleton/observation/GraphQlDataLoaderObservationConvention.java 67
81b48d755a62d01d7923d66353af4d78b66120b2 src/main/java/dev/caskeleton/observation/GraphQlMetricCardinalityPolicy.java 66
7458b0b338fea237093fefe9afd4b77c4d93e89d src/main/java/dev/caskeleton/observation/GraphQlObservationContractException.java 31
7ea96914b5ff2783d0907417d1efd5e9416a249c src/main/java/dev/caskeleton/observation/GraphQlObservationNames.java 22
6be9e5abea0369240bce973a6aa409490ec91e7d src/main/java/dev/caskeleton/observation/GraphQlOperationNameCardinality.java 94
dca256ada4a466332da8e76c91741af8b33c8e88 src/main/java/dev/caskeleton/observation/GraphQlProfilerAccessPolicy.java 57
cdd5263b3cd5ec7719ef917b54444492237ae901 src/main/java/dev/caskeleton/observation/GraphQlRequestObservationConvention.java 180
111986d91fa21149cbf5da95ec1ba8be61eef036 src/main/java/dev/caskeleton/observation/GraphQlResolverObservationConvention.java 57
03dbe544251d1c19f456faf2125000274f7242bf src/main/java/dev/caskeleton/observation/GraphQlSensitiveAttributeFilter.java 68
e1d762502dc1061af885d1d25bf9a58c2c160482 src/test/java/dev/caskeleton/error/GraphQlExceptionResolverTest.java 130
19807dec80b2bb7f8f0d7184e847a5ac89729dbd src/test/java/dev/caskeleton/error/GraphQlNullPropagationContractTest.java 97
255157f40451e6b2a8af80817ce654b4ea579b9a src/test/java/dev/caskeleton/error/GraphQlWireErrorTest.java 81
43a11b8619fcbfd6209aa6eadbfc7ed9dcd75f6a src/test/java/dev/caskeleton/http/GraphQlAcceptNegotiationTest.java 126
84172419facea986a5d2ec7144c25f1608bb33a4 src/test/java/dev/caskeleton/http/GraphQlHttpProfileTest.java 78
b537c44fcae71eb0a2f92577ac65e20ff0d2310a src/test/java/dev/caskeleton/http/GraphQlHttpStatusMapperTest.java 96
77b18d0a6cfd4ff823979a25f8496d5f2e15ee0a src/test/java/dev/caskeleton/http/GraphQlRequestBoundsTest.java 173
de92d9abb06401f27647749b66296e6b1bb1a049 src/test/java/dev/caskeleton/http/GraphQlRequestEnvelopeValidatorTest.java 134
8a0a51aff3eabd25d47e1b0168a1c06ac9e123ab src/test/java/dev/caskeleton/observation/GraphQlMetricCardinalityPolicyTest.java 162
d79b5b8beecedf2f1ae20773c0616be9f495b24c src/test/java/dev/caskeleton/observation/GraphQlOperationNameCardinalityTest.java 129
file_count=48
=== 배선 전수 (autoconf 패키지 참조 / 자기·autoconfigure 제외 main 참조 / test 참조 / LOC) ===
TYPE autoconf main_other test LOC
GraphQlAcceptHeader 0 1 1 151
GraphQlExecutionOutcome 0 1 3 42
GraphQlExtensionsPolicy 0 2 2 68
GraphQlHttpContractException 0 4 5 39
GraphQlHttpExecutor 0 0 1 24
GraphQlHttpOutcome 0 8 3 53
GraphQlHttpProfile 2 2 4 89
GraphQlHttpRequestEnvelope 0 3 3 46
GraphQlHttpResponse 0 2 2 44
GraphQlHttpResponseFactory 0 0 2 84
GraphQlHttpResponsePolicy 0 2 1 46
GraphQlHttpStatusMapper 0 1 2 42
GraphQlJsonStructurePolicy 4 2 1 100
GraphQlJsonValues 0 2 0 56
GraphQlMediaTypes 0 3 5 100
GraphQlRequestEnvelopeValidator 0 0 3 152
GraphQlRequestFormatException 0 4 2 22
GraphQlRequestSize 0 3 2 88
GraphQlRequestTooLargeException 0 3 2 51
GraphQlErrorCategory 0 9 4 40
GraphQlErrorCode 0 7 4 43
GraphQlErrorContext 0 12 6 40
GraphQlExceptionResolver 4 3 1 92
GraphQlFailureBoundary 0 1 1 21
GraphQlInternalErrorMasker 0 2 3 75
GraphQlNullabilityContract 0 0 1 67
GraphQlRequestErrorMapper 0 0 1 57
GraphQlSubscriptionExceptionResolver 0 0 1 62
GraphQlWireError 0 12 5 102
GraphQlDataLoaderObservationConvention 3 0 1 67
GraphQlMetricCardinalityPolicy 4 1 1 66
GraphQlObservationContractException 0 1 1 31
GraphQlObservationNames 0 3 3 22
GraphQlOperationNameCardinality 4 1 3 94
GraphQlProfilerAccessPolicy 0 0 1 57
GraphQlRequestObservationConvention 4 1 3 180
GraphQlResolverObservationConvention 3 0 1 57
GraphQlSensitiveAttributeFilter 6 4 3 68