chore: record pre-existing uncommitted repository state
Snapshot of the in-flight state that already existed, identically, in both this worktree and the main checkout before this session began: the initial HTTP Client platform implementation (previously untracked), the redis-lab removal, and the JPA / object-storage / notification integration work. Kept separate from this session's HTTP Client review response, which lands in the following commit, so the two bodies of work stay reviewable apart. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
1a3b560678
commit
5f10b791d3
@@ -4,15 +4,20 @@
|
||||
|
||||
이 모듈은 비즈니스 로직을 담지 않는다. Spring Boot 기동, 런타임 설정 바인딩, 기본 runtime
|
||||
모듈 간 최종 와이어링, 그리고 composition classpath를 대상으로 한 중앙 아키텍처 테스트만 둔다.
|
||||
19개 leaf 전체의 프로젝트 edge는 JSON registry를 읽는 Gradle gate가 별도로 검사한다. 허용/금지
|
||||
의존, 책임 범위, 테스트 명령 같은 **모듈 규칙**의 SSOT 는 [CLAUDE.md](CLAUDE.md) 다.
|
||||
19개 leaf 전체의 프로젝트 edge와 두 composition root의 실제 runtime membership은 JSON registry를
|
||||
읽는 Gradle gate가 별도로 검사한다. 허용/금지 의존, 책임 범위, 테스트 명령 같은 **모듈 규칙**의
|
||||
SSOT 는 [CLAUDE.md](CLAUDE.md) 다.
|
||||
|
||||
기본 composition은 `build.gradle`에 선언된 runtime leaf만 포함한다. GraphQL, gRPC, WebSocket,
|
||||
MongoDB, file server, object storage 같은 optional leaf는 독립적으로 빌드·테스트되지만 자동으로
|
||||
기본 애플리케이션에 합성되지 않는다. optional leaf를 활성화하려면
|
||||
`src/config/architecture/modules.json`의 `app-bootstrap.allowed_dependencies`에 허용 edge를
|
||||
명시하고, 같은 변경에서 `app-bootstrap/build.gradle` 의존성과 필요한 typed settings/검증을
|
||||
추가해야 한다.
|
||||
기본 composition은 `build.gradle`의 main project dependency와 registry의
|
||||
`runtime_memberships=["app-bootstrap"]`가 정확히 일치해야 한다. GraphQL, gRPC, WebSocket,
|
||||
MongoDB leaf의 membership은 비어 있어 두 shipped runtime에 포함되지 않는다. object storage는
|
||||
sample runtime에만 있고 file server는 기본 app runtime에 이미 포함된다.
|
||||
|
||||
`conditionalTransportTest`는 GraphQL/gRPC/WebSocket 세 leaf를 test-only classpath에서 함께
|
||||
resolve하는 명시적 qualification composition이다. main `implementation`/`runtimeOnly` edge가 아니므로
|
||||
shipped runtime membership을 바꾸지 않는다. optional leaf를 실제 app에 채택하려면 같은 변경에서
|
||||
`allowed_dependencies`, `runtime_memberships`, `app-bootstrap/build.gradle` main dependency,
|
||||
typed settings/보안 경계/검증을 모두 갱신해야 한다.
|
||||
|
||||
이 문서는 코드 주석에서 덜어낸 **설계 결정의 근거**를 모아둔 참조용 기록이다 — 코드를 읽다
|
||||
"왜 이렇게 했나"가 궁금할 때 본다. 본문은 한국어로 쓰고, 클래스·Spring API·메트릭 이름처럼
|
||||
|
||||
Reference in New Issue
Block a user