- analysis/·source-index·state.json 을 final/document.md 제2부·제3부로 접었다. SSOT 는 하나다 - 파일럿 — commit-ambiguity-as-a-result 를 새 기준으로 재선별. 후보 14 → 글감 5 (PROMOTE 5 · MERGE_INTO 3 · KEEP_IN_SSOT 4 · 보류 2). 기록 5건을 다시 썼고 그림 1개를 techviz 로 만들었다 - 재선별이 잡은 것: 제1부 §6.2·§11.1 이 자기 §13.2 와 어긋나 있었다(레인을 안 돌렸다 vs 돌렸다) — 정정. 이미 답이 나와 있던 Question 을 HEAD 재실행 질문으로 다시 세웠다. Concept 이 인용한 코드가 SSOT 에 없어 뺐다 - candidateScope·sourceRepository 기록. 나머지 43개 주제는 재선별 대기(PENDING 905) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
101 lines
5.5 KiB
Markdown
101 lines
5.5 KiB
Markdown
---
|
|
kind: CASE
|
|
slug: the-second-platform-carried-the-design-not-the-wiring
|
|
title: 두 번째 플랫폼이 첫 번째의 bridge 부재는 막고 게이트 배선은 옮기지 않았다
|
|
topic: learning-transfer-between-families
|
|
project: clean-architecture-backend-template
|
|
status: 게시 전
|
|
sourceRevision: 21234e38cdb9a926cbc92bb97a2aee2e4a7d2916
|
|
rootTreeNode: case:the-second-platform-carried-the-design-not-the-wiring
|
|
evidenceCapturedOn: 2026-09-01
|
|
assets:
|
|
- key: the-second-platform-carried-the-design-not-the-wiring
|
|
file: ../../../final/evidence/rendered/the-second-platform-carried-the-design-not-the-wiring.svg
|
|
evidence:
|
|
- ../../../final/evidence/raw/the-second-platform-carried-the-design-not-the-wiring.txt
|
|
- ../../../final/evidence/raw/tl-platform-suite-results.txt
|
|
- ../../../final/evidence/raw/tl-grpc-evidence-lanes.txt
|
|
source:
|
|
- 원본 분석 절은 final/document.md#7-6 · final/document.md#a20 §2, §3 · final/document.md#a99 §2, §4 이다.
|
|
---
|
|
|
|
# 두 번째 플랫폼이 첫 번째의 bridge 부재는 막고 게이트 배선은 옮기지 않았다
|
|
|
|
gRPC 가족은 messaging 을 명시적으로 참조하며 만들어졌다. 옮겨진 것 셋은 전부 레지스트리와 빌드 파일로 표현되는 규칙이고, 옮겨지지 않은 것 셋은 전부 Gradle 태스크와 CI 설정으로 표현되는 규칙이다.
|
|
|
|
## 관계
|
|
|
|
- **레지스트리로 표현된 규칙은 전이되고 CI로 표현된 규칙은 전이되지 않는다**
|
|
이 사례에서 끌어낸 규칙이다.
|
|
- **릴리스 게이트가 읽는 증거를 아무도 생산하지 않는다**
|
|
옮겨지지 않은 것 중 하나의 구체적 결과다.
|
|
- **gRPC 플랫폼은 build-only로 두고 애플리케이션 도달 경로를 먼저 정한다**
|
|
옮겨진 것 중 가장 무거운 판단이다.
|
|
- **같은 자격 증명 회전 결함이 한 가족에서 닫히고 다른 가족에서 재현됐다**
|
|
같은 두 가족 사이에서 전이되지 않은 다른 사례다.
|
|
|
|
## 문제
|
|
|
|
messaging 가족은 스타터를 컴포지션 루트의 의존으로 넣으면서 25개 리프가 출하 아티팩트에 실렸다. 그 결과 배선되지 않은 코드가 배포에 포함되는 문제가 실재하게 됐다.
|
|
|
|
gRPC 가족은 그 이후에 만들어졌고 messaging 을 명시적으로 참조한다. 목표도 문서에 적혀 있다.
|
|
|
|
그렇다면 무엇이 옮겨졌고 무엇이 옮겨지지 않았는가.
|
|
|
|
## 결론
|
|
|
|
옮겨진 것 셋은 전부 레지스트리와 빌드 파일로 표현된다.
|
|
|
|
다리를 먼저 정하기로 한 것. 18개 리프 전부의 런타임 멤버십이 비어 있고, 인바운드 어댑터의 허용 의존에 이 가족이 없다. 레지스트리가 그것을 강제한다.
|
|
프레임워크 없는 계약 리프를 두는 것. 빌드 파일의 테스트 클래스패스 조건이 그것을 검증 가능하게 만든다.
|
|
속성 기반 전송 선택. 클래스패스 조건이 아니라 닫힌 레지스트리에서 이름으로 고른다.
|
|
|
|
옮겨지지 않은 것 셋은 전부 Gradle 태스크와 CI 설정으로 표현된다.
|
|
|
|
증거에서 파생되는 등급. gRPC 쪽에는 증거를 생산하는 태스크가 없다.
|
|
CI 가 돌리는 게이트. 28개 워크플로 중 gRPC 를 이름에 담은 것이 0 이다.
|
|
조립에 연결된 시작 검증기. 검증기는 있고 자동설정이 부르지 않는다.
|
|
|
|
분류가 깨끗하다. 옮겨진 셋은 전부 다음 사람이 편집하게 되는 파일에 있고, 옮겨지지 않은 셋은 전부 그렇지 않은 파일에 있다.
|
|
|
|
운영 문서는 그 상태를 정확히 공시한다. 출시되지 않았고 빌드 전용이라고 적는다. 이 점에서 messaging 의 지원 매트릭스와 대비된다.
|
|
|
|
## 검증 환경
|
|
|
|
OpenJDK : 21.0.12
|
|
Gradle : 9.0.0
|
|
확인 방식 : 레지스트리 항목 계수, Gradle 태스크와 CI 워크플로 계수, 문서 대조
|
|
소스 수정 : x
|
|
|
|
## 재현 조건
|
|
|
|
원문은 final/evidence/raw 아래 tl-platform-suite-results.txt 와 266-grpc-family-claims-verification.txt 와 250-messaging-certification-gate-chain.txt 에 있다.
|
|
|
|
1. 레지스트리에서 gRPC 리프들의 런타임 멤버십을 확인한다. 전부 비어 있다.
|
|
2. 인바운드 gRPC 어댑터의 허용 의존에 이 가족이 있는지 확인한다.
|
|
3. src/grpc 아래 등록된 Gradle 태스크 수를 센다.
|
|
4. CI 워크플로 중 gRPC 를 이름에 담은 것을 센다.
|
|
5. messaging 쪽 같은 사슬을 세어 대조한다.
|
|
6. 블록의 CLAUDE.md 와 호환성 문서의 상태 표기를 읽는다.
|
|
|
|
## 본문
|
|
|
|
<!-- body:start -->
|
|
|
|
gRPC 가족이 messaging을 명시적으로 참조하며 만들어졌고 목표를 문서에 적었다.
|
|
|
|
## gRPC 가족이 문서에 적은 목표
|
|
|
|
:::evidence key="the-second-platform-carried-the-design-not-the-wiring" alt="분석 문서 final/document.md 에서 이 기록의 근거 절을 그대로 잘라낸 18줄. 코드베이스를 측정한 것이 아니라 원본 판정이 무엇을 적었는지를 보여 준다." caption="final/document.md 발췌 — 18줄" zoom="true"
|
|
:::
|
|
|
|
## 옮겨진 셋과 옮겨지지 않은 셋이 표현 형식으로 갈린다
|
|
|
|
옮겨진 셋(bridge를 먼저 정함·framework-free 계약 leaf·속성 기반 전송 선택)은 전부 레지스트리와 `build.gradle`로 표현되는 규칙이고, 옮겨지지 않은 셋(증거 파생 등급·CI가 돌리는 게이트·조립에 연결된 시작 검증기)은 전부 Gradle 태스크와 CI YAML로 표현되는 규칙이다.
|
|
|
|
## 확인하지 못한 것
|
|
|
|
이 분류가 인과인지 상관인지 확인할 수 없다. 작성자가 왜 후자를 옮기지 않았는지에 대한 기록이 없다. 표본도 두 가족뿐이다.
|
|
|
|
<!-- body:end -->
|