Sub-scope 02 (inbound-graphql) schema + scalar + compat
revision=a24ece9cf797f7ea647e33bf846b115208ed1ba5
generatedAt=2026-08-30T08:31:40+00:00

=== OWNED FILES ===
e47efeefc3586f233c7d348c8f185a621723859e src/main/java/dev/caskeleton/compat/GraphQlChangeKind.java 285
f47a29a0236d8ae96babe444de03f60a457681c2 src/main/java/dev/caskeleton/compat/GraphQlClientOwnerApproval.java 40
f1c0d907cf440e0cd408c779d3b5b9817bed6c19 src/main/java/dev/caskeleton/compat/GraphQlCompatibilityImpact.java 20
1476785faadce59d8a6f68a9b29d6de7ed7fee91 src/main/java/dev/caskeleton/compat/GraphQlCompatibilityPolicy.java 63
a3a72d7526427ed25a9e77b637f12cb37b763a93 src/main/java/dev/caskeleton/compat/GraphQlCompatibilityReport.java 50
79f2b155be11b607a4b734092efd14052540c45f src/main/java/dev/caskeleton/compat/GraphQlDeprecationGate.java 91
8258b3359088bc1abb994281f6d3dfc19e940bc1 src/main/java/dev/caskeleton/compat/GraphQlRemovalDecision.java 51
64fe8efa32273982c0fd5fb801ea55bbd63bdca1 src/main/java/dev/caskeleton/compat/GraphQlRemovalRequest.java 39
6a3e086faf77f5a3b09d96b2b2d3c93df61593ed src/main/java/dev/caskeleton/compat/GraphQlSchemaChange.java 61
177cd5f3b5bc48995a6df3d57f522b148142b7eb src/main/java/dev/caskeleton/compat/GraphQlSchemaComparator.java 791
5d728d6c04208d8047af5012d1856ae89be86ef3 src/main/java/dev/caskeleton/compat/GraphQlSchemaUsage.java 71
8d2e51a997a30b030fb60094f42c63073023cd40 src/main/java/dev/caskeleton/scalar/BigDecimalScalar.java 211
e1a93151a07fa71dd0c00b17a1ef0e40d8fb9a65 src/main/java/dev/caskeleton/scalar/DateScalar.java 105
7a8907d3c07d9659b097a2fc6b77bc413d1f7fda src/main/java/dev/caskeleton/scalar/GraphQlDecimalBounds.java 69
99fd7c63bf4b7c411eba8b5a49d518b51ee6d0d2 src/main/java/dev/caskeleton/scalar/GraphQlScalarWiringConfigurer.java 84
5e4a6608bb0b3b01d2edd71614f0ffd9ab604103 src/main/java/dev/caskeleton/scalar/InstantScalar.java 117
48356a0f4e3e9adb219c2d38c3db3ace7bbb3395 src/main/java/dev/caskeleton/scalar/LongScalar.java 189
29f48b4eff25f5f07ee71d013418332494109062 src/main/java/dev/caskeleton/scalar/UuidScalar.java 109
772376b683e92de6988d77ba789b4b0a2e871ab9 src/main/java/dev/caskeleton/schema/GraphQlContractVersion.java 29
652af3bd3ad05296b3370369c5bbd64cc1557b32 src/main/java/dev/caskeleton/schema/GraphQlMappingInspectionGate.java 52
b1eb5a2565aa19c0f6d761bd0880b9d19b375712 src/main/java/dev/caskeleton/schema/GraphQlMappingIssue.java 102
60f76512c3335b925bbcb57105f10d142cdf618f src/main/java/dev/caskeleton/schema/GraphQlMappingPolicy.java 30
abc186cfcd5b2be828a22b03c395659a41f06107 src/main/java/dev/caskeleton/schema/GraphQlOneOfInputValidator.java 55
228405fe469bbd3e14609f96f7af2bf084a7e2d9 src/main/java/dev/caskeleton/schema/GraphQlOneOfPolicy.java 35
73de6ccaf8d753b5eec448424dc57b642cb9ff47 src/main/java/dev/caskeleton/schema/GraphQlOneOfSchemaGate.java 77
3bf90c365a5ca498fb0595092ac2f8d842fea939 src/main/java/dev/caskeleton/schema/GraphQlOneOfViolationException.java 41
8969810a607e282bb61c51e6e0a1c8620bcde3ea src/main/java/dev/caskeleton/schema/GraphQlScalarDefinition.java 43
2f9f1cbaca2aab0b4898d2058ff18390ddecf2cc src/main/java/dev/caskeleton/schema/GraphQlScalarManifest.java 141
9de5a34f734e1770b6010ceeffe08e16e25d29de src/main/java/dev/caskeleton/schema/GraphQlScalarPolicy.java 37
1869a247c37cc53df916bf8bee08b5c771761db4 src/main/java/dev/caskeleton/schema/GraphQlSchemaAssembler.java 39
eb2256250d6b6e5e55089559fe7183dc404d1c6d src/main/java/dev/caskeleton/schema/GraphQlSchemaAssemblyException.java 52
fc09a237fd39e8ace0e153f4fa19133bb2ab7ede src/main/java/dev/caskeleton/schema/GraphQlSchemaAssemblyResult.java 189
24907e279619760e06dbd4c8e12c65aa5942cebb src/main/java/dev/caskeleton/schema/GraphQlSchemaContract.java 46
6b71fd3ecc60aed5b34cc2843874316aae05a8c5 src/main/java/dev/caskeleton/schema/GraphQlSchemaHash.java 46
a808ab5f80d6702e144bf1a76246a9cd3ae14cc5 src/main/java/dev/caskeleton/schema/GraphQlSchemaMappingException.java 34
3062ccea72f2a7b0f8a9777d9790bb9a843b0b51 src/main/java/dev/caskeleton/schema/GraphQlSchemaOwnership.java 29
4960c6cf963ced0e5f101bb7427492b62d63e9a6 src/main/java/dev/caskeleton/schema/GraphQlSchemaResource.java 82
00dbd91228499cec7562c5cd26c125d46a24605f src/test/java/dev/caskeleton/compat/GraphQlDeprecationGateTest.java 172
5dbaee0ae713d288d6b685bb33002c577ac41b29 src/test/java/dev/caskeleton/compat/GraphQlSchemaComparatorTest.java 343
eb56b126ee81eadf9ee782a426c273c98c835658 src/test/java/dev/caskeleton/scalar/GraphQlScalarContractTest.java 132
62a05f39cc5455916ba727e947a3e56e28631784 src/test/java/dev/caskeleton/scalar/GraphQlScalarSymmetryTest.java 131
c5aef66492904a9f75ba3d25c6efd6fd35116c57 src/test/java/dev/caskeleton/schema/GraphQlMappingInspectionGateTest.java 70
0608ec6545f5ee48d7f0ec1e46830002484d7903 src/test/java/dev/caskeleton/schema/GraphQlOneOfInputValidatorTest.java 131
be971ec8e0d7c8e26f88d7646caab97302e272e5 src/test/java/dev/caskeleton/schema/GraphQlScalarManifestTest.java 100
ea0d6ba9f36059ce25e1d9c6e1c8e51372d2ba9d src/test/java/dev/caskeleton/schema/GraphQlSchemaAssemblerTest.java 124
a2dc50376dc57ee072b2370c980eb05ba1052a1a src/test/java/dev/caskeleton/schema/GraphQlSchemaContractTest.java 74
file_count=46

