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>
This commit is contained in:
DongHyeonka
2026-09-07 12:39:20 +09:00
co-authored by Claude Fable 5.1
parent 9d2a3725c5
commit b25357c48a
1080 changed files with 135560 additions and 120406 deletions
@@ -17,7 +17,7 @@ evidence:
- ../../../final/evidence/raw/a06-f011-mongoregexpolicy-forbidden-probe.txt
- ../../../final/evidence/raw/a06-f011-mongoregexpolicy-forbidden.txt
source:
- 원본 분석 절은 analysis/06-adapter-outbound-persistence-mongo.md#L740 이다. 등급은 P3 이다. 금지 팩토리가 길이 1 정책이라는 관찰, 앵커 문자가 네 검사를 통과한다는 판정, 두 도우미만 막힌다는 대비, 그리고 필드가 정규식 연산자를 등록해야 도달한다는 조건이 그 절에 있다.
- 원본 분석 절은 final/document.md#a06#L740 이다. 등급은 P3 이다. 금지 팩토리가 길이 1 정책이라는 관찰, 앵커 문자가 네 검사를 통과한다는 판정, 두 도우미만 막힌다는 대비, 그리고 필드가 정규식 연산자를 등록해야 도달한다는 조건이 그 절에 있다.
- 그 절은 두 도우미의 이스케이프 결과가 항상 다섯 자 이상이라고 적는데, 포함 쪽 최단은 네 자다. 결론은 같다.
- 통과하는 조합이 정확히 하나라는 것, 최대 길이 0 이 생성자에서 막힌다는 것, 매치되는 것이 그 필드의 문자열 값이라는 것, 그리고 이 팩토리의 호출 지점이 없다는 것은 이 기록에서 확인했다.
---
@@ -14,7 +14,7 @@ assets:
evidence:
- ../../../final/evidence/raw/grpc-admin-f02.txt
source:
- 원본 분석 절은 analysis/grpc/grpc-admin.md#L162 이다.
- 원본 분석 절은 final/document.md#a20-grpc-admin#L162 이다.
module: grpc-admin
priority: P3
---
@@ -56,7 +56,7 @@ Gradle : 9.0.0 src/gradle/wrapper/gradle-wrapper.properties 의 distributio
## 재현 조건
원문은 analysis/grpc/grpc-admin.md#L162 에 있다.
원문은 final/document.md#a20-grpc-admin#L162 에 있다.
## 본문
@@ -75,7 +75,7 @@ if (!forbidden.isEmpty()) {
## 검사가 걸리는 구획
:::evidence key="grpc-admin-f02" alt="분석 문서 analysis/grpc/grpc-admin.md 에서 이 기록의 근거 절을 그대로 잘라낸 15줄. 코드베이스를 측정한 것이 아니라 원본 판정이 무엇을 적었는지를 보여 준다." caption="analysis/grpc/grpc-admin.md 발췌 — 15줄" zoom="true"
:::evidence key="grpc-admin-f02" alt="분석 문서 final/document.md#a20-grpc-admin 에서 이 기록의 근거 절을 그대로 잘라낸 15줄. 코드베이스를 측정한 것이 아니라 원본 판정이 무엇을 적었는지를 보여 준다." caption="final/document.md#a20-grpc-admin 발췌 — 15줄" zoom="true"
:::
## 검사되지 않는 세 구획
@@ -16,7 +16,7 @@ assets:
evidence:
- ../../../final/evidence/raw/grpc-advanced-diagnostics-f01.txt
source:
- 원본 분석 절은 analysis/grpc/grpc-advanced-diagnostics.md#L167 이다.
- 원본 분석 절은 final/document.md#a20-grpc-advanced-diagnostics#L167 이다.
module: grpc-advanced-diagnostics
priority: P2
---
@@ -58,7 +58,7 @@ Gradle : 9.0.0 src/gradle/wrapper/gradle-wrapper.properties 의 distributio
## 재현 조건
원문은 analysis/grpc/grpc-advanced-diagnostics.md#L167 에 있다.
원문은 final/document.md#a20-grpc-advanced-diagnostics#L167 에 있다.
## 본문
@@ -75,7 +75,7 @@ IPv4 가 아닌 주소는 패턴에 맞지 않아 **입력 그대로 반환된
## 마스킹되지 않은 입력이 통과하는 이유
:::evidence key="grpc-advanced-diagnostics-f01" alt="분석 문서 analysis/grpc/grpc-advanced-diagnostics.md 에서 이 기록의 근거 절을 그대로 잘라낸 15줄. 코드베이스를 측정한 것이 아니라 원본 판정이 무엇을 적었는지를 보여 준다." caption="analysis/grpc/grpc-advanced-diagnostics.md 발췌 — 15줄" zoom="true"
:::evidence key="grpc-advanced-diagnostics-f01" alt="분석 문서 final/document.md#a20-grpc-advanced-diagnostics 에서 이 기록의 근거 절을 그대로 잘라낸 15줄. 코드베이스를 측정한 것이 아니라 원본 판정이 무엇을 적었는지를 보여 준다." caption="final/document.md#a20-grpc-advanced-diagnostics 발췌 — 15줄" zoom="true"
:::
## 셋째와 넷째가 문제다
@@ -14,7 +14,7 @@ assets:
evidence:
- ../../../final/evidence/raw/grpc-advanced-diagnostics-f02.txt
source:
- 원본 분석 절은 analysis/grpc/grpc-advanced-diagnostics.md#L206 이다.
- 원본 분석 절은 final/document.md#a20-grpc-advanced-diagnostics#L206 이다.
module: grpc-advanced-diagnostics
priority: P3
---
@@ -48,7 +48,7 @@ Gradle : 9.0.0 src/gradle/wrapper/gradle-wrapper.properties 의 distributio
## 재현 조건
원문은 analysis/grpc/grpc-advanced-diagnostics.md#L206 에 있다.
원문은 final/document.md#a20-grpc-advanced-diagnostics#L206 에 있다.
## 본문
@@ -58,7 +58,7 @@ Gradle : 9.0.0 src/gradle/wrapper/gradle-wrapper.properties 의 distributio
## redact 가 보는 것
:::evidence key="grpc-advanced-diagnostics-f02" alt="분석 문서 analysis/grpc/grpc-advanced-diagnostics.md 에서 이 기록의 근거 절을 그대로 잘라낸 15줄. 코드베이스를 측정한 것이 아니라 원본 판정이 무엇을 적었는지를 보여 준다." caption="analysis/grpc/grpc-advanced-diagnostics.md 발췌 — 15줄" zoom="true"
:::evidence key="grpc-advanced-diagnostics-f02" alt="분석 문서 final/document.md#a20-grpc-advanced-diagnostics 에서 이 기록의 근거 절을 그대로 잘라낸 15줄. 코드베이스를 측정한 것이 아니라 원본 판정이 무엇을 적었는지를 보여 준다." caption="final/document.md#a20-grpc-advanced-diagnostics 발췌 — 15줄" zoom="true"
:::
## 같은 저장소의 다른 편집기는 값도 본다
@@ -14,7 +14,7 @@ assets:
evidence:
- ../../../final/evidence/raw/grpc-advanced-edition-f03.txt
source:
- 원본 분석 절은 analysis/grpc/grpc-advanced-edition.md#L216 이다.
- 원본 분석 절은 final/document.md#a20-grpc-advanced-edition#L216 이다.
module: grpc-advanced-edition
priority: P3
---
@@ -56,7 +56,7 @@ Gradle : 9.0.0 src/gradle/wrapper/gradle-wrapper.properties 의 distributio
## 재현 조건
원문은 analysis/grpc/grpc-advanced-edition.md#L216 에 있다.
원문은 final/document.md#a20-grpc-advanced-edition#L216 에 있다.
## 본문
@@ -14,7 +14,7 @@ assets:
evidence:
- ../../../final/evidence/raw/grpc-core-api-f03.txt
source:
- 원본 분석 절은 analysis/grpc/grpc-core-api.md#L180 이다.
- 원본 분석 절은 final/document.md#a20-grpc-core-api#L180 이다.
module: grpc-core-api
priority: P3
---
@@ -56,7 +56,7 @@ Gradle : 9.0.0 src/gradle/wrapper/gradle-wrapper.properties 의 distributio
## 재현 조건
원문은 analysis/grpc/grpc-core-api.md#L180 에 있다.
원문은 final/document.md#a20-grpc-core-api#L180 에 있다.
## 본문
@@ -66,7 +66,7 @@ Gradle : 9.0.0 src/gradle/wrapper/gradle-wrapper.properties 의 distributio
## 이 분기에 도달하는 조건
:::evidence key="grpc-core-api-f03" alt="분석 문서 analysis/grpc/grpc-core-api.md 에서 이 기록의 근거 절을 그대로 잘라낸 15줄. 코드베이스를 측정한 것이 아니라 원본 판정이 무엇을 적었는지를 보여 준다." caption="analysis/grpc/grpc-core-api.md 발췌 — 15줄" zoom="true"
:::evidence key="grpc-core-api-f03" alt="분석 문서 final/document.md#a20-grpc-core-api 에서 이 기록의 근거 절을 그대로 잘라낸 15줄. 코드베이스를 측정한 것이 아니라 원본 판정이 무엇을 적었는지를 보여 준다." caption="final/document.md#a20-grpc-core-api 발췌 — 15줄" zoom="true"
:::
## RESOURCE_EXHAUSTED 는 두 출처를 갖는다
@@ -16,7 +16,7 @@ assets:
evidence:
- ../../../final/evidence/raw/grpc-policy-f01.txt
source:
- 원본 분석 절은 analysis/grpc/grpc-policy.md#L184 이다.
- 원본 분석 절은 final/document.md#a20-grpc-policy#L184 이다.
module: grpc-policy
priority: P2
---
@@ -54,7 +54,7 @@ Gradle : 9.0.0 src/gradle/wrapper/gradle-wrapper.properties 의 distributio
## 재현 조건
원문은 analysis/grpc/grpc-policy.md#L184 에 있다.
원문은 final/document.md#a20-grpc-policy#L184 에 있다.
## 본문
@@ -16,7 +16,7 @@ assets:
evidence:
- ../../../final/evidence/raw/grpc-policy-f02.txt
source:
- 원본 분석 절은 analysis/grpc/grpc-policy.md#L204 이다.
- 원본 분석 절은 final/document.md#a20-grpc-policy#L204 이다.
module: grpc-policy
priority: P2
---
@@ -58,7 +58,7 @@ Gradle : 9.0.0 src/gradle/wrapper/gradle-wrapper.properties 의 distributio
## 재현 조건
원문은 analysis/grpc/grpc-policy.md#L204 에 있다.
원문은 final/document.md#a20-grpc-policy#L204 에 있다.
## 본문
@@ -75,7 +75,7 @@ Gradle : 9.0.0 src/gradle/wrapper/gradle-wrapper.properties 의 distributio
## 두 메서드가 읽고 쓰는 방식
:::evidence key="grpc-policy-f02" alt="분석 문서 analysis/grpc/grpc-policy.md 에서 이 기록의 근거 절을 그대로 잘라낸 15줄. 코드베이스를 측정한 것이 아니라 원본 판정이 무엇을 적었는지를 보여 준다." caption="analysis/grpc/grpc-policy.md 발췌 — 15줄" zoom="true"
:::evidence key="grpc-policy-f02" alt="분석 문서 final/document.md#a20-grpc-policy 에서 이 기록의 근거 절을 그대로 잘라낸 15줄. 코드베이스를 측정한 것이 아니라 원본 판정이 무엇을 적었는지를 보여 준다." caption="final/document.md#a20-grpc-policy 발췌 — 15줄" zoom="true"
:::
## javadoc 이 이 상황을 이미 알고 있다
@@ -16,7 +16,7 @@ assets:
evidence:
- ../../../final/evidence/raw/grpc-server-f04.txt
source:
- 원본 분석 절은 analysis/grpc/grpc-server.md#L211 이다.
- 원본 분석 절은 final/document.md#a20-grpc-server#L211 이다.
module: grpc-server
priority: P2
---
@@ -58,7 +58,7 @@ Gradle : 9.0.0 src/gradle/wrapper/gradle-wrapper.properties 의 distributio
## 재현 조건
원문은 analysis/grpc/grpc-server.md#L211 에 있다.
원문은 final/document.md#a20-grpc-server#L211 에 있다.
## 본문
@@ -89,7 +89,7 @@ public Decision tryAdmit() {
## 대조군으로 지목된 클래스
:::evidence key="grpc-server-f04" alt="분석 문서 analysis/grpc/grpc-server.md 에서 이 기록의 근거 절을 그대로 잘라낸 15줄. 코드베이스를 측정한 것이 아니라 원본 판정이 무엇을 적었는지를 보여 준다." caption="analysis/grpc/grpc-server.md 발췌 — 15줄" zoom="true"
:::evidence key="grpc-server-f04" alt="분석 문서 final/document.md#a20-grpc-server 에서 이 기록의 근거 절을 그대로 잘라낸 15줄. 코드베이스를 측정한 것이 아니라 원본 판정이 무엇을 적었는지를 보여 준다." caption="final/document.md#a20-grpc-server 발췌 — 15줄" zoom="true"
:::
## 둘째 — 큐 계수기를 되돌리는 경로가 없다
@@ -14,7 +14,7 @@ assets:
evidence:
- ../../../final/evidence/raw/grpc-testkit-f06.txt
source:
- 원본 분석 절은 analysis/grpc/grpc-testkit.md#L262 이다.
- 원본 분석 절은 final/document.md#a20-grpc-testkit#L262 이다.
module: grpc-testkit
priority: P3
---
@@ -54,7 +54,7 @@ Gradle : 9.0.0 src/gradle/wrapper/gradle-wrapper.properties 의 distributio
## 재현 조건
원문은 analysis/grpc/grpc-testkit.md#L262 에 있다.
원문은 final/document.md#a20-grpc-testkit#L262 에 있다.
## 본문
@@ -15,7 +15,7 @@ assets:
evidence:
- ../../../final/evidence/raw/ipv4-only-mask-passes-every-other-form.txt
source:
- 원본 분석 절은 analysis/grpc/grpc-advanced-diagnostics.md#L123 이다.
- 원본 분석 절은 final/document.md#a20-grpc-advanced-diagnostics#L123 이다.
---
# 마스킹이 IPv4 만 알아서 검사가 나머지 주소 형태를 전부 통과시킨다
@@ -69,7 +69,7 @@ OpenJDK : 21.0.12
## 재현 조건
원문은 document-detail 의 analysis/grpc/grpc-advanced-diagnostics.md 에 있다.
원문은 document-detail 의 final/document.md#a20-grpc-advanced-diagnostics 에 있다.
1. 마스킹 함수의 정규식과 치환을 읽는다.
2. 맞지 않는 입력에서 무엇이 반환되는지 확인한다.
@@ -85,7 +85,7 @@ OpenJDK : 21.0.12
## maskAddress 가 가진 패턴
:::evidence key="ipv4-only-mask-passes-every-other-form" alt="분석 문서 analysis/grpc/grpc-advanced-diagnostics.md 에서 이 기록의 근거 절을 그대로 잘라낸 15줄. 코드베이스를 측정한 것이 아니라 원본 판정이 무엇을 적었는지를 보여 준다." caption="analysis/grpc/grpc-advanced-diagnostics.md 발췌 — 15줄" zoom="true"
:::evidence key="ipv4-only-mask-passes-every-other-form" alt="분석 문서 final/document.md#a20-grpc-advanced-diagnostics 에서 이 기록의 근거 절을 그대로 잘라낸 15줄. 코드베이스를 측정한 것이 아니라 원본 판정이 무엇을 적었는지를 보여 준다." caption="final/document.md#a20-grpc-advanced-diagnostics 발췌 — 15줄" zoom="true"
:::
## 두 규칙이 겹치면 나머지가 전부 통과한다
@@ -14,7 +14,7 @@ assets:
evidence:
- ../../../final/evidence/raw/messaging-admin-api-f02.txt
source:
- 원본 분석 절은 analysis/messaging/messaging-admin-api.md#L944 이다.
- 원본 분석 절은 final/document.md#a19-messaging-admin-api#L944 이다.
module: messaging-admin-api
priority: P3
---
@@ -48,7 +48,7 @@ Gradle : 9.0.0 src/gradle/wrapper/gradle-wrapper.properties 의 distributio
## 재현 조건
원문은 analysis/messaging/messaging-admin-api.md#L944 에 있다.
원문은 final/document.md#a19-messaging-admin-api#L944 에 있다.
## 본문
@@ -14,7 +14,7 @@ assets:
evidence:
- ../../../final/evidence/raw/messaging-admin-api-f05.txt
source:
- 원본 분석 절은 analysis/messaging/messaging-admin-api.md#L962 이다.
- 원본 분석 절은 final/document.md#a19-messaging-admin-api#L962 이다.
module: messaging-admin-api
priority: P3
---
@@ -46,7 +46,7 @@ Gradle : 9.0.0 src/gradle/wrapper/gradle-wrapper.properties 의 distributio
## 재현 조건
원문은 analysis/messaging/messaging-admin-api.md#L962 에 있다.
원문은 final/document.md#a19-messaging-admin-api#L962 에 있다.
## 본문
@@ -14,7 +14,7 @@ assets:
evidence:
- ../../../final/evidence/raw/messaging-admin-api-f07.txt
source:
- 원본 분석 절은 analysis/messaging/messaging-admin-api.md#L972 이다.
- 원본 분석 절은 final/document.md#a19-messaging-admin-api#L972 이다.
module: messaging-admin-api
priority: P3
---
@@ -44,7 +44,7 @@ Gradle : 9.0.0 src/gradle/wrapper/gradle-wrapper.properties 의 distributio
## 재현 조건
원문은 analysis/messaging/messaging-admin-api.md#L972 에 있다.
원문은 final/document.md#a19-messaging-admin-api#L972 에 있다.
## 본문
@@ -16,7 +16,7 @@ assets:
evidence:
- ../../../final/evidence/raw/messaging-admin-runtime-f01.txt
source:
- 원본 분석 절은 analysis/messaging/messaging-admin-runtime.md#L883 이다.
- 원본 분석 절은 final/document.md#a19-messaging-admin-runtime#L883 이다.
module: messaging-admin-runtime
priority: P2
---
@@ -54,7 +54,7 @@ Gradle : 9.0.0 src/gradle/wrapper/gradle-wrapper.properties 의 distributio
## 재현 조건
원문은 analysis/messaging/messaging-admin-runtime.md#L883 에 있다.
원문은 final/document.md#a19-messaging-admin-runtime#L883 에 있다.
## 본문
@@ -69,7 +69,7 @@ Gradle : 9.0.0 src/gradle/wrapper/gradle-wrapper.properties 의 distributio
## 생성자가 보는 것
:::evidence key="messaging-admin-runtime-f01" alt="분석 문서 analysis/messaging/messaging-admin-runtime.md 에서 이 기록의 근거 절을 그대로 잘라낸 15줄. 코드베이스를 측정한 것이 아니라 원본 판정이 무엇을 적었는지를 보여 준다." caption="analysis/messaging/messaging-admin-runtime.md 발췌 — 15줄" zoom="true"
:::evidence key="messaging-admin-runtime-f01" alt="분석 문서 final/document.md#a19-messaging-admin-runtime 에서 이 기록의 근거 절을 그대로 잘라낸 15줄. 코드베이스를 측정한 것이 아니라 원본 판정이 무엇을 적었는지를 보여 준다." caption="final/document.md#a19-messaging-admin-runtime 발췌 — 15줄" zoom="true"
:::
## 정확히 admin-api 가 고쳤다고 기록한 형태다
@@ -14,7 +14,7 @@ assets:
evidence:
- ../../../final/evidence/raw/messaging-admin-runtime-f05.txt
source:
- 원본 분석 절은 analysis/messaging/messaging-admin-runtime.md#L930 이다.
- 원본 분석 절은 final/document.md#a19-messaging-admin-runtime#L930 이다.
module: messaging-admin-runtime
priority: P3
---
@@ -46,7 +46,7 @@ Gradle : 9.0.0 src/gradle/wrapper/gradle-wrapper.properties 의 distributio
## 재현 조건
원문은 analysis/messaging/messaging-admin-runtime.md#L930 에 있다.
원문은 final/document.md#a19-messaging-admin-runtime#L930 에 있다.
## 본문
@@ -14,7 +14,7 @@ assets:
evidence:
- ../../../final/evidence/raw/messaging-admin-runtime-f08.txt
source:
- 원본 분석 절은 analysis/messaging/messaging-admin-runtime.md#L948 이다.
- 원본 분석 절은 final/document.md#a19-messaging-admin-runtime#L948 이다.
module: messaging-admin-runtime
priority: P3
---
@@ -42,7 +42,7 @@ Gradle : 9.0.0 src/gradle/wrapper/gradle-wrapper.properties 의 distributio
## 재현 조건
원문은 analysis/messaging/messaging-admin-runtime.md#L948 에 있다.
원문은 final/document.md#a19-messaging-admin-runtime#L948 에 있다.
## 본문
@@ -14,7 +14,7 @@ assets:
evidence:
- ../../../final/evidence/raw/messaging-observability-f05.txt
source:
- 원본 분석 절은 analysis/messaging/messaging-observability.md#L708 이다.
- 원본 분석 절은 final/document.md#a19-messaging-observability#L708 이다.
module: messaging-observability
priority: P3
---
@@ -53,7 +53,7 @@ Gradle : 9.0.0 src/gradle/wrapper/gradle-wrapper.properties 의 distributio
## 재현 조건
원문은 analysis/messaging/messaging-observability.md#L708 에 있다.
원문은 final/document.md#a19-messaging-observability#L708 에 있다.
## 본문
@@ -16,7 +16,7 @@ assets:
evidence:
- ../../../final/evidence/raw/messaging-security-f01.txt
source:
- 원본 분석 절은 analysis/messaging/messaging-security.md#L634 이다.
- 원본 분석 절은 final/document.md#a19-messaging-security#L634 이다.
module: messaging-security
priority: P2
---
@@ -61,7 +61,7 @@ Gradle : 9.0.0 src/gradle/wrapper/gradle-wrapper.properties 의 distributio
## 재현 조건
원문은 analysis/messaging/messaging-security.md#L634 에 있다.
원문은 final/document.md#a19-messaging-security#L634 에 있다.
## 본문
@@ -16,7 +16,7 @@ assets:
evidence:
- ../../../final/evidence/raw/messaging-security-f02.txt
source:
- 원본 분석 절은 analysis/messaging/messaging-security.md#L643 이다.
- 원본 분석 절은 final/document.md#a19-messaging-security#L643 이다.
module: messaging-security
priority: P2
---
@@ -61,7 +61,7 @@ Gradle : 9.0.0 src/gradle/wrapper/gradle-wrapper.properties 의 distributio
## 재현 조건
원문은 analysis/messaging/messaging-security.md#L643 에 있다.
원문은 final/document.md#a19-messaging-security#L643 에 있다.
## 본문