- 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>
5.2 KiB
kind, slug, title, topic, project, status, sourceRevision, rootTreeNode, evidenceCapturedOn, body, assets, evidence, source
| kind | slug | title | topic | project | status | sourceRevision | rootTreeNode | evidenceCapturedOn | body | assets | evidence | source | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CASE | startup-validator-is-the-only-reader-of-four-keys | 시작 검증기가 유일한 소비자인 설정 키 넷이 아무것도 게이트하지 않는다 | runtime-reachability-and-composition | clean-architecture-backend-template | 게시 전 | 21234e38cdb9a926cbc92bb97a2aee2e4a7d2916 | case:startup-validator-is-the-only-reader-of-four-keys | 2026-09-01 | case-startup-validator-is-the-only-reader-of-four-keys.body.md |
|
|
|
시작 검증기가 유일한 소비자인 설정 키 넷이 아무것도 게이트하지 않는다
검증기를 이름으로 부르는 파일은 자기 자신과 자기 테스트뿐이다. 자동 설정은 빈 아홉을 만들고 검증을 부르지 않는다. 그리고 그 검증기가 유일한 소비자인 설정 키가 넷이다.
관계
- 시작 검증기가 시작 시 실행되지 않는다 다른 가족의 같은 형태다.
- 검증기는 발행이 아니라 주입이 강제다 이 사례에서 뽑은 규칙이다.
- 같은 자동 설정 안에서 검증기 하나만 감싸이지 않아 트랜잭션 조건이 검사되지 않는다 같은 통독에서 나온 짝이다.
문제
시작 검증기의 자바독이 선정 기준을 적는다.
여기 담긴 모든 규칙은 실행 시 증상이 침묵이거나 오귀인인 실수라는 것이다. 마감 없는 단항 메서드는 클라이언트 자신의 마감까지 매달리고, 무제한 실행기는 과부하를 무제한 지연으로 바꾸고, 운영의 전체 신뢰는 전송 보안을 보고하면서 제공하지 않고, 운영의 반사 공개는 스키마를 게시하고, 원장 없는 키 필수 메서드는 지킬 수 없는 멱등 키를 받아들인다는 것이다.
그리고 어느 것도 연기 테스트를 실패시키지 않는다는 것이다.
결론
그 검증이 돌지 않는다.
검증기를 이름으로 부르는 파일이 둘뿐이다. 자기 자신과 자기 테스트다.
자동 설정은 실행기 프로파일과 서버 프로파일과 승인 제어기와 상태 레지스트리와 반사 정책과 관리 노출 정책과 배수 정책과 문맥 결속기와 오류 사상기, 아홉 빈을 만든다. 검증 호출이 없고 초기화 콜백도 없다.
그래서 클래스 자바독이 약속한 성질이 성립하지 않는다. 아무도 눈치채지 못할 방식으로 틀린 설정에서 시작을 거부한다는 것이다. 지금은 그냥 시작한다.
함께 사라지는 것이 있다.
검증기가 유일한 소비자인 설정 키가 넷이다. 전송과 TLS 사용 여부와 전체 신뢰와 원장 활성화다.
전송 키는 자동 설정이 아예 보지 않는다. 서버 프로파일 팩토리가 안정 전송을 하드코딩한다.
TLS 두 키는 배포 환경의 바닥을 강제할 곳이 없다.
원장 키는 멱등 키 필수 메서드가 원장 없이 열리는 것을 막을 곳이 없다.
같은 저장소가 정본을 둘 갖고 있다. 메시징 가족은 시작 프로파일 검증을 초기화 콜백으로 돌려 이 문제를 이미 한 번 해결했고, 파일 서버 하위 트리는 증명 메서드를 부트스트랩의 빈으로 연결했다.
검증 환경
Spring Boot : 4.0.8 확인 방식 : 호출자 전수 검색과 설정 키별 소비자 계수 소스 수정 : x
재현 조건
원문은 document-detail 의 final/document.md#a20-grpc-spring-boot-starter 에 있다.
- 검증기 클래스 이름을 저장소 전체에서 검색한다.
- 자동 설정의 빈 목록을 읽고 검증 호출이 있는지 본다.
- 설정 속성의 각 접근자를 저장소 전체에서 검색한다.
- 검증기 밖에 소비자가 없는 키를 가려낸다.
- 서버 프로파일 팩토리가 전송 키를 읽는지 확인한다.
본문
검증기를 이름으로 부르는 파일은 자기 자신과 자기 테스트뿐이다. 자동 설정은 빈 아홉 개를 만들고 requireValid 를 부르지 않으며 초기화 콜백도 없다.
StartupProfileValidation 참조 위치
:::evidence key="startup-validator-is-the-only-reader-of-four-keys" alt="코드베이스에서 StartupProfileValidation 를 검색한 출력 4줄. 이 기록이 세는 참조가 그 출력에 그대로 보인다." caption="StartupProfileValidation 코드베이스 검색 — 4줄 · exit 0" zoom="true" :::
그 검증기가 유일한 소비자인 키 넷
transport·tls-enabled·trust-all-certificates·operation-ledger-enabled. 따라서 운영 환경의 TLS 바닥도, 비운영 전송 거부도, 멱등 키 필수 메서드의 원장 요구도 강제되지 않는다.
같은 저장소가 정본을 둘 갖고 있다
messaging 의 StartupProfileValidation 과 fileserver 의 증명 호출이다.
확인하지 못한 것
스타터를 애플리케이션에 올려 컨텍스트를 세우지 않았다. 빌드 전용 리프라 그 배포가 없다.