Files
document-haness/docs/clean-architecture-backend-template/tech-log-studio/schema-and-data-contracts/case/case-grpc-proto-contract-f03.md
T
DongHyeonkaandClaude Fable 5.1 b25357c48a docs(clean-architecture-backend-template): fold analysis into final and re-select one topic
- 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>
2026-09-07 12:39:20 +09:00

2.9 KiB

kind, slug, title, topic, project, status, sourceRevision, rootTreeNode, evidenceCapturedOn, assets, evidence, source, module, priority
kind slug title topic project status sourceRevision rootTreeNode evidenceCapturedOn assets evidence source module priority
CASE grpc-proto-contract-f03 커밋 스키마 게이트가 파일 목록을 하드코딩한다 schema-and-data-contracts clean-architecture-backend-template 게시 전 21234e38cdb9a926cbc92bb97a2aee2e4a7d2916 case:grpc-proto-contract-f03 2026-09-01
key file
grpc-proto-contract-f03 ../../../final/evidence/rendered/grpc-proto-contract-f03.svg
../../../final/evidence/raw/grpc-proto-contract-f03.txt
원본 분석 절은 final/document.md#a20-grpc-proto-contract#L203 이다.
grpc-proto-contract P3

커밋 스키마 게이트가 파일 목록을 하드코딩한다

리소스 디렉터리를 훑지 않는다. 이 리프에 세 번째 .proto 를 추가하면 이 테스트를 함께 고치기 전까지 판정되지 않고, 빌드는 초록으로 남는다.

문제

리소스 디렉터리를 훑지 않는다.

이 리프에 세 번째 .proto 를 추가하면 이 테스트를 함께 고치기 전까지 판정되지 않고, 빌드는 초록으로 남는다.

결론

같은 저장소가 다른 곳에서 이 형태를 이미 경계했다 — 빠뜨림이 통과가 되는 게이트다.

수정은 proto/** 아래 .proto 를 전부 열거해 돌리는 것이다.

검증 환경

OpenJDK : 21.0.12 java -version 으로 확인 Gradle : 9.0.0 src/gradle/wrapper/gradle-wrapper.properties 의 distributionUrl 로 확인 확인 방식 : 게이트가 판정하는 파일 목록과 리소스 디렉터리의 .proto 목록 대조 소스 수정 : x

재현 조건

원문은 final/document.md#a20-grpc-proto-contract#L203 에 있다.

본문

게이트가 파일 목록을 하드코딩한다.

List<String> files = List.of(
    "proto/hyeonworks/grpc/common/v1/error.proto",
    "proto/hyeonworks/grpc/common/v1/stream.proto");

게이트가 하드코딩한 목록

:::evidence key="grpc-proto-contract-f03" alt="분석 문서 final/document.md#a20-grpc-proto-contract 에서 이 기록의 근거 절을 그대로 잘라낸 15줄. 코드베이스를 측정한 것이 아니라 원본 판정이 무엇을 적었는지를 보여 준다." caption="final/document.md#a20-grpc-proto-contract 발췌 — 15줄" zoom="true" :::

세 번째 파일은 판정되지 않는다

리소스 디렉터리를 훑지 않으므로, 이 리프에 세 번째 .proto 를 추가하면 이 테스트를 함께 고치기 전까지 판정되지 않고 빌드는 초록으로 남는다.

같은 저장소가 이미 경계한 형태다

빠뜨림이 통과가 되는 게이트다. 수정은 proto/** 아래 .proto 를 전부 열거해 돌리는 것이다.

확인하지 못한 것

세 번째 .proto 를 추가해 게이트가 침묵하는 것을 재현하지 않았다. 목록이 하드코딩이고 디렉터리를 훑지 않는다는 것으로 판정했다.