=== 8.1 파일 단위 배선 (autoconf / main_other / test) ===
TYPE                                 autoconf  main_other  test
GraphQlContractVersion               0         2           2
GraphQlMappingInspectionGate         3         0           2
GraphQlMappingIssue                  0         3           3
GraphQlMappingPolicy                 0         1           1
GraphQlOneOfInputValidator           0         0           1
GraphQlOneOfPolicy                   0         2           1
GraphQlOneOfSchemaGate               0         0           2
GraphQlOneOfViolationException       0         2           1
GraphQlScalarDefinition              3         1           2
GraphQlScalarManifest                4         1           2
GraphQlScalarPolicy                  0         1           1
GraphQlSchemaAssembler               0         0           3
GraphQlSchemaAssemblyException       0         3           1
GraphQlSchemaAssemblyResult          0         1           2
GraphQlSchemaContract                0         0           1
GraphQlSchemaHash                    3         2           2
GraphQlSchemaMappingException        0         1           1
GraphQlSchemaOwnership               0         2           2
GraphQlSchemaResource                0         2           3
BigDecimalScalar                     0         1           2
DateScalar                           0         1           1
GraphQlDecimalBounds                 0         1           1
GraphQlScalarWiringConfigurer        7         0           2
InstantScalar                        0         2           1
LongScalar                           0         1           2
UuidScalar                           0         1           2
GraphQlChangeKind                    0         4           1
GraphQlClientOwnerApproval           0         1           1
GraphQlCompatibilityImpact           0         2           1
GraphQlCompatibilityPolicy           0         0           2
GraphQlCompatibilityReport           0         3           1
GraphQlDeprecationGate               0         0           1
GraphQlRemovalDecision               0         1           1
GraphQlRemovalRequest                0         1           1
GraphQlSchemaChange                  0         4           1
GraphQlSchemaComparator              0         0           3
GraphQlSchemaUsage                   0         2           1

