Files
document-haness/docs/clean-architecture-backend-template/tech-log-studio/redis-command-admission/case/case-five-adapters-bypass-the-single-admission-point.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

4.7 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 five-adapters-bypass-the-single-admission-point 의미 어댑터 다섯이 gateway를 직접 불러 admission 아홉 단계를 건너뛴다 redis-command-admission clean-architecture-backend-template 게시 전 21234e38cdb9a926cbc92bb97a2aee2e4a7d2916 case:five-adapters-bypass-the-single-admission-point 2026-09-01 case-five-adapters-bypass-the-single-admission-point.body.md
key file
five-adapters-bypass-the-single-admission-point ../../../final/evidence/rendered/five-adapters-bypass-the-single-admission-point.svg
../../../final/evidence/raw/five-adapters-bypass-the-single-admission-point.txt
원본 분석 절은 final/document.md#4-4 · final/document.md#a10 §64 이다.

의미 어댑터 다섯이 gateway를 직접 불러 admission 아홉 단계를 건너뛴다

명령 정책 가드는 자기를 모든 명령이 지나는 단일 승인 지점이라고 적는다. 캐시와 멱등성과 리스와 레이트리밋과 실시간 어댑터 다섯은 그 가드도 실행기도 타입 API 도 참조하지 않고 게이트웨이를 직접 부른다.

관계

  • 명령 카탈로그와 admission 아홉 단계 우회되는 대상이다.
  • 단일 admission point는 우회 경로를 세어야 성립한다 이 사례에서 끌어낸 규칙이다.
  • 중복 장치를 찾으면 어느 쪽이 조립됐는지 먼저 확인한다 같은 계열의 확인 규칙이다.

문제

가드의 클래스 javadoc 은 자기를 모든 명령이 지나는 단일 승인 지점이라고 선언한다.

그 선언이 참인지는 우회 경로를 세어야 알 수 있다.

결론

다섯 어댑터가 우회한다.

가드나 실행기나 명령 요청 타입을 참조하는 파일을 다섯 어댑터 패키지에서 찾으면 일치가 없다.

타입 지정 연산 API 를 참조하는 파일도 일치가 없다.

대신 게이트웨이를 직접 부른다. 호출 수는 이렇다.

캐시 리전 어댑터 6 멱등성 저장소 어댑터 6 분산 리스 어댑터 4 엣지 레이트리밋 어댑터 1 커넥션 레지스트리 어댑터 13

합계 30 이다.

임포트 목록도 같은 그림을 보여 준다. 다섯 어댑터가 SDK 에서 가져오는 것은 네임스페이스와 커넥션 소유자와 리스와 커넥션 종류와 게이트웨이 계열이다. 가드나 실행기는 없다.

즉 아홉 단계는 우회하지 않은 호출에만 적용되는 규칙이다. 능력 확인도 허가 출처 확인도 네임스페이스 검사도 예산도 이 다섯 경로에는 걸리지 않는다.

가드의 javadoc 이 틀린 것은 아니다. 그 문장은 가드를 지나는 명령에 대해 참이다. 틀린 것은 그 문장을 읽고 모든 명령이 지난다고 이해하는 것이다.

검증 환경

OpenJDK : 21.0.12 확인 방식 : 다섯 어댑터 패키지에 대한 참조 검색과 호출 계수 소스 수정 : x

재현 조건

원문은 final/evidence/raw/165-cache-redis-semantic-adapters-probes.txt 8.1 절에 있다.

  1. 다섯 어댑터 패키지에서 가드와 실행기와 명령 요청 타입을 참조하는 파일을 찾는다. 일치 0 이다.
  2. 같은 패키지에서 타입 지정 연산 API 를 참조하는 파일을 찾는다. 일치 0 이다.
  3. 같은 패키지에서 게이트웨이 호출 수를 센다.
  4. 다섯 어댑터가 SDK 에서 가져오는 임포트를 집계한다.

본문

두 javadoc이 "The single admission point every command passes through"와 "everything routed through it has already passed CommandPolicyGuard"를 주장한다.

CommandPolicyGuard 참조 위치

:::evidence key="five-adapters-bypass-the-single-admission-point" alt="코드베이스에서 CommandPolicyGuard 를 검색한 출력 26줄. 이 기록이 세는 참조가 그 출력에 그대로 보인다." caption="CommandPolicyGuard 코드베이스 검색 — 26줄 · exit 0" zoom="true" :::

다섯 어댑터가 gateway를 직접 부른다

RedisRuntimeOwnerRedisLeaselease.gateway()를 30곳에서 부른다. SyncRedisCommandExecutor·ReactiveRedisCommandExecutor·CommandPolicyGuard·CommandRequest를 참조하는 파일이 0이고 타입 있는 API 참조도 0이다.

아홉 단계 중 남는 것 하나

네임스페이스만 CapabilityKeyspace가 같은 RedisNamespace에서 키를 조립해 구성으로 유지된다.

확인하지 못한 것

우회 경로로 실제로 거부되어야 할 명령이 통과하는 것을 재현하지 않았다. 이 기록은 참조 계수에 근거한다.

실제 Redis에 붙여 우회 경로의 명령이 정책 없이 나가는지 관측하지 않았다