chore: 이전 세션이 남긴 변경을 커밋한다
이번 파이프라인 작업과 무관하게 작업 트리에 남아 있던 것을 그대로 올린다. 사용자가 「전부 커밋」으로 정했고, 이번 작업과 섞이지 않게 커밋만 나눴다. 대부분은 clean-architecture-backend-template 의 그림 정본 재배치다 — final/assets/diagrams/<이름>/ 에 있던 것이 CLAUDE.md 가 적은 배치인 final/assets/<이름>/ 로 옮겨졌고 .techviz/<이름>/ 이 함께 들어왔다. 삽입 줄의 대부분(3.15M)이 그 .techviz context.json 이다. 그 밖에 ca-tmpl·document-haness 의 정리, .claude/agents/ 열한 개, writing-practitioner-guides 스킬, .playwright-mcp 세션 산출물, scripts/check-ssot-facts.py 와 그 시험이 들어 있다. 이 커밋의 내용은 내가 만든 것이 아니라 이전 세션이 남긴 것이고 검증하지 않았다. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
2109f726fe
commit
ab59130196
+2
-1
@@ -6,13 +6,14 @@ topic: assembly-ownership
|
||||
project: clean-architecture-backend-template
|
||||
status: 게시 전
|
||||
sourceRevision: 21234e38cdb9a926cbc92bb97a2aee2e4a7d2916
|
||||
basisVersion: Spring Boot 4.0.8 · Java 21 · 리비전 21234e38
|
||||
rootTreeNode: concept:three-assembly-paths
|
||||
evidenceCapturedOn: 2026-09-01
|
||||
assets:
|
||||
- key: three-assembly-paths
|
||||
file: ../../../final/evidence/rendered/three-assembly-paths.svg
|
||||
- key: three-assembly-paths-diagram
|
||||
file: ../../../final/assets/diagrams/three-assembly-paths.svg
|
||||
file: ../../../final/assets/diagrams/three-assembly-paths/three-assembly-paths.svg
|
||||
evidence:
|
||||
- ../../../final/evidence/raw/three-assembly-paths.txt
|
||||
- ../../../final/evidence/raw/tl-web-six-unowned-components.txt
|
||||
|
||||
+2
@@ -21,6 +21,8 @@ source:
|
||||
|
||||
# 마스터 스위치는 루트 하나가 소유하고 자식 설정은 조건을 갖지 않는다
|
||||
|
||||
능력의 활성 여부는 자동설정 루트 하나가 판정하고, 그 루트가 임포트하는 자식 설정은 같은 조건을 갖지 않는다. 같은 속성을 읽는 주체가 여럿이면 각자가 다른 것이 켜졌다고 믿는 상태가 생기고, mongo 리프에서 실제로 그랬다.
|
||||
|
||||
## 결정문
|
||||
|
||||
능력의 활성 여부는 자동설정 루트 하나가 판정하고, 그 루트가 임포트하는 자식 설정은 같은 조건을 갖지 않는다.
|
||||
|
||||
+2
@@ -18,6 +18,8 @@ source:
|
||||
|
||||
# 풀이 필요한지는 "JPA가 켜졌나"가 아니라 "커넥션이 필요한 capability가 있나"로 묻는다
|
||||
|
||||
관계형 커넥션 풀을 열지 말지는 활성 능력 중 커넥션을 요구하는 것이 하나라도 있는지로 판정한다. JPA 가 꺼졌는지만 물으면 아무도 쓰지 않는 풀을 열거나, 정당하게 쓰고 있던 능력을 조용히 망가뜨린다.
|
||||
|
||||
## 결정문
|
||||
|
||||
관계형 커넥션 풀을 열지 말지는 활성 능력 중 커넥션을 요구하는 것이 하나라도 있는지로 판정한다.
|
||||
|
||||
+2
@@ -12,6 +12,8 @@ verifiedOn: # 이 기록은 이번 회차에 실행 확인을 하지
|
||||
|
||||
# @Bean이 있다는 것은 조립 증거가 아니다
|
||||
|
||||
클래스에 붙은 애너테이션이나 팩토리의 존재를 그것이 실행 컨텍스트에 있다는 증거로 읽는 것을 막는다. 애너테이션은 후보를 만들 뿐이고, 확인은 세 경로 중 어느 것이 그 클래스를 소유하는지로 한다.
|
||||
|
||||
## 목적
|
||||
|
||||
클래스에 붙은 애너테이션이나 팩토리의 존재를 그것이 실행 컨텍스트에 있다는 증거로 읽는 것을 막는다.
|
||||
|
||||
+2
@@ -12,6 +12,8 @@ verifiedOn: # 이 기록은 이번 회차에 실행 확인을 하지
|
||||
|
||||
# @ConditionalOnBean은 조건이 만족될 수 있는지까지 확인해야 한다
|
||||
|
||||
조건부 빈을 선언해 두고 그 조건을 만족시킬 수 있는 경로가 있는지 확인하지 않아, 능력 전체가 조용히 없는 상태를 막는다. Spring 은 조건 불만족을 정상 동작으로 보므로 로그에도 액추에이터에도 신호가 남지 않는다.
|
||||
|
||||
## 목적
|
||||
|
||||
조건부 빈을 선언해 두고 그 조건을 만족시킬 수 있는 경로가 있는지 확인하지 않아, 능력 전체가 조용히 없는 상태를 막는다.
|
||||
|
||||
+2
@@ -12,6 +12,8 @@ verifiedOn: # 이 기록은 이번 회차에 실행 확인을 하지
|
||||
|
||||
# "꺼짐"은 조건의 반복이 아니라 구조여야 한다
|
||||
|
||||
능력을 끄는 일을 빈마다 조건을 반복하는 방식으로 처리해서, 다음 달에 추가된 빈이 조건을 잊는 것을 막는다. 루트 하나가 조건을 소유하고 자식을 컴포넌트 스캔 밖에 두면, 제외와 소유가 한 쌍으로 관리되는 한 꺼짐이 구조가 된다.
|
||||
|
||||
## 목적
|
||||
|
||||
능력을 끄는 일을 빈마다 조건을 반복하는 방식으로 처리해서, 다음 달에 추가된 빈이 조건을 잊는 것을 막는다.
|
||||
|
||||
+2
@@ -12,6 +12,8 @@ verifiedOn: # 이 기록은 이번 회차에 실행 확인을 하지
|
||||
|
||||
# 조립 결함을 판정하려면 조립하는 쪽을 먼저 읽어야 한다
|
||||
|
||||
조립되는 쪽만 읽고 결함을 판정해서 원인을 잘못 지목하는 것을 막는다. 조립하는 쪽이 원인을 갖고, 조건 결함으로 읽느냐 중복으로 읽느냐에서 수정 방향이 갈린다.
|
||||
|
||||
## 목적
|
||||
|
||||
조립되는 쪽만 읽고 결함을 판정해서, 원인을 잘못 지목하고 수정 방향을 반대로 잡는 것을 막는다.
|
||||
|
||||
+2
@@ -12,6 +12,8 @@ verifiedOn: # 이 기록은 이번 회차에 실행 확인을 하지
|
||||
|
||||
# 시작 검증기가 도는지는 그 능력에 자동설정 루트가 있는지와 일치한다
|
||||
|
||||
검증기 파일이 존재하고 그 테스트가 통과한다는 사실을 검증이 실행된다는 증거로 읽는 것을 막는다. 규칙이 많고 잘 테스트되어 있다는 것은 품질의 증거이지 실행의 증거가 아니다.
|
||||
|
||||
## 목적
|
||||
|
||||
검증기 파일이 존재하고 그 테스트가 통과한다는 사실을 검증이 실행된다는 증거로 읽는 것을 막는다.
|
||||
|
||||
Reference in New Issue
Block a user