=== 8.2 스키마 해시 사슬 ===
$ grep -rn 'GraphQlSchemaHash' adapter/inbound/graphql/src/main --include=*.java | sed 's|adapter/inbound/graphql/src/main/java/dev/caskeleton/adapter/inbound/graphql/||'
autoconfigure/GraphQlPlatformActuatorEndpoint.java:4:import dev.caskeleton.adapter.inbound.graphql.schema.GraphQlSchemaHash;
autoconfigure/GraphQlPlatformActuatorEndpoint.java:24:  private final GraphQlSchemaHash schemaHash;
autoconfigure/GraphQlPlatformActuatorEndpoint.java:40:      GraphQlSchemaHash schemaHash,
schema/GraphQlSchemaContract.java:20:    GraphQlSchemaHash schemaHash,
schema/GraphQlSchemaHash.java:18:public record GraphQlSchemaHash(String value) {
schema/GraphQlSchemaHash.java:22:  public GraphQlSchemaHash {
schema/GraphQlSchemaHash.java:33:  public static GraphQlSchemaHash sha256(String canonicalSdl) {
schema/GraphQlSchemaHash.java:41:      return new GraphQlSchemaHash(HexFormat.of().formatHex(digest));
schema/GraphQlSchemaAssemblyResult.java:94:  public GraphQlSchemaHash schemaHash() {
schema/GraphQlSchemaAssemblyResult.java:95:    return GraphQlSchemaHash.sha256(canonicalSdl);
exit=0

$ grep -rn 'GraphQlPlatformActuatorEndpoint' adapter/inbound/graphql/src --include=*.java | sed 's|adapter/inbound/graphql/src/[a-z]*/java/dev/caskeleton/adapter/inbound/graphql/||'
autoconfigure/GraphQlPolicyRequestPathTest.java:28: * a production deployment without it, and {@link GraphQlPlatformActuatorEndpoint}, which reports it
autoconfigure/GraphQlPlatformStartupValidatorTest.java:108:        new GraphQlPlatformActuatorEndpoint(
autoconfigure/GraphQlPlatformActuatorEndpoint.java:18:public final class GraphQlPlatformActuatorEndpoint {
autoconfigure/GraphQlPlatformActuatorEndpoint.java:38:  public GraphQlPlatformActuatorEndpoint(
exit=0

$ grep -c '@Bean' adapter/inbound/graphql/src/main/java/dev/caskeleton/adapter/inbound/graphql/autoconfigure/GraphQlPlatformAutoConfiguration.java
39
exit=0

=== 8.3 oneOf: 라이브러리 버전과 스키마 사용 ===
$ grep -n 'graphql-java:' adapter/inbound/graphql/gradle.lockfile | head -2
32:com.graphql-java:graphql-java:25.0=compileClasspath,runtimeClasspath,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath
33:com.graphql-java:java-dataloader:6.0.0=compileClasspath,runtimeClasspath,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath
exit=0

$ grep -rn 'oneOf' adapter/inbound/graphql/src/main/resources adapter/inbound/graphql/src/test/resources 2>/dev/null | wc -l
0
exit=0

$ grep -n 'the platform enforces' adapter/inbound/graphql/src/main/java/dev/caskeleton/adapter/inbound/graphql/schema/GraphQlOneOfPolicy.java
4: * The September 2025 {@code @oneOf} input rules the platform enforces (design §7.5).
exit=0

=== 8.4 조립기가 막겠다고 선언한 위험 ===
$ sed -n '1,12p' adapter/inbound/graphql/src/main/java/dev/caskeleton/adapter/inbound/graphql/schema/GraphQlSchemaAssembler.java | grep -vE '^import|^package'


/**
 * Assembles module-owned SDL fragments into one schema, deterministically.
 *
 * <p>Fragments are sorted by owning module and path before parsing. Filesystem and classpath
 * enumeration order is not stable across machines or packaging formats, and an unstable order would
 * both move the schema hash and change which of two conflicting declarations "wins" — so the order
 * is imposed here rather than inherited from discovery.
exit=0

