-
Notifications
You must be signed in to change notification settings - Fork 0
refactor(arch): api-only 후속 SSOT/KISS 정리 #715
Copy link
Copy link
Open
Labels
claude-code-assistedenhancementNew feature or requestNew feature or requestpriority/p2Important but not nextImportant but not nextseverity/mediumModerate impactModerate impactsize/mA few daysA few daysstate/trackingUmbrella or backlog tracking issueUmbrella or backlog tracking issue
Description
Summary
#713으로 backend 모듈 경계의 api-only 강제와 strict empty-set guard는 완료됐다.
다만 recent api 공개 계약 층에는 유지보수성 관점의 후속 debt가 남아 있다.
대표 후보:
backend/iam/src/main/kotlin/io/deck/iam/api/UserPublicEvents.ktbackend/iam/src/main/kotlin/io/deck/iam/api/OAuthIdentityLinkedEvent.ktbackend/iam/src/main/kotlin/io/deck/iam/api/event/*backend/iam/src/main/kotlin/io/deck/iam/api/DashboardApi.ktbackend/audit/src/main/kotlin/io/deck/audit/api/AuditApi.ktbackend/notification/src/main/kotlin/io/deck/notification/api/NotificationHistoryApi.ktbackend/common/src/main/kotlin/io/deck/common/api/exception/ApiExceptions.ktbackend/common/src/main/kotlin/io/deck/common/api/meta/LabelContracts.kt
문제는 경계 위반이 아니라, 최근 정리 과정에서 생긴 중복 계약/혼재된 파일 책임/얇은 wrapper 증가다.
이번 follow-up은 runtime behavior를 바꾸지 않고 SSOT와 KISS를 높이는 데 집중한다.
Goal
recent api-only 후속 계약을 정리해 공개 API layer의 단일 책임과 단일 계약 원천을 회복한다.
Non-Goals
- 모듈 경계 규칙 변경
- 신규 기능 추가
- FE 아키텍처 정리
api-onlyguard 완화
Tasks
- refactor(be): iam 공개 이벤트 계약을 단일 경로로 수렴합니다 #716
iam공개 이벤트 계약을 단일 경로로 수렴 - refactor(be): api query와 record contract 파일 책임을 분리합니다 #717
apiquery와 record contract 파일 책임 분리 - refactor(be): thin api wrapper와 naming 중복을 정리합니다 #718 thin
apiwrapper와 naming 중복 정리
Acceptance Criteria
- 같은 개념의 공개 이벤트 계약이 두 경로 이상에 중복되지 않는다.
api파일은 한 가지 책임만 갖고, query/manager interface와 record/dto 묶음이 과하게 섞여 있지 않다.- 얇은 re-export/typealias/wrapper는 실제 경계 가치가 있는 경우만 남고, 불필요한 indirection은 제거된다.
- strict
api-onlyguard와 기존 behavior는 유지된다.
Related
- umbrella: refactor(arch): 백오피스 확장성 개선을 위한 공통 경계 정리 #696
- completed boundary wave: refactor(arch): backend 모듈 경계를 api only로 수렴합니다 #702
- merged PR: refactor: enforce backend api-only module boundaries #713
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
claude-code-assistedenhancementNew feature or requestNew feature or requestpriority/p2Important but not nextImportant but not nextseverity/mediumModerate impactModerate impactsize/mA few daysA few daysstate/trackingUmbrella or backlog tracking issueUmbrella or backlog tracking issue