Skip to content

docs(adr): ADR-0022 Entity 수정 규칙 → conventions 이전 (분해 검토 결과: 분해 불필요)#5

Merged
1989v merged 1 commit into
mainfrom
feat/adr-0022-split
Apr 26, 2026
Merged

docs(adr): ADR-0022 Entity 수정 규칙 → conventions 이전 (분해 검토 결과: 분해 불필요)#5
1989v merged 1 commit into
mainfrom
feat/adr-0022-split

Conversation

@1989v

@1989v 1989v commented Apr 26, 2026

Copy link
Copy Markdown
Owner

Summary

ADR-0026 분류 정책 적용 — ADR-0022 를 docs/conventions/entity-mutation.md 로 전체 이동.

분해 검토 결과 — 분해 불필요

원래 계획 (ADR-0026 §5) + 외부 리뷰 의견 #2 는 "원칙 (entity 자기 보호) + 실천 (mutation 패턴)" 분해였으나, 본문 정독 후 결론은 분해 불필요:

  • 본문 frontmatter 가 "유형: Convention" 으로 자체 라벨링
  • 원칙 (캡슐화 = entity 가 자기 상태 변경의 책임) 은 이미 두 곳에 흡수:
    • ADR-0001 Clean Architecture (도메인 캡슐화 원칙)
    • docs/conventions/code-convention.md §3 (Domain 모델 생성 패턴 — private constructor + factory + private set)
  • "원칙" 만 떼면 1-2문장 추상으로 남고, 그건 이미 다른 곳에 있음
  • 분해의 실익 약함

ADR-0020 과 같은 결론으로 전체 이동. 외부 리뷰와 다른 결론이라 redirect 사유에 솔직히 명시.

처리 결과

변경 위치
본문 이동 docs/conventions/entity-mutation.md 신설
원본 ADR redirect (Status: Moved + 새 경로 + 이동 사유 + 분해 검토 결과 명시)
CLAUDE.md Key Conventions 행 갱신
doc-index.json manual_links 의 ADR-0022 sources 글랍을 conventions 경로로
ADR-0026 §5 재판정 표 0022 행 갱신 + 마지막에 "분해 검토 결과 노트" 추가 (0020/0022 케이스)

본 PR 로 ADR-0026 정책 적용 완료

ADR 상태
0014 / 0016 / 0021 / 0023 ✅ PR #3 (단순 이동)
0025 ✅ PR #1 (분해 사례)
0020 ✅ PR #4 (전체 이동)
0022 ✅ 본 PR (전체 이동)

ADR-0026 §5 재판정 표의 모든 항목 처리 완료. ADR 디렉토리는 이제 architecturally significant decision 으로만 구성됨.

Test plan

  • 본문 일치 확인
  • redirect 문서 형식 + 분해 검토 결과 명시 검토
  • doc-index.lock drift 없음
  • ADR-0026 §5 표 + 노트 검토

🤖 Generated with Claude Code

ADR-0022 분석 결과:
- 본문 frontmatter 가 "유형: Convention" 라벨
- 원칙 (entity 자기 보호 = 캡슐화) 은 이미 ADR-0001 Clean Architecture +
  docs/conventions/code-convention.md §3 (Domain 모델 생성 패턴) 에 흡수
- 본문은 그 원칙의 실천 가이드 (전체 동기화 vs 부분 수정 / 금지 패턴 / 네이밍)

→ 분해 검토 결과: ADR-0020 과 동일한 결론으로 분해 불필요, 전체 이동.

