docs(graphql): 43-leaf 레지스트리 사실에 맞게 sub-package 근거를 정정
main 통합으로 messaging 플랫폼이 24개 leaf 를 modules.json 에 등록한 것이 드러났다 (현재 총 43개 leaf). 따라서 "레지스트리는 정확히 19개로 고정되어 있고 확장하면 게이트가 깨진다"는 기존 서술은 사실과 다르다. - 레지스트리는 확장 가능하며, 자매 플랫폼 messaging 은 정반대 패턴(leaf 등록)을 택했다. - graphql 의 sub-package 매핑은 "레지스트리가 닫혀서"가 아니라 "GraphQL 표면은 하나의 인바운드 전송 경계이고 그 내부 분할을 레포 전역 SSOT 까지 올리지 않는다"는 선택으로 다시 서술한다. - 두 패턴이 공존하므로 통일 여부는 미결 아키텍처 결정으로 명시한다. 모듈 레코드는 그대로 leaf 명세로 승격 가능한 형태라 분해 비용은 낮게 유지된다. 루트 CLAUDE.md 도 여전히 "exactly 19 leaf identities" 라고 적혀 있으나 이는 messaging 머지에서 비롯된 선행 불일치이므로 이 커밋 범위 밖으로 두고 보고한다. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
5c3c0e3de9
commit
c3043e530a
@@ -1,11 +1,16 @@
|
||||
// GraphQL API 실행 플랫폼 verification lanes.
|
||||
//
|
||||
// The GraphQL platform design package ships a 16-module Stable map and a 12-module Advanced map.
|
||||
// This repository's registry (`src/config/architecture/modules.json`) owns exactly 19 leaf
|
||||
// identities, so those maps are realised as bounded PACKAGES inside the single registered
|
||||
// `adapter-inbound-graphql` leaf — the same mapping the httpclient capability already uses. The
|
||||
// module identities, their allowed internal dependency edges and the Stable→Advanced isolation rule
|
||||
// stay machine-checked through `GraphQlBuildModel` and `GraphQlModuleBoundaryTest`.
|
||||
// Those maps are realised as bounded PACKAGES inside the single registered `adapter-inbound-graphql`
|
||||
// leaf — the same mapping the httpclient capability already uses — because the GraphQL surface is one
|
||||
// inbound transport boundary whose internal split does not have to reach the repository-wide leaf
|
||||
// registry (`src/config/architecture/modules.json`).
|
||||
//
|
||||
// Note the counter-example: the sibling messaging platform made the opposite call and registered 24
|
||||
// leaves of its own. The registry is extensible, so this is a deliberate trade-off, not a constraint.
|
||||
// Whichever pattern the repository standardises on, the module identities, their allowed internal
|
||||
// dependency edges and the Stable→Advanced isolation rule stay machine-checked through
|
||||
// `GraphQlBuildModel` and `GraphQlModuleBoundaryTest`.
|
||||
//
|
||||
// Lanes (design §24, Stable plan Task 1 / Task 48):
|
||||
// graphqlStableTest Stable platform unit + boundary tests (default lane)
|
||||
@@ -84,7 +89,7 @@ ext.registerGraphQlPlatformTestLanes = { ->
|
||||
File resultsDir = reports.junitXml.outputLocation.get().asFile
|
||||
File[] executed = resultsDir.listFiles({ File file -> file.name.endsWith('.xml') } as FileFilter)
|
||||
if (executed == null || executed.length == 0) {
|
||||
throw new GradleException(
|
||||
throw new org.gradle.api.GradleException(
|
||||
'graphqlPerformanceTest ran no scenario: the Stable release gate requires real ' +
|
||||
'load, soak and fault evidence, so an empty performance lane is a missing-evidence ' +
|
||||
'failure, not a pass. Register @Tag("graphql-performance") scenarios or run the ' +
|
||||
|
||||
Reference in New Issue
Block a user