처리:
- docs/conventions/entity-mutation.md 신설
- docs/adr/ADR-0022-... → redirect (분해 검토 결과 명시)
- CLAUDE.md / doc-index.json manual_links 갱신
- ADR-0026 §5 갱신: 0022 분해 불필요 + 모든 후속 ADR 정리 완료 표시
- ADR-0026 §5 마지막에 분해 검토 결과 노트 추가 (0020/0022 케이스)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@1989v 1989v merged commit b654572 into main Apr 26, 2026
1 of 3 checks passed
@1989v 1989v deleted the feat/adr-0022-split branch April 26, 2026 10:01
1989v added a commit that referenced this pull request May 2, 2026
신규 5 주제 (#14 CRDT/MRDT, #15 Connection Pool, #16 Async/NIO, #17 Spring Web,
#18 gRPC) plan + deep file 약 100개. 기존 10 주제 (#2 JVM, #3 동시성, #4 DB,
#5 Spring TX, #6 Kafka, #7 분산시스템, #8 시스템 설계, #9 Redis, #10 Observability,
#11 K8s) deep file 일괄 추가.

흡수 처리:
- 17-1 readOnly/writable TX → #5에 흡수 (06-readonly-vs-writable + 07-replica-routing-pattern)
- 17-3 스레드 덤프 → #3에 흡수 (20-thread-dump-analysis dedicated)
- 17-3 cross-ref → #2 (13-heap-dump-mat 섹션 7)

메타 산출물 5종:
- study/docs/00-INDEX.md (660줄, 18 주제 entry + 의존 그래프 + 키워드 인덱스)
- study/docs/00-INTERVIEW-INDEX.md (1028줄, ~730 카드 통합 + 모의 시나리오 5개)
- study/docs/00-LEARNING-GUIDE.md (817줄, 3개월/6개월/9개월 트랙 + 1/2/3회독)
- study/docs/00-ADR-CANDIDATES.md (1564줄, 34 ADR 후보 + OP 25 + 10스프린트 로드맵)
- study/CLAUDE.md (155줄, study 영역 navigation)

기타 갱신:
- 11 plan.md frontmatter status: completed (2026-05-02)
- temp.md 학습 현황표 18 주제 모두 'completed + N deep files'
- 루트 CLAUDE.md Navigation 에 study/ 영역 entry

총 18 주제 / 333 deep files / ~97K 줄 + 메타 ~4.2K 줄.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1989v added a commit that referenced this pull request May 3, 2026
docs(adr): ADR-0022 Entity 수정 규칙 → conventions 이전 (분해 검토 결과: 분해 불필요)
1989v added a commit that referenced this pull request May 3, 2026
신규 5 주제 (#14 CRDT/MRDT, #15 Connection Pool, #16 Async/NIO, #17 Spring Web,
#18 gRPC) plan + deep file 약 100개. 기존 10 주제 (#2 JVM, #3 동시성, #4 DB,
#5 Spring TX, #6 Kafka, #7 분산시스템, #8 시스템 설계, #9 Redis, #10 Observability,
#11 K8s) deep file 일괄 추가.

흡수 처리:
- 17-1 readOnly/writable TX → #5에 흡수 (06-readonly-vs-writable + 07-replica-routing-pattern)
- 17-3 스레드 덤프 → #3에 흡수 (20-thread-dump-analysis dedicated)
- 17-3 cross-ref → #2 (13-heap-dump-mat 섹션 7)

메타 산출물 5종:
- study/docs/00-INDEX.md (660줄, 18 주제 entry + 의존 그래프 + 키워드 인덱스)
- study/docs/00-INTERVIEW-INDEX.md (1028줄, ~730 카드 통합 + 모의 시나리오 5개)
- study/docs/00-LEARNING-GUIDE.md (817줄, 3개월/6개월/9개월 트랙 + 1/2/3회독)
- study/docs/00-ADR-CANDIDATES.md (1564줄, 34 ADR 후보 + OP 25 + 10스프린트 로드맵)
- study/CLAUDE.md (155줄, study 영역 navigation)

기타 갱신:
- 11 plan.md frontmatter status: completed (2026-05-02)
- temp.md 학습 현황표 18 주제 모두 'completed + N deep files'
- 루트 CLAUDE.md Navigation 에 study/ 영역 entry

총 18 주제 / 333 deep files / ~97K 줄 + 메타 ~4.2K 줄.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1989v added a commit that referenced this pull request May 3, 2026
docs(adr): ADR-0022 Entity 수정 규칙 → conventions 이전 (분해 검토 결과: 분해 불필요)
1989v added a commit that referenced this pull request May 3, 2026
신규 5 주제 (#14 CRDT/MRDT, #15 Connection Pool, #16 Async/NIO, #17 Spring Web,
#18 gRPC) plan + deep file 약 100개. 기존 10 주제 (#2 JVM, #3 동시성, #4 DB,
#5 Spring TX, #6 Kafka, #7 분산시스템, #8 시스템 설계, #9 Redis, #10 Observability,
#11 K8s) deep file 일괄 추가.

흡수 처리:
- 17-1 readOnly/writable TX → #5에 흡수 (06-readonly-vs-writable + 07-replica-routing-pattern)
- 17-3 스레드 덤프 → #3에 흡수 (20-thread-dump-analysis dedicated)
- 17-3 cross-ref → #2 (13-heap-dump-mat 섹션 7)

메타 산출물 5종:
- study/docs/00-INDEX.md (660줄, 18 주제 entry + 의존 그래프 + 키워드 인덱스)
- study/docs/00-INTERVIEW-INDEX.md (1028줄, ~730 카드 통합 + 모의 시나리오 5개)
- study/docs/00-LEARNING-GUIDE.md (817줄, 3개월/6개월/9개월 트랙 + 1/2/3회독)
- study/docs/00-ADR-CANDIDATES.md (1564줄, 34 ADR 후보 + OP 25 + 10스프린트 로드맵)
- study/CLAUDE.md (155줄, study 영역 navigation)

기타 갱신:
- 11 plan.md frontmatter status: completed (2026-05-02)
- temp.md 학습 현황표 18 주제 모두 'completed + N deep files'
- 루트 CLAUDE.md Navigation 에 study/ 영역 entry

총 18 주제 / 333 deep files / ~97K 줄 + 메타 ~4.2K 줄.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1989v added a commit that referenced this pull request May 4, 2026
19-search-engine 의 99-catalog 패턴을 다른 18개 학습 주제로 확장.
각 catalog 는 공식 reference (Apache/JDK/IETF/RFC/cloud docs) 기준:
- §1 기존 deep file 매트릭스 + 갭 진단
- §2 카테고리별 개념 트리 (✅ 커버 / 🟡 부분 / ★ 신규 / skip)
- §3 우선 심화 후보 Top-N
- §4 표준 deep-dive 템플릿 (19/99 §4 재사용)
- §5 참고 자료

특징:
- #1 AWS — VPC/PrivateLink/TGW/Route53/Network Firewall/Global Accelerator/IPAM
- #2 JVM — JDK 21+ Generational ZGC/CRaC/Leyden/Lilliput/JEP 트래커
- #3 동시성 — Loom Structured Concurrency/Scoped Values/VarHandle/Flow operators
- #4 DB — Window/CTE/Generated columns/Partitioning/PG MVCC/Replication
- #5 Spring TX — REQUIRES_NEW connection 점유/AbstractRoutingDataSource/Reactive TX
- #6 Kafka — KRaft/Tiered Storage/Streams DSL/Schema Registry/Connect SMT
- #7 분산 — Quorum/Gossip/Service Mesh/Saga/CRDT cross/Chaos Engineering
- #8 시스템 설계 — 30+ 표준 시나리오 + 14개 핵심 의사결정 카드
- #9 Redis — Stream Consumer Group/Functions/RESP3/Client Caching/Modules
- #10 Observability — OTel Collector/Continuous Profiling/eBPF/SLO Burn Rate
- #11 K8s — Gateway API/KEDA/Karpenter/Cilium/ValidatingAdmissionPolicy
- #12 Latency — Tail at Scale/Little's Law/HdrHistogram/CRaC/io_uring
- #13 Crypto — OAuth 2.1/DPoP/PASETO/AEAD nonce/Post-Quantum (Kyber/Dilithium)
- #14 CRDT — δ-CRDT/Tree CRDT (Move op)/Loro/Local-first
- #15 Pool — PgBouncer/RDS Proxy/R2DBC pool/Lettuce ClusterClientOptions
- #16 Async — io_uring/Reactor Context/Netty ByteBuf/Loom vs Reactive
- #17 Spring Web — VirtualThread executor/ProblemDetail/HTTP Interface clients
- #18 gRPC — Buf workflow/xDS/ConnectRPC/Health protocol/Service config

19-INDEX / temp.md 의 19 주제 카드에 99-catalog 표기 동기화.

Phase B: 18개 catalog 합 4,180 줄 (#19 catalog 581 줄 별도)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1989v added a commit that referenced this pull request May 17, 2026
리뷰어 지적 10건 중 9건 반영 (docs-health 는 별도 도메인이라 제외).

[HIGH] #1 submodule pointer bump 감지 누락
  case 'auth/*' 만 매칭하면 'auth' (bare name, submodule pointer diff path) 가
  스킵됨 → submodule-bump 가 push 한 commit 으로 이미지 재빌드 안됨.
  fix: 'auth|auth/*)' 'gifticon|gifticon/app/*|gifticon/domain/*)' 로 확장.

[HIGH] #5 tag push 의 commit-back 위험
  refs/tags/v* push 는 detached HEAD → git push to main 실패.
  fix: commit-back step 에 if: github.ref == 'refs/heads/main' 추가.

[MEDIUM] #7 조기 종료가 실제 step 만 종료, job 안 끝남
  변경 없음 step 의 exit 0 다음에도 OCIR login / yq install 등 실행됨.
  fix: 후속 step 들에 if: steps.changes.outputs.kustomize_services != '' 추가.

[MEDIUM] #2 PR 검증 약함 — compile gate 복귀
  ci.yml 에 compile-gate job 추가 — ./gradlew compileKotlin compileJava.
  test 는 부담 커서 제외 (images.yml 에서 jib 가 빌드 검증함).
  kustomize-validate 와 병렬 실행.

[MEDIUM] #6 hang 방지
  모든 job 에 timeout-minutes 추가:
  - images publish: 60m
  - submodule-bump: 10m
  - ci compile-gate: 20m
  - ci kustomize-validate: 5m

[LOW] #10 워크플로 README 갱신
  옛 build/jib-build 설명 → 현재 구현 (compile-gate + incremental images + OCIR).

[LOW] #3 GitHub App token scope 재활성
  v3 의 repositories: 옵션으로 msa/msa-auth/msa-gifticon 만 토큰 발급.
  최소권한 원칙 + App 이 위 3개에 정확히 설치돼있어야 동작 (현재 OK).

[LOW] #4 create-github-app-token v1 → v3
  현재 maintenance. 사용 인자 (app-id/private-key) 동일이라 무중단 migration.

(별도) #8 Argo placeholder 흐름은 이미 application.yaml + install.sh 로 처리됨.
(스킵) #9 docs-health 권한은 별도 도메인 — 이번 commit 범위 외.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant